| | |
| | | #pragma once |
| | | #include <map> |
| | | #include "CRecipeList.h" |
| | | #include <functional> |
| | | |
| | | |
| | | #define SS_NONE 0 |
| | | #define SS_SYNCING 1 |
| | | #define SS_COMPLETE 2 |
| | | #define SS_TIMEOUT 3 |
| | | #define SS_FAILED 4 |
| | | #define SS_LIST_COMPLETE 2 |
| | | #define SS_PARAMS_COMPLETE 3 |
| | | #define SS_TIMEOUT 4 |
| | | #define SS_FAILED 5 |
| | | |
| | | namespace SERVO { |
| | | typedef std::function<void(int state)> ONSYNCINGSTATECHANGED; |
| | | |
| | | class CRecipesManager |
| | | { |
| | | public: |
| | |
| | | virtual ~CRecipesManager(); |
| | | |
| | | public: |
| | | void setOnSyncingStateChanged(ONSYNCINGSTATECHANGED block); |
| | | unsigned TimeoutCheckWorkingProc(); |
| | | int syncing(); |
| | | void syncFailed(); |
| | | int decodeRecipeListReport(const char* pszData, size_t size); |
| | | void syncTimeout(); |
| | | short decodeRecipeListReport(const char* pszData, size_t size); |
| | | short decodeRecipeParameterReport(const char* pszData, size_t size); |
| | | CRecipeList* getRecipeListFromTemp(int unitNo); |
| | | CRecipeList* getRecipeList(int unitNo); |
| | | bool saveRecipeList(int unitNo, std::string& strFilepath); |
| | | bool readRecipeList(int unitNo, std::string& strFilepath); |
| | | |
| | | public: |
| | | inline void lock() { ::EnterCriticalSection(&m_cs); }; |
| | |
| | | CRITICAL_SECTION m_cs; // 同步锁 |
| | | int m_nSyncStatus; |
| | | int m_nTotalMasterRecipeCount; |
| | | int m_nTotalParameterCount; |
| | | std::map<int, CRecipeList*> m_mapRecipes; |
| | | std::map<int, CRecipeList*> m_mapRecipesTemp; |
| | | ONSYNCINGSTATECHANGED m_onSyncingStateChanged; |
| | | }; |
| | | } |
| | | |