401 lines
13 KiB
C
401 lines
13 KiB
C
|
|
|
|||
|
|
/******************************************************************************//**
|
|||
|
|
* @file SysInfoImp.h
|
|||
|
|
* @brief 系统建模信息访问库实现
|
|||
|
|
* @author yikenan
|
|||
|
|
* @version 1.0
|
|||
|
|
* @date
|
|||
|
|
**********************************************************************************/
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "pub_sysinfo_api/SysInfoApi.h"
|
|||
|
|
#include "SysInfoData.h"
|
|||
|
|
|
|||
|
|
namespace kbd_public
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
class CSysInfoImp : public CSysInfoInterface
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
CSysInfoImp();
|
|||
|
|
virtual ~CSysInfoImp();
|
|||
|
|
|
|||
|
|
bool loadData();
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 命令行打印输出全部的配置信息,可供测试、调试使用
|
|||
|
|
@param
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
void printAllData()override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 重新加载所有数据
|
|||
|
|
*/
|
|||
|
|
bool reloadAllData()override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取所有的应用信息
|
|||
|
|
@param std::vector<SAppInfo> & vecAppInfo 返回的应用信息列表
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAllAppInfo(std::vector<SAppInfo> &vecAppInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取所有域的信息
|
|||
|
|
@param std::vector<SDomainInfo> & vecDomainInfo 返回的域信息列表
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAllDomainInfo(std::vector<SDomainInfo> &vecDomainInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取所有位置信息
|
|||
|
|
@param std::vector<SLocationInfo> & vecLocationInfo 返回的位置信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAllLocationInfo(std::vector<SLocationInfo> &vecLocationInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取所有的节点信息
|
|||
|
|
@param std::vector<SNodeInfo> & vecNodeInfo 返回的节点信息列表
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAllNodeInfo(std::vector<SNodeInfo> &vecNodeInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取所有的专业信息
|
|||
|
|
@param std::vector<SSubsystemInfo> & vecSubsystemInfo 返回的专业信息列表
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAllSubsystemInfo(std::vector<SSubsystemInfo> &vecSubsystemInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取指定域、应用的应用部署信息
|
|||
|
|
@param int nDomainId 域号
|
|||
|
|
@param int nAppId 应用号
|
|||
|
|
@param SAppDeploy & stAppDeploy 返回的应用部署信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAppDeployById(int nDomainId, int nAppId, SAppDeploy &stAppDeploy)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取指定域、应用的应用部署信息
|
|||
|
|
@param const std::string & strDomainName 域名
|
|||
|
|
@param const std::string & strAppName 专业名
|
|||
|
|
@param SAppDeploy & stAppDeploy 返回的应用部署信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAppDeployByName(const std::string &strDomainName, const std::string &strAppName, SAppDeploy &stAppDeploy)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取指定节点的应用部署信息
|
|||
|
|
@param std::string strNodeName 节点名
|
|||
|
|
@param std::vector<SAppDeploy> & vecAppDeploy 返回的应用部署信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAppDeployByNodeName(const std::string &strNodeName, std::vector<SAppDeploy> &vecAppDeploy)override;
|
|||
|
|
|
|||
|
|
//virtual int getSubsystemListByNodeId(int nNodeId,std::vector<SSubsystemInfo> &vecSubsystemInfo) = 0;
|
|||
|
|
/**
|
|||
|
|
@brief 通过应用ID获取应用信息
|
|||
|
|
@param int nAppId 应用ID
|
|||
|
|
@param SAppInfo & stAppInfo 返回的应用信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAppInfoById(int nAppId, SAppInfo &stAppInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过应用名获取应用信息
|
|||
|
|
@param const std::string & strAppName 应用名
|
|||
|
|
@param SAppInfo & stAppInfo 返回的应用信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAppInfoByName(const std::string &strAppName, SAppInfo &stAppInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取专业所属的应用信息
|
|||
|
|
@param int nSubsystemId 专业ID
|
|||
|
|
@param SAppInfo &stAppInfo 返回的应用信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAppInfoBySubsystemId(int nSubsystemId, SAppInfo &stAppInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取专业所属的应用信息
|
|||
|
|
@param const std::string & strSubsystemName 专业名
|
|||
|
|
@param SAppInfo &stAppInfo 返回的应用信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAppInfoBySubsystemName(const std::string &strSubsystemName, SAppInfo &stAppInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取中心域信息
|
|||
|
|
@param SDomainInfo & stDomainInfo 返回的中心域信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getCenterDomainInfo(SDomainInfo &stDomainInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取指定域的数据库配置信息
|
|||
|
|
@param int nDomainId 域号
|
|||
|
|
@param SDatabaseInfo & stFirstConnect 首链接
|
|||
|
|
@param std::vector<SDatabaseInfo> & vecLocalDBInfo 返回的本地数据库列表
|
|||
|
|
@param std::vector<SDatabaseInfo> & vecRemoteDBInfo 返回的远程数据库列表
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getDBInfoByDomainId(int nDomainId, SDatabaseInfo &stFirstConnect, std::vector<SDatabaseInfo> &vecLocalDBInfo, std::vector<SDatabaseInfo> &vecRemoteDBInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过节点名获取数据库配置信息
|
|||
|
|
@param const std::string & strNodeName 节点名
|
|||
|
|
@param SDatabaseInfo & stDBInfo 返回的数据库配置信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getDBInfoByNodeName(const std::string &strNodeName, SDatabaseInfo &stDBInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过域号获取域信息
|
|||
|
|
@param int nDomainId 域号
|
|||
|
|
@param SDomainInfo & stDomainInfo 返回的域信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getDomainInfoById(int nDomainId, SDomainInfo &stDomainInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过域名获取域信息
|
|||
|
|
@param const std::string & strDomainName 域名
|
|||
|
|
@param SDomainInfo & stDomainInfo 返回的域信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getDomainInfoByName(const std::string &strDomainName, SDomainInfo &stDomainInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取节点所在域信息
|
|||
|
|
@param const std::string strNodeName 节点名
|
|||
|
|
@param SDomainInfo & stDomainInfo 返回的域信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getDomainInfoByNodeName(const std::string strNodeName, SDomainInfo &stDomainInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取本节点的应用部署信息
|
|||
|
|
@param std::vector<SAppDeploy> & vecAppDeploy 返回的应用部署信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getLocalAppDeploy(std::vector<SAppDeploy> &vecAppDeploy)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取本域的数据库配置信息
|
|||
|
|
@param SDatabaseInfo & stFirstConnect 首链接
|
|||
|
|
@param std::vector<SDatabaseInfo> & vecLocalDBInfo 返回的本地数据库列表
|
|||
|
|
@param std::vector<SDatabaseInfo> & vecRemoteDBInfo 返回的远程数据库列表
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getLocalDBInfo(SDatabaseInfo &stFirstConnect, std::vector<SDatabaseInfo> &vecLocalDBInfo, std::vector<SDatabaseInfo> &vecRemoteDBInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取本机节点信息
|
|||
|
|
@param SNodeInfo & stNodeInfo 返回的节点信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getLocalNodeInfo(SNodeInfo &stNodeInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过应用ID获取本进程运行所需的相关参数
|
|||
|
|
@param int nAppId 应用ID
|
|||
|
|
@param SRunAppInfo & stRunAppInfo 返回的运行信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getLocalRunAppInfoById(int nAppId, SRunAppInfo &stRunAppInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过应用名获取本进程运行所需的相关参数
|
|||
|
|
@param const std::string & strSubsystemName 应用名
|
|||
|
|
@param SRunAppInfo & stRunAppInfo 返回的运行信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getLocalRunAppInfoByName(const std::string &strAppName, SRunAppInfo &stRunAppInfo)override;
|
|||
|
|
|
|||
|
|
//----virtual int getAllDBDeploy(std::vector<SDBDeploy> &vecDBDeploy) = 0;
|
|||
|
|
/**
|
|||
|
|
@brief 通过位置号获取位置信息
|
|||
|
|
@param int nLocationId 位置号
|
|||
|
|
@param SLocationInfo & stLocationInfo 返回的位置信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getLocationInfoById(int nLocationId, SLocationInfo &stLocationInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过位置名称获取位置
|
|||
|
|
@param const std::string & strLocationName 位置名称
|
|||
|
|
@param SLocationInfo & stLocationInfo 返回的位置信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getLocationInfoByName(const std::string &strLocationName, SLocationInfo &stLocationInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过域ID获取该域下所有的位置信息
|
|||
|
|
@param int nDomainId 域号
|
|||
|
|
@param std::vector<SLocationInfo> & vecLocationInfo 返回的位置信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getLocationListByDomainId(int nDomainId, std::vector<SLocationInfo> &vecLocationInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过节点名获取节点信息
|
|||
|
|
@param const std::string strNodeName 节点名
|
|||
|
|
@param SNodeInfo & stNodeInfo 返回的节点信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getNodeInfoByName(const std::string strNodeName, SNodeInfo &stNodeInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取指定域的所有节点信息
|
|||
|
|
@param int nDomainId 域号
|
|||
|
|
@param std::vector<SNodeInfo> & vecNodeInfo 返回的节点列表
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getNodeListByDomainId(int nDomainId, std::vector<SNodeInfo> &vecNodeInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取指定域的所有节点信息
|
|||
|
|
@param const std::string & strDomainName 域名
|
|||
|
|
@param std::vector<SNodeInfo> & vecNodeInfo 返回的节点列表
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getNodeListByDomainName(const std::string &strDomainName, std::vector<SNodeInfo> &vecNodeInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过专业ID获取专业信息
|
|||
|
|
@param int nSubsystemId 专业ID
|
|||
|
|
@param SSubsystemInfo & stSubsystemInfo 返回的专业信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getSubsystemInfoById(int nSubsystemId, SSubsystemInfo &stSubsystemInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 通过专业名获取专业信息
|
|||
|
|
@param const std::string & strSubsystemName 专业名称
|
|||
|
|
@param SSubsystemInfo & stSubsystemInfo 返回的专业信息
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getSubsystemInfoByName(const std::string &strSubsystemName, SSubsystemInfo &stSubsystemInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取指定应用下的专业列表
|
|||
|
|
@param int nAppId 应用ID
|
|||
|
|
@param std::vector<SSubsystemInfo> & vecSubsystemInfo 返回的专业信息列表
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getSubsystemListByAppId(int nAppId, std::vector<SSubsystemInfo> &vecSubsystemInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取指定应用下的专业列表
|
|||
|
|
@param const std::string & strAppName 应用名
|
|||
|
|
@param std::vector<SSubsystemInfo> & vecSubsystemInfo 返回的专业信息列表
|
|||
|
|
@return
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getSubsystemListByAppName(const std::string &strAppName, std::vector<SSubsystemInfo> &vecSubsystemInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取本节点部署的各应用下的进程列表
|
|||
|
|
@param SProcessInfoMAP & mapProcInfo 返回的进程列表
|
|||
|
|
@return 成功返回kbdSuccess,失败返回错误码
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getLocalProcInfoList(SProcessInfoMAP &mapProcInfo)override;
|
|||
|
|
/**
|
|||
|
|
@brief 获取指定应用部署的进程列表
|
|||
|
|
@param int nAppId 应用ID
|
|||
|
|
@param SProcessInfoMAP & mapProcInfo 返回的该应用下的进程列表
|
|||
|
|
@return 成功返回kbdSuccess,失败返回错误码
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getProcInfoListByAppId(int nAppId, SProcessInfoMAP &mapProcInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 获取所有消息总线转发信息
|
|||
|
|
@param vecMbRelayInfo:输出
|
|||
|
|
@return 成功返回kbdSuccess,失败返回错误码
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getAllMbRelayInfo(std::vector<SMbRelayInfo> &vecMbRelayInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 按源域ID获取消息总线转发信息
|
|||
|
|
@param vecMbRelayInfo:输出
|
|||
|
|
@return 成功返回kbdSuccess,失败返回错误码
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getMbRelayInfoBySrcDomainID(int nSrcDomainID,
|
|||
|
|
std::vector<SMbRelayInfo> &vecMbRelayInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 按目标域ID获取消息总线转发信息
|
|||
|
|
@param vecMbRelayInfo:输出
|
|||
|
|
@return 成功返回kbdSuccess,失败返回错误码
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getMbRelayInfoByDstDomainID(int nDstDomainID,
|
|||
|
|
std::vector<SMbRelayInfo> &vecMbRelayInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
@brief 按目标域ID获取消息总线转发信息
|
|||
|
|
@param objMbRelayInfo:输出
|
|||
|
|
@return 找到返回kbdSuccess,失败返回错误码
|
|||
|
|
@retval
|
|||
|
|
*/
|
|||
|
|
int getMbRelayInfoBySrcAndDstDomainID(int nSrcDomainID, int nDstDomainID,
|
|||
|
|
SMbRelayInfo &stMbRelayInfo)override;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief getUniqueIdOfNodeInfo 获取所有节点信息的唯一id,用于在同一个网络内区分不同的项目
|
|||
|
|
* @return CRC32值
|
|||
|
|
*/
|
|||
|
|
unsigned int getUniqueIdOfNodeInfo();
|
|||
|
|
|
|||
|
|
///////////////////////////////////////////////////////////////////////
|
|||
|
|
///////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
CSysInfoData m_objData;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
} //namespace kbd_public
|
|||
|
|
|