81 lines
3.1 KiB
C
Raw Normal View History

2025-03-12 11:08:50 +08:00
/**
@file RtdbOperate.h
@brief
@author
*/
#pragma once
#include "rdb_api/CRdbAccessEx.h"
#include "NodeMngCommon.h"
#include "sys_node_mng_api/SysRunRedundantInfoTable.h"
#include "sys_node_mng_api/SysRunRedundantCmdTable.h"
#include "sys_proc_mng_api/SysRunAppInfoTable.h"
namespace kbd_sys
{
class CRdbOperate
{
public:
CRdbOperate();
virtual ~CRdbOperate();
/**
@brief
@return kbdSuccess,kbdFailed
*/
int initialize();
/**
@brief sys_run_redundancy_cmd记录
@param const SRunRedundantCmdKey & stKey
@return kbdSuccess,kbdFailed
*/
int deleteFromRedundancyCmd(const SRunRedundancyCmdKey &stKey);
/**
@brief sys_run_redundancy_cmd中增加记录
@param const SRunRedundancyCmd & stRecord
@param const bool bDelBeforeInsert insert前是否先delete
@return kbdSuccess,kbdFailed
*/
int insertToRedundancyCmd(const SRunRedundancyCmd &stRecord, const bool bDelBeforeInsert);
/**
@brief sys_run_redundancy_info中增加记录
@param const SRunRedundancyInfo & stRecord
@param const bool bDelBeforeInsert insert前是否先delete
@return kbdSuccess,kbdFailed
*/
int insertToRedundancyInfo(const SRunRedundancyInfo &stRecord, const bool bDelBeforeInsert);
/**
@brief sys_run_redundancy_info记录
@param const SRunRedundancyInfoKey & stKey
@param std::vector<kbd_dbms::RSQL_UPD_COLUMN> vecCol
@return kbdSuccess,kbdFailed
*/
int updateRedundancyInfo(const SRunRedundancyInfoKey &stKey, std::vector<kbd_dbms::RSQL_UPD_COLUMN> vecCol);
/**
@brief sys_run_app_info指定记录信息
@param const STableRunAppInfoKey & stAppInfoKey
@param STableRunAppInfo & stRunAppInfo
@return kbdSuccess,kbdFailed
*/
int getLocalRunAppInfo(const STableRunAppInfoKey &stAppInfoKey, STableRunAppInfo &stRunAppInfo);
private:
/**
@brief
@return kbdSucess,
*/
void cleanAndCloseAllTable();
private:
kbd_dbms::CRdbAccessEx m_objRunRedundancyCmdTable; //< sys_run_redundancy_cmd表
boost::mutex m_objRedundancyCmdMutex; //< sys_run_redundancy_cmd互斥量
kbd_dbms::CRdbAccessEx m_objRunRedundancyInfoTable; //< sys_run_redundancy_info表
boost::mutex m_objRedundancyInfoMutex; //< sys_run_redundancy_info互斥量
kbd_dbms::CRdbAccessEx m_objRunAppInfoTable; //< sys_run_app_info表
boost::mutex m_objAppInfoMutex; //< sys_run_app_info互斥量
};
typedef boost::shared_ptr<CRdbOperate> CRdbOperatePtr;
}//namespace kbd_sys