/* Copyright (C) 2011-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: DkWxBmepsThread.cpt */ /** @file DkWxBmepsThread.h Header file for the DkWxBmepsThread module. */ #ifndef DKWXBMEPSTHREAD_H_INCLUDED /** Avoid multiple inclusions. */ #define DKWXBMEPSTHREAD_H_INCLUDED 1 #line 9 "DkWxBmepsThread.cpt" /** Worker thread for wxbmeps. */ class DkWxBmepsThread : public wxThread { protected: /** Conversion options. */ dk3_bm_eps_options_t bmeo; /** Communication object to communicate with main thread. */ DkWxCommunicator *pComm; /** Localized messages, wxChar strings. */ wxChar const * const *sTexts; /** Localized messages, dkChar strings. */ dkChar const * const *msg; /** Directory or file name. */ wxChar const *sDirectory; /** Application helper. */ DkWxAppHelper *pHelper; /** Encoding for wxChar strings. */ int wxenc; /** Encoding for dkChar strings. */ int dkenc; public: /** Constructor. @param pc Communication object. @param st Localized messages, wxChar strings. @param m Localized messages, dkChar strings. @param sd Directory or file name. @param ph Application helper. @param wxe Encoding for wxChar strings. @param dke Encoding for dkChar strings. @param bmeoptr Conversion options. */ DkWxBmepsThread( DkWxCommunicator *pc, wxChar const * const *st, dkChar const * const *m, wxChar const *sd, DkWxAppHelper *ph, int wxe, int dke, dk3_bm_eps_options_t *bmeoptr ); /** Destructor. */ ~DkWxBmepsThread(); /** Check setup (memory allocations succeeded). @return Test result, true on success, false on error. */ bool checkSetup(); /** Thread function. @return A pointer which is ignored. */ virtual void * Entry(); /** Function executed at end of thread, does nothing. */ virtual void OnExit(); /** Run for one file. @param fn File name. @param ming Minimum value for progress bar. @param maxg Maximum value for progress bar. */ void runForFile(wxChar const *fn, int ming, int maxg); /** Run for one directory. @param dn Directory name. */ void runForDirectory(wxChar const *dn); /** Check whether we must run for a file. @param sfn Source file name. @return true for must run, false for not necessary. */ bool checkMustRun(wxChar const *sfn); /** Get short file name. @param longName Full file name. @return Pointer to short file name on success, NULL on error. */ wxChar const * shortFileName(wxChar const *longName); }; #endif