| SourceCode/Bond/Servo/SECSConfigManager.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/Servo/SECSRuntimeManager.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/Servo/SECSRuntimeManager.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/Servo/Servo.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/Servo/Servo.vcxproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/Servo/Servo.vcxproj.filters | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
SourceCode/Bond/Servo/SECSConfigManager.h
ÎļþÒÑɾ³ý SourceCode/Bond/Servo/SECSRuntimeManager.cpp
ÎļþÃû´Ó SourceCode/Bond/Servo/SECSConfigManager.cpp ÐÞ¸Ä @@ -1,26 +1,26 @@ #include "stdafx.h" #include "SECSConfigManager.h" #include "SECSRuntimeManager.h" // 常é const std::string DATABASE_FILE = R"(SECSConfigManager.db)"; const std::string DATABASE_FILE = R"(SECSRuntimeManager.db)"; // éææååå§å std::mutex SECSConfigManager::m_mutex; std::mutex SECSRuntimeManager::m_mutex; // è·ååä¾å®ä¾ SECSConfigManager& SECSConfigManager::getInstance() { static SECSConfigManager instance; SECSRuntimeManager& SECSRuntimeManager::getInstance() { static SECSRuntimeManager instance; return instance; } // æé 彿° SECSConfigManager::SECSConfigManager() { SECSRuntimeManager::SECSRuntimeManager() { m_pDB = new BL::SQLiteDatabase(); } // ææå½æ° SECSConfigManager::~SECSConfigManager() { termSECSSetting(); SECSRuntimeManager::~SECSRuntimeManager() { termRuntimeSetting(); if (m_pDB != nullptr) { delete m_pDB; @@ -29,13 +29,13 @@ } // è®¾ç½®æ°æ®åºè¿æ¥ void SECSConfigManager::setDatabase(BL::Database* db) { void SECSRuntimeManager::setDatabase(BL::Database* db) { std::lock_guard<std::mutex> lock(m_mutex); m_pDB = db; } // åå§åSECS设置管çåº bool SECSConfigManager::initSECSSetting() { bool SECSRuntimeManager::initRuntimeSetting() { char path[MAX_PATH]; GetModuleFileName(NULL, path, MAX_PATH); std::string exePath(path); @@ -53,7 +53,7 @@ } // 鿝SECS设置管çåº void SECSConfigManager::termSECSSetting() { void SECSRuntimeManager::termRuntimeSetting() { if (m_pDB != nullptr) { m_pDB->disconnect(); } SourceCode/Bond/Servo/SECSRuntimeManager.h
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,46 @@ #ifndef SECS_RUNTIME_MANAGER_H #define SECS_RUNTIME_MANAGER_H #include <string> #include <vector> #include <mutex> #include "Database.h" class SECSRuntimeManager { public: /** * è·ååä¾å®ä¾ * @return SECSRuntimeManagerå®ä¾çå¼ç¨ */ static SECSRuntimeManager& getInstance(); /** * è®¾ç½®æ°æ®åºè¿æ¥ * @param db æ°æ®åºè¿æ¥çæé */ void setDatabase(BL::Database* db); /** * åå§åSECSè¿è¡è®¾ç½®ç®¡çåº * @return æåè¿åtrueï¼å¤±è´¥è¿åfalse */ bool initRuntimeSetting(); /** * 鿝SECSè¿è¡è®¾ç½®ç®¡çåº */ void termRuntimeSetting(); private: SECSRuntimeManager(); ~SECSRuntimeManager(); // ç¦æ¢æ·è´åèµå¼ SECSRuntimeManager(const SECSRuntimeManager&) = delete; SECSRuntimeManager& operator=(const SECSRuntimeManager&) = delete; BL::Database* m_pDB; static std::mutex m_mutex; }; #endif // SECS_RUNTIME_MANAGER_H SourceCode/Bond/Servo/Servo.cpp
@@ -7,7 +7,7 @@ #include "ServoDlg.h" #include "ServoGraph.h" #include "AlarmManager.h" #include "SECSConfigManager.h" #include "SECSRuntimeManager.h" // 声æå ¨å±åéï¼ç¨äºç®¡ç GDI+ åå§å ULONG_PTR g_diplusToken; @@ -118,16 +118,16 @@ } // åå§åSECS设置管çåº // åå§åSECSè¿è¡è®¾ç½®ç®¡çåº try { if (!SECSConfigManager::getInstance().initSECSSetting()) { AfxMessageBox("åå§åSECS设置管çåºå¤±è´¥ï¼"); if (!SECSRuntimeManager::getInstance().initRuntimeSetting()) { AfxMessageBox("åå§åSECSè¿è¡è®¾ç½®å¤±è´¥ï¼"); return FALSE; } } catch (const std::exception& ex) { CString errorMsg; errorMsg.Format(_T("åå§åSECS设置管çåºå¤±è´¥ï¼%s"), CString(ex.what())); errorMsg.Format(_T("åå§åSECSè¿è¡è®¾ç½®å¤±è´¥ï¼%s"), CString(ex.what())); AfxMessageBox(errorMsg, MB_ICONERROR); return FALSE; } @@ -175,8 +175,8 @@ // 鿝æ¥è¦è¡¨ AlarmManager::getInstance().termAlarmTable(); // 鿝SECS设置管çåº SECSConfigManager::getInstance().termSECSSetting(); // 鿝SECSè¿è¡è®¾ç½®ç®¡çåº SECSRuntimeManager::getInstance().termRuntimeSetting(); return CWinApp::ExitInstance(); } SourceCode/Bond/Servo/Servo.vcxproj
@@ -204,7 +204,7 @@ <ClInclude Include="LogEdit.h" /> <ClInclude Include="Model.h" /> <ClInclude Include="Resource.h" /> <ClInclude Include="SECSConfigManager.h" /> <ClInclude Include="SECSRuntimeManager.h" /> <ClInclude Include="SecsTestDlg.h" /> <ClInclude Include="Servo.h" /> <ClInclude Include="ServoDlg.h" /> @@ -224,7 +224,7 @@ <ClCompile Include="LogDlg.cpp" /> <ClCompile Include="LogEdit.cpp" /> <ClCompile Include="Model.cpp" /> <ClCompile Include="SECSConfigManager.cpp" /> <ClCompile Include="SECSRuntimeManager.cpp" /> <ClCompile Include="SecsTestDlg.cpp" /> <ClCompile Include="Servo.cpp" /> <ClCompile Include="ServoDlg.cpp" /> SourceCode/Bond/Servo/Servo.vcxproj.filters
@@ -23,7 +23,7 @@ <ClCompile Include="ServoGraph.cpp" /> <ClCompile Include="stdafx.cpp" /> <ClCompile Include="TerminalDisplayDlg.cpp" /> <ClCompile Include="SECSConfigManager.cpp" /> <ClCompile Include="SECSRuntimeManager.cpp" /> </ItemGroup> <ItemGroup> <ClInclude Include="AlarmManager.h" /> @@ -45,7 +45,7 @@ <ClInclude Include="stdafx.h" /> <ClInclude Include="targetver.h" /> <ClInclude Include="TerminalDisplayDlg.h" /> <ClInclude Include="SECSConfigManager.h" /> <ClInclude Include="SECSRuntimeManager.h" /> </ItemGroup> <ItemGroup> <ResourceCompile Include="Servo.rc" />