#include #include #include #include #include "../frmActivityMgr.h" #include "../contacteditor/frmContactEditor.h" #include "etag.h" #ifndef TIMERS_H #define TIMERS_H struct ETagDB; struct frmContactEditor; class wxActTimer : public wxTimer { private: int intActivityProgress = 0; wxStaticBitmap *bmpActivity; wxBitmap *SleepBitmapPtr; void *frmMainPtr; public: wxActTimer():wxTimer() { } void Notify(); void SetBitmap(wxStaticBitmap *ActMgr); void ResetBitmap(); void StartAnimation(); void StopAnimation(); void SetSleepBitmap(wxBitmap *SleepBitmap); void SetupPointer(void *frmMainPtrIn); }; class wxActProcessTimer : public wxTimer { private: int intActivityProgress = 0; wxStaticBitmap *bmpActivity; void *ActMgrPtr; public: wxActProcessTimer():wxTimer() { } void Notify(); void SetupPointers(void *ActMgr); }; class wxActListProcTimer : public wxTimer { private: std::map *ActListPtr; std::map *ActListUIPtr; std::map *ActListDetailPtr; wxListCtrl *lstActivityPtr; wxStaticText *lblDetailsPtr; bool *TasksActivePtr; wxGauge *GauProgressPtr; void *ActMgrPtr; int intActivityTotal = 0; int intActivityCompleted = 0; wxActTimer *ActTimerPtr; wxActProcessTimer *ActProcessTimerPtr; std::map *ActListFinDTPtr; bool ClearupProcessed = FALSE; public: wxActListProcTimer():wxTimer() { } void Notify(); void SetupPointers(std::map *ActList, std::map *ActListUI, std::map *ActListDetail, bool *TasksActive, wxListCtrl *lstActivity, wxStaticText *lblDetails, wxGauge *GauProgress, void *ActMgr, wxActTimer *ActTimer, wxActProcessTimer *ActProcessTimer, std::map *ActListFinDT); void EnableClearup(); }; class wxETagProcessTimer : public wxTimer { private: int intActivityProgress = 0; std::map ETagDBList; //std::map ETagDBListv3; std::mutex ReloadLock; public: wxETagProcessTimer():wxTimer() { ReloadAccounts(); } void Notify(); ETagDB* GetPointer(wxString Filename); void ReloadAccounts(); //void SetupPointers(frmActivityMgr *ActMgr); }; class wxContactFileMonitorTimer : public wxTimer { private: bool FileStatus = FALSE; wxString Filename; frmContactEditor *frmCEPtr; wxDateTime FileDateTime; public: wxContactFileMonitorTimer():wxTimer() { } void Notify(); void SetFilename(wxString FilenameInc); void SetupPointers(frmContactEditor *frmCEPtrInc); void UpdateTimestamp(); }; class wxContactWindowMonitor : public wxTimer { private: std::map *ContactWindowListPtr; public: wxContactWindowMonitor():wxTimer() { } void Notify(); void SetupPointers(std::map *ContactWindowListPtrInc); }; class wxAccountSyncTimer : public wxTimer { private: wxString AccName; wxString AccNameFull; void *frmMainPtr; void *frmActMgrPtr; ETagDB *ETagDBPtr; int intTaskID; public: wxAccountSyncTimer():wxTimer() { } void Notify(); void SetupData(wxString AccNameInc, wxString AccNameFull); void SetupPointers(void *frmMainPtrInc, void *frmACtMgrPtr, ETagDB *ETagDBPtrInc); }; void SleepFor(unsigned long longSleepNanoSecs); #endif