darker
2025-02-11 23a50ec03beb2a4d99cc89766256a053d1d19727
1. 修改SECS数据库管理类的名称,之前的名称不适合
已重命名1个文件
已添加1个文件
已删除1个文件
已修改3个文件
136 ■■■■ 文件已修改
SourceCode/Bond/Servo/SECSConfigManager.h 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/SECSRuntimeManager.cpp 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/SECSRuntimeManager.h 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Servo.cpp 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Servo.vcxproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Servo.vcxproj.filters 4 ●●●● 补丁 | 查看 | 原始文档 | 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" />