+// timers.h - Timers subroutines header.
+//
+// (c) 2012-2015 Xestia Software Development.
+//
+// This file is part of Xestia Address Book.
+//
+// Xestia Address Book is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Address Book is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
+
#include <map>
#include <wx/timer.h>
#include <wx/wx.h>
#include <mutex>
-#include "../frmActivityMgr.h"
+#include <atomic>
+#include "../actmgr/frmActivityMgr.h"
#include "../contacteditor/frmContactEditor.h"
#include "etag.h"
class wxActTimer : public wxTimer
{
- private:
- int intActivityProgress = 0;
- wxStaticBitmap *bmpActivity;
- wxBitmap *SleepBitmapPtr;
- void *frmMainPtr;
- public:
+private:
+ int intActivityProgress = 0;
+ wxStaticBitmap *bmpActivity;
+ wxBitmap *SleepBitmapPtr;
+ void *frmMainPtr;
+public:
wxActTimer():wxTimer()
{
}
void StopAnimation();
void SetSleepBitmap(wxBitmap *SleepBitmap);
void SetupPointer(void *frmMainPtrIn);
-
+
};
class wxActProcessTimer : public wxTimer
{
-
- private:
- int intActivityProgress = 0;
- wxStaticBitmap *bmpActivity;
- void *ActMgrPtr;
- public:
+
+private:
+ int intActivityProgress = 0;
+ wxStaticBitmap *bmpActivity;
+ void *ActMgrPtr;
+public:
wxActProcessTimer():wxTimer()
{
}
void Notify();
void SetupPointers(void *ActMgr);
-
+
};
class wxActListProcTimer : public wxTimer
{
-
- private:
- std::map<int,int> *ActListPtr;
- std::map<int,long> *ActListUIPtr;
- std::map<int,wxString> *ActListDetailPtr;
- wxListCtrl *lstActivityPtr;
- wxStaticText *lblDetailsPtr;
- bool *TasksActivePtr;
- wxGauge *GauProgressPtr;
- void *ActMgrPtr;
- int intActivityTotal = 0;
- int intActivityCompleted = 0;
- wxActTimer *ActTimerPtr;
- wxActProcessTimer *ActProcessTimerPtr;
- std::map<int,wxDateTime> *ActListFinDTPtr;
- bool ClearupProcessed = FALSE;
- public:
+
+private:
+ std::map<int,int> *ActListPtr;
+ std::map<int,long> *ActListUIPtr;
+ std::map<int,wxString> *ActListDetailPtr;
+ std::map<int,CardDAV*> *ActListConnPtr;
+ wxListCtrl *lstActivityPtr;
+ wxStaticText *lblDetailsPtr;
+ bool *TasksActivePtr;
+ wxGauge *GauProgressPtr;
+ void *ActMgrPtr;
+ int intActivityTotal = 0;
+ int intActivityCompleted = 0;
+ wxActTimer *ActTimerPtr;
+ wxActProcessTimer *ActProcessTimerPtr;
+ std::map<int,wxDateTime> *ActListFinDTPtr;
+ bool ClearupProcessed = FALSE;
+public:
wxActListProcTimer():wxTimer()
{
}
void Notify();
- void SetupPointers(std::map<int,int> *ActList, std::map<int,long> *ActListUI,
- std::map<int,wxString> *ActListDetail, bool *TasksActive,
- wxListCtrl *lstActivity, wxStaticText *lblDetails, wxGauge *GauProgress,
- void *ActMgr, wxActTimer *ActTimer, wxActProcessTimer *ActProcessTimer,
- std::map<int,wxDateTime> *ActListFinDT);
+ void SetupPointers(std::map<int,int> *ActList, std::map<int,long> *ActListUI,
+ std::map<int,wxString> *ActListDetail, bool *TasksActive,
+ wxListCtrl *lstActivity, wxStaticText *lblDetails, wxGauge *GauProgress,
+ void *ActMgr, wxActTimer *ActTimer, wxActProcessTimer *ActProcessTimer,
+ std::map<int,wxDateTime> *ActListFinDT, std::map<int, CardDAV*> *ActListConn);
void EnableClearup();
-
+
};
class wxETagProcessTimer : public wxTimer
{
- private:
- int intActivityProgress = 0;
- std::map<wxString,ETagDB> ETagDBList;
- //std::map<int,ETagDB2> ETagDBListv3;
- std::mutex ReloadLock;
- public:
+private:
+ int intActivityProgress = 0;
+ std::map<wxString,ETagDB> ETagDBList;
+ //std::map<int,ETagDB2> ETagDBListv3;
+ std::mutex ReloadLock;
+public:
wxETagProcessTimer():wxTimer()
{
- ReloadAccounts();
+ 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:
+private:
+ bool FileStatus = FALSE;
+ wxString Filename;
+ frmContactEditor *frmCEPtr;
+ wxDateTime FileDateTime;
+public:
wxContactFileMonitorTimer():wxTimer()
{
}
class wxContactWindowMonitor : public wxTimer
{
- private:
- std::map<wxString, void*> *ContactWindowListPtr;
- public:
+private:
+ std::map<wxString, void*> *ContactWindowListPtr;
+public:
wxContactWindowMonitor():wxTimer()
{
}
class wxAccountSyncTimer : public wxTimer
{
- private:
- wxString AccName;
- wxString AccNameFull;
- void *frmMainPtr;
- void *frmActMgrPtr;
- ETagDB *ETagDBPtr;
- int intTaskID;
- public:
+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 *frmACtMgrPtr, ETagDB *ETagDBPtrInc);
+
};
void SleepFor(unsigned long longSleepNanoSecs);