My Project
|
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 #pragma once 00029 #include "define.h" 00030 #include "Scheduler.h" 00031 #include "AutoLock.h" 00032 00033 namespace SallyAPI 00034 { 00035 namespace Scheduler 00036 { 00045 00046 class DLL_API_SALLY CSchedulerManager 00047 { 00048 private: 00049 static SallyAPI::Scheduler::CSchedulerManager* m_pObject; 00050 SallyAPI::System::CCritSection m_critSect; 00051 std::vector<SallyAPI::Scheduler::CScheduler> m_vScheduler; 00052 00053 void SchedulerCanceled(SallyAPI::Scheduler::CScheduler& scheduler); 00054 void SchedulerFinished(SallyAPI::Scheduler::CScheduler& scheduler); 00055 void ExecuteScheduler(SallyAPI::Scheduler::CScheduler& scheduler); 00056 void ResetScheduler(SallyAPI::Scheduler::CScheduler& scheduler); 00057 std::string GetLastSchedulerRunAsString(SallyAPI::Scheduler::CScheduler& scheduler); 00058 SYSTEMTIME GetLastSchedulerRun(SallyAPI::Scheduler::CScheduler& scheduler); 00059 00060 CSchedulerManager(); 00061 ~CSchedulerManager(); 00062 public: 00063 static SallyAPI::Scheduler::CSchedulerManager* GetInstance(); 00064 static void DeleteInstance(); 00065 00066 void AddScheduler(const SallyAPI::Scheduler::CScheduler& scheduler); 00067 void CheckScheduler(); 00068 00069 void RemoveScheduler(const std::string& explicidAppName, const std::string& identifier); 00070 void RemoveScheduler(SallyAPI::GUI::CAppBase* appBase, const std::string& identifier); 00071 00072 void ExecuteScheduler(const std::string& explicidAppName, const std::string& identifier); 00073 void ExecuteScheduler(SallyAPI::GUI::CAppBase* appBase, const std::string& identifier); 00074 00075 void SchedulerFinished(const std::string& explicidAppName, const std::string& identifier); 00076 void SchedulerFinished(SallyAPI::GUI::CAppBase* appBase, const std::string& identifier); 00077 00078 void SchedulerCanceled(const std::string& explicidAppName, const std::string& identifier); 00079 void SchedulerCanceled(SallyAPI::GUI::CAppBase* appBase, const std::string& identifier); 00080 00081 void ResetScheduler(const std::string& explicidAppName, const std::string& identifier); 00082 void ResetScheduler(SallyAPI::GUI::CAppBase* appBase, const std::string& identifier); 00083 00084 void SetSchedulerStatus(const std::string& explicidAppName, const std::string& identifier, SallyAPI::Scheduler::SCHEDULER_STATUS status); 00085 void SetSchedulerStatus(SallyAPI::GUI::CAppBase* appBase, const std::string& identifier, SallyAPI::Scheduler::SCHEDULER_STATUS status); 00086 00087 SallyAPI::Scheduler::SCHEDULER_STATUS GetSchedulerStatus(const std::string& explicidAppName, const std::string& identifier); 00088 SallyAPI::Scheduler::SCHEDULER_STATUS GetSchedulerStatus(SallyAPI::GUI::CAppBase* appBase, const std::string& identifier); 00089 00090 std::string GetLastSchedulerRunAsString(const std::string& explicidAppName, const std::string& identifier); 00091 std::string GetLastSchedulerRunAsString(SallyAPI::GUI::CAppBase* appBase, const std::string& identifier); 00092 00093 SYSTEMTIME GetLastSchedulerRun(const std::string& explicidAppName, const std::string& identifier); 00094 SYSTEMTIME GetLastSchedulerRun(SallyAPI::GUI::CAppBase* appBase, const std::string& identifier); 00095 }; 00096 } 00097 }