[refactor]kbd_ -> iot_
This commit is contained in:
parent
dad3973bfc
commit
c1fadb1a0b
@ -153,7 +153,7 @@ bool CAcsDeviceApiImplFactory::initGlobal()
|
|||||||
if (m_bInited)
|
if (m_bInited)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
const std::string strCurDir = kbd_public::CFileUtil::getCurModuleDir();
|
const std::string strCurDir = iot_public::CFileUtil::getCurModuleDir();
|
||||||
if (strCurDir.empty())
|
if (strCurDir.empty())
|
||||||
{
|
{
|
||||||
LOGERROR("initGlobal(): 获取程序所在路径失败!");
|
LOGERROR("initGlobal(): 获取程序所在路径失败!");
|
||||||
|
|||||||
@ -102,7 +102,7 @@ void CAcsDevice::handleIdentificationEvent(bool bPass, int nUserID, size_t nPicD
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CAcsDevice::handle_MT_BIS_START_ID_REQ(const kbd_net::CMbMessage &objMbMsgReq)
|
bool CAcsDevice::handle_MT_BIS_START_ID_REQ(const iot_net::CMbMessage &objMbMsgReq)
|
||||||
{
|
{
|
||||||
LOGINFO("handle_MT_BIS_START_ID_REQ(): 收到请求,开始处理!");
|
LOGINFO("handle_MT_BIS_START_ID_REQ(): 收到请求,开始处理!");
|
||||||
|
|
||||||
@ -134,7 +134,7 @@ bool CAcsDevice::handle_MT_BIS_START_ID_REQ(const kbd_net::CMbMessage &objMbMsgR
|
|||||||
|
|
||||||
//< 切换状态
|
//< 切换状态
|
||||||
m_enState = EN_STATE_WAITE_RESULT;
|
m_enState = EN_STATE_WAITE_RESULT;
|
||||||
m_nStateStartTime = kbd_public::getMonotonicMsec();
|
m_nStateStartTime = iot_public::getMonotonicMsec();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -166,9 +166,9 @@ bool CAcsDevice::handle_MT_BIS_START_ID_REQ(const kbd_net::CMbMessage &objMbMsgR
|
|||||||
|
|
||||||
//< 回复消息
|
//< 回复消息
|
||||||
{
|
{
|
||||||
kbd_net::CMbMessage objMsgRep;
|
iot_net::CMbMessage objMsgRep;
|
||||||
objMsgRep.setSubject(CN_AppId_COMAPP, CH_BIS_TO_APP);
|
objMsgRep.setSubject(CN_AppId_COMAPP, CH_BIS_TO_APP);
|
||||||
objMsgRep.setMsgType(kbd_idlfile::MT_BIS_START_ID_REP);
|
objMsgRep.setMsgType(iot_idl::MT_BIS_START_ID_REP);
|
||||||
objMsgRep.setData(strRep);
|
objMsgRep.setData(strRep);
|
||||||
objMsgRep.setPara1(bRet ? 0 : 1);
|
objMsgRep.setPara1(bRet ? 0 : 1);
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ bool CAcsDevice::handle_MT_BIS_START_ID_REQ(const kbd_net::CMbMessage &objMbMsgR
|
|||||||
return bRet;
|
return bRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CAcsDevice::handle_MT_BIS_CANCEL_ID(const kbd_net::CMbMessage &objMbMsgReq)
|
bool CAcsDevice::handle_MT_BIS_CANCEL_ID(const iot_net::CMbMessage &objMbMsgReq)
|
||||||
{
|
{
|
||||||
LOGINFO("handle_MT_BIS_CANCEL_ID(): 收到请求,开始处理!");
|
LOGINFO("handle_MT_BIS_CANCEL_ID(): 收到请求,开始处理!");
|
||||||
|
|
||||||
@ -200,7 +200,7 @@ bool CAcsDevice::handle_MT_BIS_CANCEL_ID(const kbd_net::CMbMessage &objMbMsgReq)
|
|||||||
|
|
||||||
//< 设置状态
|
//< 设置状态
|
||||||
m_enState = EN_STATE_IDLE;
|
m_enState = EN_STATE_IDLE;
|
||||||
m_nStateStartTime = kbd_public::getMonotonicMsec();
|
m_nStateStartTime = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
//< 关闭认证
|
//< 关闭认证
|
||||||
enableIdentification(false);
|
enableIdentification(false);
|
||||||
@ -210,7 +210,7 @@ bool CAcsDevice::handle_MT_BIS_CANCEL_ID(const kbd_net::CMbMessage &objMbMsgReq)
|
|||||||
|
|
||||||
void CAcsDevice::processStateMachine()
|
void CAcsDevice::processStateMachine()
|
||||||
{
|
{
|
||||||
const boost::int64_t nTimeNow = kbd_public::getMonotonicMsec();
|
const boost::int64_t nTimeNow = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
switch (m_enState)
|
switch (m_enState)
|
||||||
{
|
{
|
||||||
@ -271,7 +271,7 @@ void CAcsDevice::processStateMachine()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 待回复的消息,非isValid表示还没有结果,无需回复
|
//< 待回复的消息,非isValid表示还没有结果,无需回复
|
||||||
kbd_net::CMbMessage objMsgRep;
|
iot_net::CMbMessage objMsgRep;
|
||||||
|
|
||||||
if (nullptr == ptrIdResult)
|
if (nullptr == ptrIdResult)
|
||||||
{
|
{
|
||||||
@ -281,7 +281,7 @@ void CAcsDevice::processStateMachine()
|
|||||||
std::string strRep = I18N("认证超时。");
|
std::string strRep = I18N("认证超时。");
|
||||||
|
|
||||||
objMsgRep.setSubject(CN_AppId_COMAPP, CH_BIS_TO_APP);
|
objMsgRep.setSubject(CN_AppId_COMAPP, CH_BIS_TO_APP);
|
||||||
objMsgRep.setMsgType(kbd_idlfile::MT_BIS_ID_RESULT);
|
objMsgRep.setMsgType(iot_idl::MT_BIS_ID_RESULT);
|
||||||
objMsgRep.setData(strRep);
|
objMsgRep.setData(strRep);
|
||||||
objMsgRep.setPara1(1); //< 0表示成功,其他值表示失败
|
objMsgRep.setPara1(1); //< 0表示成功,其他值表示失败
|
||||||
}
|
}
|
||||||
@ -290,7 +290,7 @@ void CAcsDevice::processStateMachine()
|
|||||||
{
|
{
|
||||||
if (ptrIdResult->m_bPass)
|
if (ptrIdResult->m_bPass)
|
||||||
{
|
{
|
||||||
kbd_idlfile::SBisIdResult objIdResult;
|
iot_idl::SBisIdResult objIdResult;
|
||||||
objIdResult.set_user_id(ptrIdResult->m_nUserID);
|
objIdResult.set_user_id(ptrIdResult->m_nUserID);
|
||||||
objIdResult.set_acs_dev_tag(m_strTagName);
|
objIdResult.set_acs_dev_tag(m_strTagName);
|
||||||
|
|
||||||
@ -300,11 +300,11 @@ void CAcsDevice::processStateMachine()
|
|||||||
objIdResult.mutable_pic_data()->swap(ptrIdResult->m_strPicData);
|
objIdResult.mutable_pic_data()->swap(ptrIdResult->m_strPicData);
|
||||||
|
|
||||||
//< 图片几乎不可压缩,关闭
|
//< 图片几乎不可压缩,关闭
|
||||||
objMsgRep.m_enZipWhenSend = kbd_net::EN_MB_ZIP_DISABLE;
|
objMsgRep.m_enZipWhenSend = iot_net::EN_MB_ZIP_DISABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
objMsgRep.setSubject(CN_AppId_COMAPP, CH_BIS_TO_APP);
|
objMsgRep.setSubject(CN_AppId_COMAPP, CH_BIS_TO_APP);
|
||||||
objMsgRep.setMsgType(kbd_idlfile::MT_BIS_ID_RESULT);
|
objMsgRep.setMsgType(iot_idl::MT_BIS_ID_RESULT);
|
||||||
objMsgRep.setData(objIdResult);
|
objMsgRep.setData(objIdResult);
|
||||||
objMsgRep.setPara1(0); //< 0表示成功,其他值表示失败
|
objMsgRep.setPara1(0); //< 0表示成功,其他值表示失败
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,8 +28,8 @@ public:
|
|||||||
~CAcsDevice();
|
~CAcsDevice();
|
||||||
|
|
||||||
//< 处理消息,返回成功或失败
|
//< 处理消息,返回成功或失败
|
||||||
bool handle_MT_BIS_START_ID_REQ(const kbd_net::CMbMessage &objMbMsgReq);
|
bool handle_MT_BIS_START_ID_REQ(const iot_net::CMbMessage &objMbMsgReq);
|
||||||
bool handle_MT_BIS_CANCEL_ID(const kbd_net::CMbMessage &objMbMsgReq);
|
bool handle_MT_BIS_CANCEL_ID(const iot_net::CMbMessage &objMbMsgReq);
|
||||||
|
|
||||||
//< 处理状态机
|
//< 处理状态机
|
||||||
void processStateMachine();
|
void processStateMachine();
|
||||||
@ -93,7 +93,7 @@ private:
|
|||||||
boost::int64_t m_nStateStartTime;
|
boost::int64_t m_nStateStartTime;
|
||||||
|
|
||||||
//< 请求认证的原始消息,用于回复
|
//< 请求认证的原始消息,用于回复
|
||||||
kbd_net::CMbMessage m_objMbMsgReq;
|
iot_net::CMbMessage m_objMbMsgReq;
|
||||||
|
|
||||||
//< 认证结果
|
//< 认证结果
|
||||||
CIdResultPtr m_ptrIdResult;
|
CIdResultPtr m_ptrIdResult;
|
||||||
|
|||||||
@ -79,7 +79,7 @@ bool CAcsWorkThread::resumeThread()
|
|||||||
refreshCfg();
|
refreshCfg();
|
||||||
|
|
||||||
if (nullptr == m_pMbComm)
|
if (nullptr == m_pMbComm)
|
||||||
m_pMbComm = new kbd_net::CMbCommunicator();
|
m_pMbComm = new iot_net::CMbCommunicator();
|
||||||
|
|
||||||
//< 订阅
|
//< 订阅
|
||||||
if (!m_pMbComm->addSub(0, CH_APP_TO_BIS))
|
if (!m_pMbComm->addSub(0, CH_APP_TO_BIS))
|
||||||
@ -93,7 +93,7 @@ bool CAcsWorkThread::resumeThread()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (nullptr == m_pMbMsgRcv)
|
if (nullptr == m_pMbMsgRcv)
|
||||||
m_pMbMsgRcv = new kbd_net::CMbMessage();
|
m_pMbMsgRcv = new iot_net::CMbMessage();
|
||||||
|
|
||||||
m_bIsRunning = true;
|
m_bIsRunning = true;
|
||||||
resume();
|
resume();
|
||||||
@ -139,10 +139,10 @@ void CAcsWorkThread::refreshCfg()
|
|||||||
|
|
||||||
m_mapAcsDevice.clear();
|
m_mapAcsDevice.clear();
|
||||||
|
|
||||||
kbd_dbms::CVarType rdbVal_TAG_NAME, rdbVal_IP_ADDR, rdbVal_MNG_PORT, rdbVal_MNG_USER, rdbVal_MNG_PASSWD;
|
iot_dbms::CVarType rdbVal_TAG_NAME, rdbVal_IP_ADDR, rdbVal_MNG_PORT, rdbVal_MNG_USER, rdbVal_MNG_PASSWD;
|
||||||
|
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_acs_device_info);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_acs_device_info);
|
||||||
|
|
||||||
const int nRcdCnt = m_objRtdb_acs_device_info.getRecordCount();
|
const int nRcdCnt = m_objRtdb_acs_device_info.getRecordCount();
|
||||||
for (int nRcdIdx = 0; nRcdIdx < nRcdCnt; ++nRcdIdx)
|
for (int nRcdIdx = 0; nRcdIdx < nRcdCnt; ++nRcdIdx)
|
||||||
@ -232,12 +232,12 @@ void CAcsWorkThread::handleOneMbMsg()
|
|||||||
std::string strSrcNode = m_pMbMsgRcv->getSrcHost();
|
std::string strSrcNode = m_pMbMsgRcv->getSrcHost();
|
||||||
strSrcNode.resize(64); //< 注意,必须与列定义一致
|
strSrcNode.resize(64); //< 注意,必须与列定义一致
|
||||||
|
|
||||||
kbd_dbms::CVarType rdbVal_ACS_DEVICE_TAG;
|
iot_dbms::CVarType rdbVal_ACS_DEVICE_TAG;
|
||||||
|
|
||||||
//< 查找该节点的ACS设备
|
//< 查找该节点的ACS设备
|
||||||
{
|
{
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_acs_device_node_map);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_acs_device_node_map);
|
||||||
|
|
||||||
const int nRcdIdx = m_objRtdb_acs_device_node_map.searchRecordByKey(strSrcNode.c_str());
|
const int nRcdIdx = m_objRtdb_acs_device_node_map.searchRecordByKey(strSrcNode.c_str());
|
||||||
if (nRcdIdx < 0)
|
if (nRcdIdx < 0)
|
||||||
@ -262,10 +262,10 @@ void CAcsWorkThread::handleOneMbMsg()
|
|||||||
|
|
||||||
switch (m_pMbMsgRcv->getMsgType())
|
switch (m_pMbMsgRcv->getMsgType())
|
||||||
{
|
{
|
||||||
case kbd_idlfile::MT_BIS_START_ID_REQ:
|
case iot_idl::MT_BIS_START_ID_REQ:
|
||||||
itDev->second->handle_MT_BIS_START_ID_REQ(*m_pMbMsgRcv);
|
itDev->second->handle_MT_BIS_START_ID_REQ(*m_pMbMsgRcv);
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_BIS_CANCEL_ID:
|
case iot_idl::MT_BIS_CANCEL_ID:
|
||||||
itDev->second->handle_MT_BIS_CANCEL_ID(*m_pMbMsgRcv);
|
itDev->second->handle_MT_BIS_CANCEL_ID(*m_pMbMsgRcv);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
namespace kbd_application
|
namespace kbd_application
|
||||||
{
|
{
|
||||||
|
|
||||||
class CAcsWorkThread : private kbd_public::CTimerThreadBase
|
class CAcsWorkThread : private iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
friend class CAcsDevice;
|
friend class CAcsDevice;
|
||||||
|
|
||||||
@ -49,12 +49,12 @@ private:
|
|||||||
//< 实时库 acs_device_info 表的配置版本号,当前实时库暂不支持,计划中会有
|
//< 实时库 acs_device_info 表的配置版本号,当前实时库暂不支持,计划中会有
|
||||||
int m_nCfgVer_acs_device_info;
|
int m_nCfgVer_acs_device_info;
|
||||||
|
|
||||||
kbd_net::CMbCommunicator *m_pMbComm; //< 消息总线通讯器
|
iot_net::CMbCommunicator *m_pMbComm; //< 消息总线通讯器
|
||||||
kbd_net::CMbMessage *m_pMbMsgRcv; //< 接收的消息总线消息
|
iot_net::CMbMessage *m_pMbMsgRcv; //< 接收的消息总线消息
|
||||||
|
|
||||||
//< 实时库访问接口
|
//< 实时库访问接口
|
||||||
kbd_dbms::CRdbAccess m_objRtdb_acs_device_info;
|
iot_dbms::CRdbAccess m_objRtdb_acs_device_info;
|
||||||
kbd_dbms::CRdbAccess m_objRtdb_acs_device_node_map;
|
iot_dbms::CRdbAccess m_objRtdb_acs_device_node_map;
|
||||||
|
|
||||||
std::map<std::string, CAcsDevicePtr> m_mapAcsDevice;
|
std::map<std::string, CAcsDevicePtr> m_mapAcsDevice;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -40,7 +40,7 @@ CBioIdentifySrv::~CBioIdentifySrv()
|
|||||||
{
|
{
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
kbd_public::StopLogSystem();
|
iot_public::StopLogSystem();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ bool CBioIdentifySrv::start(int argc, char *argv[], int & /*nStatus*/)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 启动日志
|
//< 启动日志
|
||||||
kbd_public::StartLogSystem(CN_AppName_COMAPP.c_str(), BIS_PROC_NAME);
|
iot_public::StartLogSystem(CN_AppName_COMAPP.c_str(), BIS_PROC_NAME);
|
||||||
|
|
||||||
//< 判断是否已启动
|
//< 判断是否已启动
|
||||||
if (isAlreadyRunning())
|
if (isAlreadyRunning())
|
||||||
@ -74,14 +74,14 @@ bool CBioIdentifySrv::start(int argc, char *argv[], int & /*nStatus*/)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 消息总线
|
//< 消息总线
|
||||||
if (!kbd_net::initMsgBus(BIS_PROC_NAME, "", true))
|
if (!iot_net::initMsgBus(BIS_PROC_NAME, "", true))
|
||||||
{
|
{
|
||||||
LOGFATAL("初始化消息总线失败,程序启动失败!");
|
LOGFATAL("初始化消息总线失败,程序启动失败!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//< 初始化翻译
|
//< 初始化翻译
|
||||||
if (kbd_public::initI18N("/app_bio_identify_srv/translate", "app_bio_identify_srv"))
|
if (iot_public::initI18N("/app_bio_identify_srv/translate", "app_bio_identify_srv"))
|
||||||
{
|
{
|
||||||
LOGDEBUG(I18N_C("I18N output test:\n This is src hardcode. \n int = [%d] , str = [%s]\n"), 123, "test");
|
LOGDEBUG(I18N_C("I18N output test:\n This is src hardcode. \n int = [%d] , str = [%s]\n"), 123, "test");
|
||||||
}
|
}
|
||||||
@ -112,14 +112,14 @@ bool CBioIdentifySrv::start(int argc, char *argv[], int & /*nStatus*/)
|
|||||||
strStartArgs += argv[i];
|
strStartArgs += argv[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_sys::SProcessInfoKey objProcInfo;
|
iot_sys::SProcessInfoKey objProcInfo;
|
||||||
objProcInfo.nAppId = CN_AppId_COMAPP;
|
objProcInfo.nAppId = CN_AppId_COMAPP;
|
||||||
objProcInfo.nDomainId = m_nDomainID;
|
objProcInfo.nDomainId = m_nDomainID;
|
||||||
objProcInfo.strNodeName = m_strNodeName;
|
objProcInfo.strNodeName = m_strNodeName;
|
||||||
objProcInfo.strProcName = BIS_PROC_NAME;
|
objProcInfo.strProcName = BIS_PROC_NAME;
|
||||||
objProcInfo.strProcParam = strStartArgs;
|
objProcInfo.strProcParam = strStartArgs;
|
||||||
|
|
||||||
m_ptrProcMng = kbd_sys::getProcMngInstance(objProcInfo);
|
m_ptrProcMng = iot_sys::getProcMngInstance(objProcInfo);
|
||||||
if (!m_ptrProcMng)
|
if (!m_ptrProcMng)
|
||||||
{
|
{
|
||||||
LOGFATAL("getProcMngInstance return nullptr");
|
LOGFATAL("getProcMngInstance return nullptr");
|
||||||
@ -131,7 +131,7 @@ bool CBioIdentifySrv::start(int argc, char *argv[], int & /*nStatus*/)
|
|||||||
|
|
||||||
//< 冗余管理
|
//< 冗余管理
|
||||||
{
|
{
|
||||||
m_ptrRedundantMng = kbd_sys::getRedundantMngInstance(m_nDomainID, CN_AppId_COMAPP, m_strNodeName);
|
m_ptrRedundantMng = iot_sys::getRedundantMngInstance(m_nDomainID, CN_AppId_COMAPP, m_strNodeName);
|
||||||
if (!m_ptrRedundantMng)
|
if (!m_ptrRedundantMng)
|
||||||
{
|
{
|
||||||
LOGERROR("getRedundantMngInstance return nullptr");
|
LOGERROR("getRedundantMngInstance return nullptr");
|
||||||
@ -221,11 +221,11 @@ bool CBioIdentifySrv::stop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 停止消息总线
|
//< 停止消息总线
|
||||||
kbd_net::releaseMsgBus();
|
iot_net::releaseMsgBus();
|
||||||
|
|
||||||
//< 停止日志系统
|
//< 停止日志系统
|
||||||
//< 移到析构函数中,防止日志库停止后,又写日志,从而使log4cplus提示找不到logger
|
//< 移到析构函数中,防止日志库停止后,又写日志,从而使log4cplus提示找不到logger
|
||||||
//kbd_public::StopLogSystem();
|
//iot_public::StopLogSystem();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -251,7 +251,7 @@ int CBioIdentifySrv::updateProcInfo(bool bActive, bool bMaster, bool bSlave)
|
|||||||
|
|
||||||
bool CBioIdentifySrv::isAlreadyRunning()
|
bool CBioIdentifySrv::isAlreadyRunning()
|
||||||
{
|
{
|
||||||
return kbd_public::CSingleProcInstance::hasInstanceRunning(BIS_PROC_NAME);
|
return iot_public::CSingleProcInstance::hasInstanceRunning(BIS_PROC_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -320,14 +320,14 @@ bool CBioIdentifySrv::parseCommandLine(int argc, char *argv[])
|
|||||||
|
|
||||||
bool CBioIdentifySrv::loadSysInfo()
|
bool CBioIdentifySrv::loadSysInfo()
|
||||||
{
|
{
|
||||||
kbd_public::CSysInfoInterfacePtr sysInfoPtr;
|
iot_public::CSysInfoInterfacePtr sysInfoPtr;
|
||||||
if (kbd_public::createSysInfoInstance(sysInfoPtr) == false)
|
if (iot_public::createSysInfoInstance(sysInfoPtr) == false)
|
||||||
{
|
{
|
||||||
LOGERROR("loadSysInfo(): createSysInfoInstance() return false !");
|
LOGERROR("loadSysInfo(): createSysInfoInstance() return false !");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::SRunAppInfo objRunAppInfo;
|
iot_public::SRunAppInfo objRunAppInfo;
|
||||||
int nRc = sysInfoPtr->getLocalRunAppInfoById(CN_AppId_COMAPP, objRunAppInfo);
|
int nRc = sysInfoPtr->getLocalRunAppInfoById(CN_AppId_COMAPP, objRunAppInfo);
|
||||||
if (kbdSuccess != nRc)
|
if (kbdSuccess != nRc)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
namespace kbd_application
|
namespace kbd_application
|
||||||
{
|
{
|
||||||
|
|
||||||
class CBioIdentifySrv : public kbd_public::CBaseService, kbd_sys::CProcessQuitInterface
|
class CBioIdentifySrv : public iot_public::CBaseService, iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CBioIdentifySrv();
|
CBioIdentifySrv();
|
||||||
@ -59,8 +59,8 @@ private:
|
|||||||
std::string m_strNodeName; //< 本机节点名
|
std::string m_strNodeName; //< 本机节点名
|
||||||
|
|
||||||
CCBisRedunSwPtr m_ptrRedunSw;
|
CCBisRedunSwPtr m_ptrRedunSw;
|
||||||
kbd_sys::CProcMngInterfacePtr m_ptrProcMng;
|
iot_sys::CProcMngInterfacePtr m_ptrProcMng;
|
||||||
kbd_sys::CRedundantMngInterfacePtr m_ptrRedundantMng;
|
iot_sys::CRedundantMngInterfacePtr m_ptrRedundantMng;
|
||||||
};
|
};
|
||||||
|
|
||||||
} //< namespace kbd_application
|
} //< namespace kbd_application
|
||||||
|
|||||||
@ -16,7 +16,7 @@
|
|||||||
namespace kbd_application
|
namespace kbd_application
|
||||||
{
|
{
|
||||||
|
|
||||||
class CBisRedunSw : public ::kbd_sys::CRedundantSwitchInterface
|
class CBisRedunSw : public ::iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CBisRedunSw();
|
CBisRedunSw();
|
||||||
|
|||||||
@ -30,7 +30,7 @@ static void signalCallback(int /*sig*/)
|
|||||||
|
|
||||||
void test()
|
void test()
|
||||||
{
|
{
|
||||||
kbd_service::CPermMngApiPtr ptrPermMng = kbd_service::getPermMngInstance("PUBLIC");
|
iot_service::CPermMngApiPtr ptrPermMng = iot_service::getPermMngInstance("PUBLIC");
|
||||||
|
|
||||||
ptrPermMng->PermDllInit();
|
ptrPermMng->PermDllInit();
|
||||||
ptrPermMng->startBioIdentify();
|
ptrPermMng->startBioIdentify();
|
||||||
@ -119,12 +119,12 @@ int main(int /*argc*/, char ** /*argv[]*/)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//< 启动日志
|
//< 启动日志
|
||||||
kbd_public::StartLogSystem("default", "test_bis_client");
|
iot_public::StartLogSystem("default", "test_bis_client");
|
||||||
|
|
||||||
LOGINFO("Log system OK !");
|
LOGINFO("Log system OK !");
|
||||||
|
|
||||||
//< 初始化消息总线库
|
//< 初始化消息总线库
|
||||||
if (!(kbd_net::initMsgBus("net_msg_bus_test_client", "1")))
|
if (!(iot_net::initMsgBus("net_msg_bus_test_client", "1")))
|
||||||
{
|
{
|
||||||
std::cout << "Initialize message bus failed, exit !" << std::endl;
|
std::cout << "Initialize message bus failed, exit !" << std::endl;
|
||||||
return 1;
|
return 1;
|
||||||
@ -139,10 +139,10 @@ int main(int /*argc*/, char ** /*argv[]*/)
|
|||||||
boost::this_thread::sleep_for(boost::chrono::seconds(2));
|
boost::this_thread::sleep_for(boost::chrono::seconds(2));
|
||||||
|
|
||||||
//< 释放消息总线库
|
//< 释放消息总线库
|
||||||
kbd_net::releaseMsgBus();
|
iot_net::releaseMsgBus();
|
||||||
|
|
||||||
//< 停止日志系统
|
//< 停止日志系统
|
||||||
kbd_public::StopLogSystem();
|
iot_public::StopLogSystem();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
kbd_public::StartLogSystem("", "");
|
iot_public::StartLogSystem("", "");
|
||||||
|
|
||||||
LOGINFO("test_hk_acs start !");
|
LOGINFO("test_hk_acs start !");
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ int main(int argc, char *argv[])
|
|||||||
a.exec();
|
a.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::StopLogSystem();
|
iot_public::StopLogSystem();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,7 +25,7 @@ int CFbdConfigParse::initialize()
|
|||||||
|
|
||||||
//< 加载平台配置文件
|
//< 加载平台配置文件
|
||||||
{
|
{
|
||||||
strCfgFilePath = std::move( kbd_public::CFileUtil::getPathOfCfgFile( "fbd_server.xml", CN_DIR_PLATFORM ));
|
strCfgFilePath = std::move( iot_public::CFileUtil::getPathOfCfgFile( "fbd_server.xml", CN_DIR_PLATFORM ));
|
||||||
if ( strCfgFilePath.empty())
|
if ( strCfgFilePath.empty())
|
||||||
{
|
{
|
||||||
LOGERROR( "获取平台fbd_server.xml配置文件路径失败" );
|
LOGERROR( "获取平台fbd_server.xml配置文件路径失败" );
|
||||||
@ -38,7 +38,7 @@ int CFbdConfigParse::initialize()
|
|||||||
|
|
||||||
//< 加载产品配置文件
|
//< 加载产品配置文件
|
||||||
{
|
{
|
||||||
strCfgFilePath = std::move( kbd_public::CFileUtil::getPathOfCfgFile( "fbd_server.xml", CN_DIR_PRODUCT ));
|
strCfgFilePath = std::move( iot_public::CFileUtil::getPathOfCfgFile( "fbd_server.xml", CN_DIR_PRODUCT ));
|
||||||
//< 允许不存在产品
|
//< 允许不存在产品
|
||||||
if ( !strCfgFilePath.empty())
|
if ( !strCfgFilePath.empty())
|
||||||
{
|
{
|
||||||
|
|||||||
@ -194,19 +194,19 @@ int CFbdGroupMng::modifyFbdGroup( const std::vector<SFbdGroupInfo> &vecGrpInfo )
|
|||||||
const std::string strErr = "从数据库加载、解析FBD图失败";
|
const std::string strErr = "从数据库加载、解析FBD图失败";
|
||||||
LOGERROR( "产生告警:\n%s", strErr.c_str());
|
LOGERROR( "产生告警:\n%s", strErr.c_str());
|
||||||
|
|
||||||
kbd_idlfile::SAppAddAlm objAddAlm;
|
iot_idl::SAppAddAlm objAddAlm;
|
||||||
kbd_idlfile::SAlmInfoFromApp *pAlmInfo = objAddAlm.add_alm_info();
|
iot_idl::SAlmInfoFromApp *pAlmInfo = objAddAlm.add_alm_info();
|
||||||
|
|
||||||
// 报警参数-必填项目
|
// 报警参数-必填项目
|
||||||
pAlmInfo->set_alm_type( kbd_service::ALM_TYPE_SYSTEM );
|
pAlmInfo->set_alm_type( iot_service::ALM_TYPE_SYSTEM );
|
||||||
pAlmInfo->set_time_stamp( kbd_public::getUTCTimeMsec());
|
pAlmInfo->set_time_stamp( iot_public::getUTCTimeMsec());
|
||||||
pAlmInfo->set_status( kbd_service::ALM_STAT_SYS_PROC_ERROR );
|
pAlmInfo->set_status( iot_service::ALM_STAT_SYS_PROC_ERROR );
|
||||||
pAlmInfo->set_location_id( ptrAlmSysInfoApi->getCurrentRunAppInfo().nLocationId );
|
pAlmInfo->set_location_id( ptrAlmSysInfoApi->getCurrentRunAppInfo().nLocationId );
|
||||||
pAlmInfo->set_alm_style( kbd_idlfile::AS_ALARM );
|
pAlmInfo->set_alm_style( iot_idl::AS_ALARM );
|
||||||
|
|
||||||
// 关键字定义
|
// 关键字定义
|
||||||
kbd_idlfile::SAlmKeyword *pAlmKeyword = pAlmInfo->add_alm_keyword();
|
iot_idl::SAlmKeyword *pAlmKeyword = pAlmInfo->add_alm_keyword();
|
||||||
pAlmKeyword->set_id( kbd_service::ALM_KEY_ALM_DESC );
|
pAlmKeyword->set_id( iot_service::ALM_KEY_ALM_DESC );
|
||||||
pAlmKeyword->set_value( strErr );
|
pAlmKeyword->set_value( strErr );
|
||||||
|
|
||||||
ptrAlmSrcApi->addAlarm( objAddAlm );
|
ptrAlmSrcApi->addAlarm( objAddAlm );
|
||||||
@ -257,19 +257,19 @@ int CFbdGroupMng::modifyFbdGroup( const std::vector<SFbdGroupInfo> &vecGrpInfo )
|
|||||||
% stGrpInfo.m_szName );
|
% stGrpInfo.m_szName );
|
||||||
LOGERROR( "产生告警:\n%s", strErr.c_str());
|
LOGERROR( "产生告警:\n%s", strErr.c_str());
|
||||||
|
|
||||||
kbd_idlfile::SAppAddAlm objAddAlm;
|
iot_idl::SAppAddAlm objAddAlm;
|
||||||
kbd_idlfile::SAlmInfoFromApp *pAlmInfo = objAddAlm.add_alm_info();
|
iot_idl::SAlmInfoFromApp *pAlmInfo = objAddAlm.add_alm_info();
|
||||||
|
|
||||||
// 报警参数-必填项目
|
// 报警参数-必填项目
|
||||||
pAlmInfo->set_alm_type( kbd_service::ALM_TYPE_SYSTEM );
|
pAlmInfo->set_alm_type( iot_service::ALM_TYPE_SYSTEM );
|
||||||
pAlmInfo->set_time_stamp( kbd_public::getUTCTimeMsec());
|
pAlmInfo->set_time_stamp( iot_public::getUTCTimeMsec());
|
||||||
pAlmInfo->set_status( kbd_service::ALM_STAT_SYS_PROC_ERROR );
|
pAlmInfo->set_status( iot_service::ALM_STAT_SYS_PROC_ERROR );
|
||||||
pAlmInfo->set_location_id( ptrAlmSysInfoApi->getCurrentRunAppInfo().nLocationId );
|
pAlmInfo->set_location_id( ptrAlmSysInfoApi->getCurrentRunAppInfo().nLocationId );
|
||||||
pAlmInfo->set_alm_style( kbd_idlfile::AS_ALARM );
|
pAlmInfo->set_alm_style( iot_idl::AS_ALARM );
|
||||||
|
|
||||||
// 关键字定义
|
// 关键字定义
|
||||||
kbd_idlfile::SAlmKeyword *pAlmKeyword = pAlmInfo->add_alm_keyword();
|
iot_idl::SAlmKeyword *pAlmKeyword = pAlmInfo->add_alm_keyword();
|
||||||
pAlmKeyword->set_id( kbd_service::ALM_KEY_ALM_DESC );
|
pAlmKeyword->set_id( iot_service::ALM_KEY_ALM_DESC );
|
||||||
pAlmKeyword->set_value( strErr );
|
pAlmKeyword->set_value( strErr );
|
||||||
|
|
||||||
ptrAlmSrcApi->addAlarm( objAddAlm );
|
ptrAlmSrcApi->addAlarm( objAddAlm );
|
||||||
@ -290,19 +290,19 @@ int CFbdGroupMng::modifyFbdGroup( const std::vector<SFbdGroupInfo> &vecGrpInfo )
|
|||||||
% stGrpInfo.m_szName );
|
% stGrpInfo.m_szName );
|
||||||
LOGERROR( "产生告警:\n%s", strErr.c_str());
|
LOGERROR( "产生告警:\n%s", strErr.c_str());
|
||||||
|
|
||||||
kbd_idlfile::SAppAddAlm objAddAlm;
|
iot_idl::SAppAddAlm objAddAlm;
|
||||||
kbd_idlfile::SAlmInfoFromApp *pAlmInfo = objAddAlm.add_alm_info();
|
iot_idl::SAlmInfoFromApp *pAlmInfo = objAddAlm.add_alm_info();
|
||||||
|
|
||||||
// 报警参数-必填项目
|
// 报警参数-必填项目
|
||||||
pAlmInfo->set_alm_type( kbd_service::ALM_TYPE_SYSTEM );
|
pAlmInfo->set_alm_type( iot_service::ALM_TYPE_SYSTEM );
|
||||||
pAlmInfo->set_time_stamp( kbd_public::getUTCTimeMsec());
|
pAlmInfo->set_time_stamp( iot_public::getUTCTimeMsec());
|
||||||
pAlmInfo->set_status( kbd_service::ALM_STAT_SYS_PROC_ERROR );
|
pAlmInfo->set_status( iot_service::ALM_STAT_SYS_PROC_ERROR );
|
||||||
pAlmInfo->set_location_id( ptrAlmSysInfoApi->getCurrentRunAppInfo().nLocationId );
|
pAlmInfo->set_location_id( ptrAlmSysInfoApi->getCurrentRunAppInfo().nLocationId );
|
||||||
pAlmInfo->set_alm_style( kbd_idlfile::AS_ALARM );
|
pAlmInfo->set_alm_style( iot_idl::AS_ALARM );
|
||||||
|
|
||||||
// 关键字定义
|
// 关键字定义
|
||||||
kbd_idlfile::SAlmKeyword *pAlmKeyword = pAlmInfo->add_alm_keyword();
|
iot_idl::SAlmKeyword *pAlmKeyword = pAlmInfo->add_alm_keyword();
|
||||||
pAlmKeyword->set_id( kbd_service::ALM_KEY_ALM_DESC );
|
pAlmKeyword->set_id( iot_service::ALM_KEY_ALM_DESC );
|
||||||
pAlmKeyword->set_value( strErr );
|
pAlmKeyword->set_value( strErr );
|
||||||
|
|
||||||
ptrAlmSrcApi->addAlarm( objAddAlm );
|
ptrAlmSrcApi->addAlarm( objAddAlm );
|
||||||
@ -346,19 +346,19 @@ int CFbdGroupMng::deleteFbdGroup( const FbdGrpToInfoMAP &mapGrpInfo )
|
|||||||
% stGrpInfo.m_szName );
|
% stGrpInfo.m_szName );
|
||||||
LOGERROR( "产生告警:\n%s", strErr.c_str());
|
LOGERROR( "产生告警:\n%s", strErr.c_str());
|
||||||
|
|
||||||
kbd_idlfile::SAppAddAlm objAddAlm;
|
iot_idl::SAppAddAlm objAddAlm;
|
||||||
kbd_idlfile::SAlmInfoFromApp *pAlmInfo = objAddAlm.add_alm_info();
|
iot_idl::SAlmInfoFromApp *pAlmInfo = objAddAlm.add_alm_info();
|
||||||
|
|
||||||
// 报警参数-必填项目
|
// 报警参数-必填项目
|
||||||
pAlmInfo->set_alm_type( kbd_service::ALM_TYPE_SYSTEM );
|
pAlmInfo->set_alm_type( iot_service::ALM_TYPE_SYSTEM );
|
||||||
pAlmInfo->set_time_stamp( kbd_public::getUTCTimeMsec());
|
pAlmInfo->set_time_stamp( iot_public::getUTCTimeMsec());
|
||||||
pAlmInfo->set_status( kbd_service::ALM_STAT_SYS_PROC_ERROR );
|
pAlmInfo->set_status( iot_service::ALM_STAT_SYS_PROC_ERROR );
|
||||||
pAlmInfo->set_location_id( ptrAlmSysInfoApi->getCurrentRunAppInfo().nLocationId );
|
pAlmInfo->set_location_id( ptrAlmSysInfoApi->getCurrentRunAppInfo().nLocationId );
|
||||||
pAlmInfo->set_alm_style( kbd_idlfile::AS_ALARM );
|
pAlmInfo->set_alm_style( iot_idl::AS_ALARM );
|
||||||
|
|
||||||
// 关键字定义
|
// 关键字定义
|
||||||
kbd_idlfile::SAlmKeyword *pAlmKeyword = pAlmInfo->add_alm_keyword();
|
iot_idl::SAlmKeyword *pAlmKeyword = pAlmInfo->add_alm_keyword();
|
||||||
pAlmKeyword->set_id( kbd_service::ALM_KEY_ALM_DESC );
|
pAlmKeyword->set_id( iot_service::ALM_KEY_ALM_DESC );
|
||||||
pAlmKeyword->set_value( strErr );
|
pAlmKeyword->set_value( strErr );
|
||||||
|
|
||||||
ptrAlmSrcApi->addAlarm( objAddAlm );
|
ptrAlmSrcApi->addAlarm( objAddAlm );
|
||||||
|
|||||||
@ -77,16 +77,16 @@ void CFbdGrpWorkThread::execute()
|
|||||||
if ( m_bRunFbd )
|
if ( m_bRunFbd )
|
||||||
{
|
{
|
||||||
//< 运行间隔包含运行耗时,如果运行得慢,允许连续运行
|
//< 运行间隔包含运行耗时,如果运行得慢,允许连续运行
|
||||||
m_nLastRunFbdTime = kbd_public::getMonotonicMsec();
|
m_nLastRunFbdTime = iot_public::getMonotonicMsec();
|
||||||
for ( const auto &it : m_mapFuncPtr )
|
for ( const auto &it : m_mapFuncPtr )
|
||||||
{
|
{
|
||||||
it.second->calculate();
|
it.second->calculate();
|
||||||
}
|
}
|
||||||
m_nLastRunFbdUtc = kbd_public::getUTCTimeMsec();
|
m_nLastRunFbdUtc = iot_public::getUTCTimeMsec();
|
||||||
}
|
}
|
||||||
|
|
||||||
//< 接收并响应调试消息
|
//< 接收并响应调试消息
|
||||||
kbd_net::CMbMessage objMbMsgRcv;
|
iot_net::CMbMessage objMbMsgRcv;
|
||||||
while ( m_pMbComm->recvMsg( objMbMsgRcv, 0 ))
|
while ( m_pMbComm->recvMsg( objMbMsgRcv, 0 ))
|
||||||
{
|
{
|
||||||
if ( m_stGrpInfo.m_nId != objMbMsgRcv.getPara1())
|
if ( m_stGrpInfo.m_nId != objMbMsgRcv.getPara1())
|
||||||
@ -102,13 +102,13 @@ void CFbdGrpWorkThread::execute()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( kbd_idlfile::MT_FBD_E2S_DBG_REQ != objMbMsgRcv.getMsgType())
|
if ( iot_idl::MT_FBD_E2S_DBG_REQ != objMbMsgRcv.getMsgType())
|
||||||
{
|
{
|
||||||
LOGERROR( "收到非预期消息类型,忽略,MsgType=[%d]", objMbMsgRcv.getMsgType());
|
LOGERROR( "收到非预期消息类型,忽略,MsgType=[%d]", objMbMsgRcv.getMsgType());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_idlfile::SFBDDebugRequest objReq;
|
iot_idl::SFBDDebugRequest objReq;
|
||||||
if ( !objReq.ParseFromArray( objMbMsgRcv.getDataPtr(), ( int ) ( objMbMsgRcv.getDataSize())))
|
if ( !objReq.ParseFromArray( objMbMsgRcv.getDataPtr(), ( int ) ( objMbMsgRcv.getDataSize())))
|
||||||
{
|
{
|
||||||
LOGERROR( "反序列化 SFBDDebugRequest 失败,忽略" );
|
LOGERROR( "反序列化 SFBDDebugRequest 失败,忽略" );
|
||||||
@ -121,7 +121,7 @@ void CFbdGrpWorkThread::execute()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_idlfile::SFBDDebugResponse objRep;
|
iot_idl::SFBDDebugResponse objRep;
|
||||||
if ( kbdSuccess != m_ptrFbdUtil->getDebugResponse( objReq, objRep ))
|
if ( kbdSuccess != m_ptrFbdUtil->getDebugResponse( objReq, objRep ))
|
||||||
{
|
{
|
||||||
LOGERROR( "调用 getDebugResponse 失败" );
|
LOGERROR( "调用 getDebugResponse 失败" );
|
||||||
@ -129,9 +129,9 @@ void CFbdGrpWorkThread::execute()
|
|||||||
}
|
}
|
||||||
objRep.set_nlastupdatetime( m_nLastRunFbdUtc );
|
objRep.set_nlastupdatetime( m_nLastRunFbdUtc );
|
||||||
|
|
||||||
kbd_net::CMbMessage objMsgSend;
|
iot_net::CMbMessage objMsgSend;
|
||||||
objMsgSend.setData( objRep );
|
objMsgSend.setData( objRep );
|
||||||
objMsgSend.setMsgType( kbd_idlfile::MT_FBD_S2E_DBG_REP );
|
objMsgSend.setMsgType( iot_idl::MT_FBD_S2E_DBG_REP );
|
||||||
objMsgSend.setSubject( getFbdSysInfoApi()->getCurrentRunAppInfo().nAppId,
|
objMsgSend.setSubject( getFbdSysInfoApi()->getCurrentRunAppInfo().nAppId,
|
||||||
CH_FBDSERVER_TO_FBDEDITOR );
|
CH_FBDSERVER_TO_FBDEDITOR );
|
||||||
objMsgSend.setPara1( m_stGrpInfo.m_nId );
|
objMsgSend.setPara1( m_stGrpInfo.m_nId );
|
||||||
@ -141,7 +141,7 @@ void CFbdGrpWorkThread::execute()
|
|||||||
|
|
||||||
//< 运行周期控制
|
//< 运行周期控制
|
||||||
{
|
{
|
||||||
const boost::int64_t nTimeNow = kbd_public::getMonotonicMsec();
|
const boost::int64_t nTimeNow = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
CTimerThreadBase::m_nRunPeriodMsec = m_stGrpInfo.m_nRefreshTime - ( int ) ( nTimeNow - m_nLastRunFbdTime );
|
CTimerThreadBase::m_nRunPeriodMsec = m_stGrpInfo.m_nRefreshTime - ( int ) ( nTimeNow - m_nLastRunFbdTime );
|
||||||
if ( CTimerThreadBase::m_nRunPeriodMsec > cn_nMaxRunPeriodMsec )
|
if ( CTimerThreadBase::m_nRunPeriodMsec > cn_nMaxRunPeriodMsec )
|
||||||
@ -181,7 +181,7 @@ int CFbdGrpWorkThread::redundantSwitch( bool bMaster, bool bSlave )
|
|||||||
|
|
||||||
if ( nullptr == m_pMbComm )
|
if ( nullptr == m_pMbComm )
|
||||||
{
|
{
|
||||||
m_pMbComm = new kbd_net::CMbCommunicator;
|
m_pMbComm = new iot_net::CMbCommunicator;
|
||||||
m_pMbComm->addSub( 0, CH_FBDEDITOR_TO_FBDSERVER );
|
m_pMbComm->addSub( 0, CH_FBDEDITOR_TO_FBDSERVER );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ namespace app_fbd
|
|||||||
{
|
{
|
||||||
|
|
||||||
/* @brief FBD组处理线程类 */
|
/* @brief FBD组处理线程类 */
|
||||||
class CFbdGrpWorkThread final : private kbd_public::CTimerThreadBase
|
class CFbdGrpWorkThread final : private iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
@ -104,7 +104,7 @@ private:
|
|||||||
boost::int64_t m_nLastRunFbdTime{0}; //< 上一次运行图的时间,开机后ms数
|
boost::int64_t m_nLastRunFbdTime{0}; //< 上一次运行图的时间,开机后ms数
|
||||||
boost::int64_t m_nLastRunFbdUtc{0}; //< 上一次运行图的时间,UTC毫秒数,用于给编辑端调试输出
|
boost::int64_t m_nLastRunFbdUtc{0}; //< 上一次运行图的时间,UTC毫秒数,用于给编辑端调试输出
|
||||||
|
|
||||||
kbd_net::CMbCommunicator *m_pMbComm{nullptr}; //< 通讯器,当前用于调试数据交互
|
iot_net::CMbCommunicator *m_pMbComm{nullptr}; //< 通讯器,当前用于调试数据交互
|
||||||
CFbdUtilPtr m_ptrFbdUtil; //< FBD公共操作类
|
CFbdUtilPtr m_ptrFbdUtil; //< FBD公共操作类
|
||||||
const SFbdGroupInfo m_stGrpInfo; //< 本线程管理的FBD组信息
|
const SFbdGroupInfo m_stGrpInfo; //< 本线程管理的FBD组信息
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@ CFbdServerApp::CFbdServerApp() = default;
|
|||||||
CFbdServerApp::~CFbdServerApp()
|
CFbdServerApp::~CFbdServerApp()
|
||||||
{
|
{
|
||||||
CFbdServerApp::stop();
|
CFbdServerApp::stop();
|
||||||
kbd_public::StopLogSystem();
|
iot_public::StopLogSystem();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ bool CFbdServerApp::start( int argc, char *argv[], int &/*nStatus*/)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//2.注册日志
|
//2.注册日志
|
||||||
kbd_public::StartLogSystem( strAppName.c_str(), CN_ProcName_FbdServer );
|
iot_public::StartLogSystem( strAppName.c_str(), CN_ProcName_FbdServer );
|
||||||
|
|
||||||
//3.避免进程重复启动
|
//3.避免进程重复启动
|
||||||
if ( isAlreadyRunning( strStartArgs ))
|
if ( isAlreadyRunning( strStartArgs ))
|
||||||
@ -69,8 +69,8 @@ bool CFbdServerApp::start( int argc, char *argv[], int &/*nStatus*/)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//6.创建冗余管理
|
//6.创建冗余管理
|
||||||
const kbd_public::SRunAppInfo &stRunAppInfo = m_ptrSysInfo->getCurrentRunAppInfo();
|
const iot_public::SRunAppInfo &stRunAppInfo = m_ptrSysInfo->getCurrentRunAppInfo();
|
||||||
m_ptrRedundancyMng = kbd_sys::getRedundantMngInstance( stRunAppInfo.nDomainId,
|
m_ptrRedundancyMng = iot_sys::getRedundantMngInstance( stRunAppInfo.nDomainId,
|
||||||
stRunAppInfo.nAppId,
|
stRunAppInfo.nAppId,
|
||||||
stRunAppInfo.strLocalNodeName );
|
stRunAppInfo.strLocalNodeName );
|
||||||
if ( m_ptrRedundancyMng == nullptr )
|
if ( m_ptrRedundancyMng == nullptr )
|
||||||
@ -136,7 +136,7 @@ bool CFbdServerApp::stop()
|
|||||||
|
|
||||||
//2.销毁日志系统
|
//2.销毁日志系统
|
||||||
//< 移到析构函数中,防止日志库停止后,又写日志,从而使log4cplus提示找不到logger
|
//< 移到析构函数中,防止日志库停止后,又写日志,从而使log4cplus提示找不到logger
|
||||||
//kbd_public::StopLogSystem();
|
//iot_public::StopLogSystem();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -228,7 +228,7 @@ bool CFbdServerApp::isAlreadyRunning( const std::string &strStartArgs )
|
|||||||
{
|
{
|
||||||
std::string strUniqueName = CN_ProcName_FbdServer;
|
std::string strUniqueName = CN_ProcName_FbdServer;
|
||||||
strUniqueName += strStartArgs;
|
strUniqueName += strStartArgs;
|
||||||
return kbd_public::CSingleProcInstance::hasInstanceRunning( strUniqueName );
|
return iot_public::CSingleProcInstance::hasInstanceRunning( strUniqueName );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -241,7 +241,7 @@ bool CFbdServerApp::getSystemInfo( const std::string &strAppName )
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::SRunAppInfo stRunAppInfo;
|
iot_public::SRunAppInfo stRunAppInfo;
|
||||||
if ( kbdSuccess != m_ptrSysInfo->getSysInfo().getLocalRunAppInfoByName( strAppName, stRunAppInfo ))
|
if ( kbdSuccess != m_ptrSysInfo->getSysInfo().getLocalRunAppInfoByName( strAppName, stRunAppInfo ))
|
||||||
{
|
{
|
||||||
LOGERROR( "获取系统信息失败" );
|
LOGERROR( "获取系统信息失败" );
|
||||||
@ -256,9 +256,9 @@ bool CFbdServerApp::getSystemInfo( const std::string &strAppName )
|
|||||||
|
|
||||||
bool CFbdServerApp::registToProcMng( const std::string &strStartArgs )
|
bool CFbdServerApp::registToProcMng( const std::string &strStartArgs )
|
||||||
{
|
{
|
||||||
const kbd_public::SRunAppInfo &stRunAppInfo = m_ptrSysInfo->getCurrentRunAppInfo();
|
const iot_public::SRunAppInfo &stRunAppInfo = m_ptrSysInfo->getCurrentRunAppInfo();
|
||||||
|
|
||||||
kbd_sys::SProcessInfoKey stProcKey;
|
iot_sys::SProcessInfoKey stProcKey;
|
||||||
stProcKey.nDomainId = stRunAppInfo.nDomainId;
|
stProcKey.nDomainId = stRunAppInfo.nDomainId;
|
||||||
stProcKey.nAppId = stRunAppInfo.nAppId;
|
stProcKey.nAppId = stRunAppInfo.nAppId;
|
||||||
stProcKey.strNodeName = stRunAppInfo.strLocalNodeName;
|
stProcKey.strNodeName = stRunAppInfo.strLocalNodeName;
|
||||||
@ -285,7 +285,7 @@ bool CFbdServerApp::registToProcMng( const std::string &strStartArgs )
|
|||||||
bool CFbdServerApp::initialize()
|
bool CFbdServerApp::initialize()
|
||||||
{
|
{
|
||||||
//< 初始化翻译
|
//< 初始化翻译
|
||||||
if ( kbd_public::initI18N( "/app_fbd/translate", "app_fbd" ))
|
if ( iot_public::initI18N( "/app_fbd/translate", "app_fbd" ))
|
||||||
{
|
{
|
||||||
LOGDEBUG( I18N_C( "I18N test:\n This is src hardcode. \n int = [%d] , str = [%s]\n" ), 123, "test" );
|
LOGDEBUG( I18N_C( "I18N test:\n This is src hardcode. \n int = [%d] , str = [%s]\n" ), 123, "test" );
|
||||||
}
|
}
|
||||||
@ -295,7 +295,7 @@ bool CFbdServerApp::initialize()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 初始化消息总线
|
//< 初始化消息总线
|
||||||
if ( !kbd_net::initMsgBus( CN_ProcName_FbdServer, "" ))
|
if ( !iot_net::initMsgBus( CN_ProcName_FbdServer, "" ))
|
||||||
{
|
{
|
||||||
LOGERROR( "初始化消息总线失败" );
|
LOGERROR( "初始化消息总线失败" );
|
||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
@ -331,7 +331,7 @@ bool CFbdServerApp::clean()
|
|||||||
{
|
{
|
||||||
m_ptrFbdSvrMng.reset();
|
m_ptrFbdSvrMng.reset();
|
||||||
m_ptrAlmSrcApi.reset();
|
m_ptrAlmSrcApi.reset();
|
||||||
kbd_net::releaseMsgBus();
|
iot_net::releaseMsgBus();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,7 +18,7 @@ namespace kbd_app
|
|||||||
namespace app_fbd
|
namespace app_fbd
|
||||||
{
|
{
|
||||||
|
|
||||||
class CFbdServerApp final : public kbd_public::CBaseService, public kbd_sys::CProcessQuitInterface
|
class CFbdServerApp final : public iot_public::CBaseService, public iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CFbdServerApp();
|
CFbdServerApp();
|
||||||
@ -82,8 +82,8 @@ private:
|
|||||||
private:
|
private:
|
||||||
CFbdSysInfoApiPtr m_ptrSysInfo{nullptr}; //< 系统信息
|
CFbdSysInfoApiPtr m_ptrSysInfo{nullptr}; //< 系统信息
|
||||||
CFbdAlarmSrcApiPtr m_ptrAlmSrcApi{nullptr}; //< 告警源(发送告警)接口,放这里控制生命周期,防止析构
|
CFbdAlarmSrcApiPtr m_ptrAlmSrcApi{nullptr}; //< 告警源(发送告警)接口,放这里控制生命周期,防止析构
|
||||||
kbd_sys::CProcMngInterfacePtr m_ptrProcMng{nullptr}; //< 进程管理访问库智能指针
|
iot_sys::CProcMngInterfacePtr m_ptrProcMng{nullptr}; //< 进程管理访问库智能指针
|
||||||
kbd_sys::CRedundantMngInterfacePtr m_ptrRedundancyMng{nullptr}; //< 冗余管理类
|
iot_sys::CRedundantMngInterfacePtr m_ptrRedundancyMng{nullptr}; //< 冗余管理类
|
||||||
CFbdServerMngPtr m_ptrFbdSvrMng{nullptr}; //< FBD服务管理类
|
CFbdServerMngPtr m_ptrFbdSvrMng{nullptr}; //< FBD服务管理类
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ namespace kbd_app
|
|||||||
namespace app_fbd
|
namespace app_fbd
|
||||||
{
|
{
|
||||||
|
|
||||||
CFbdServerMng::CFbdServerMng( kbd_sys::CProcMngInterfacePtr ptrProcMng )
|
CFbdServerMng::CFbdServerMng( iot_sys::CProcMngInterfacePtr ptrProcMng )
|
||||||
: m_ptrProcMng( std::move( ptrProcMng ))
|
: m_ptrProcMng( std::move( ptrProcMng ))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,10 +19,10 @@ namespace kbd_app
|
|||||||
namespace app_fbd
|
namespace app_fbd
|
||||||
{
|
{
|
||||||
|
|
||||||
class CFbdServerMng final : public kbd_sys::CRedundantSwitchInterface
|
class CFbdServerMng final : public iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit CFbdServerMng( kbd_sys::CProcMngInterfacePtr ptrProcMng );
|
explicit CFbdServerMng( iot_sys::CProcMngInterfacePtr ptrProcMng );
|
||||||
~CFbdServerMng();
|
~CFbdServerMng();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,7 +42,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
//< 进程管理访问库智能指针,构造时传入
|
//< 进程管理访问库智能指针,构造时传入
|
||||||
const kbd_sys::CProcMngInterfacePtr m_ptrProcMng;
|
const iot_sys::CProcMngInterfacePtr m_ptrProcMng;
|
||||||
|
|
||||||
CFbdGroupMngPtr m_ptrFbdGrpMng; //< FBD组管理
|
CFbdGroupMngPtr m_ptrFbdGrpMng; //< FBD组管理
|
||||||
COnlieModifyThreadPtr m_ptrOnlieModifyThread; //< 在线组态更新线程
|
COnlieModifyThreadPtr m_ptrOnlieModifyThread; //< 在线组态更新线程
|
||||||
|
|||||||
@ -65,7 +65,7 @@ std::string CFbdUtil::getFbdPluginsPath( const std::string &strDllName )
|
|||||||
#else
|
#else
|
||||||
strFileName = "lib" + strDllName + boost::dll::shared_library::suffix().string();
|
strFileName = "lib" + strDllName + boost::dll::shared_library::suffix().string();
|
||||||
#endif
|
#endif
|
||||||
return kbd_public::CFileUtil::getPathOfBinFile( "fbd/svr_plugins/" + strFileName );
|
return iot_public::CFileUtil::getPathOfBinFile( "fbd/svr_plugins/" + strFileName );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ int CFbdUtil::getGroupDataFromDB( const std::vector<SFbdGroupInfo> &vecGrpInfo,
|
|||||||
GrpIdToDataInfoMAP &mapGrpData )
|
GrpIdToDataInfoMAP &mapGrpData )
|
||||||
{
|
{
|
||||||
//< 析构时会自动关闭连接
|
//< 析构时会自动关闭连接
|
||||||
kbd_dbms::CDbApi objDbConn( DB_CONN_MODEL_READ );
|
iot_dbms::CDbApi objDbConn( DB_CONN_MODEL_READ );
|
||||||
if ( !objDbConn.open())
|
if ( !objDbConn.open())
|
||||||
{
|
{
|
||||||
LOGERROR( "打开数据库失败" );
|
LOGERROR( "打开数据库失败" );
|
||||||
|
|||||||
@ -90,8 +90,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline int getDebugResponse( const kbd_idlfile::SFBDDebugRequest &objReq,
|
inline int getDebugResponse( const iot_idl::SFBDDebugRequest &objReq,
|
||||||
kbd_idlfile::SFBDDebugResponse &objRep )
|
iot_idl::SFBDDebugResponse &objRep )
|
||||||
{
|
{
|
||||||
return m_ptrDiagData->getDebugResponse( objReq, objRep );
|
return m_ptrDiagData->getDebugResponse( objReq, objRep );
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ namespace app_fbd
|
|||||||
{
|
{
|
||||||
|
|
||||||
COnlieModifyThread::COnlieModifyThread( CFbdGroupMngPtr ptrGrpMng )
|
COnlieModifyThread::COnlieModifyThread( CFbdGroupMngPtr ptrGrpMng )
|
||||||
: kbd_public::CTimerThreadBase( "OnlineModifyThread", 2000 ),
|
: iot_public::CTimerThreadBase( "OnlineModifyThread", 2000 ),
|
||||||
m_ptrFbdGrpMng( std::move( ptrGrpMng ))
|
m_ptrFbdGrpMng( std::move( ptrGrpMng ))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ namespace app_fbd
|
|||||||
{
|
{
|
||||||
|
|
||||||
/* @brief 在线组态线程类 */
|
/* @brief 在线组态线程类 */
|
||||||
class COnlieModifyThread final : private kbd_public::CTimerThreadBase
|
class COnlieModifyThread final : private iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit COnlieModifyThread( CFbdGroupMngPtr ptrGrpMng );
|
explicit COnlieModifyThread( CFbdGroupMngPtr ptrGrpMng );
|
||||||
|
|||||||
@ -92,7 +92,7 @@ void CPointSubThread::execute()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_pMbComm = new kbd_net::CMbCommunicator();
|
m_pMbComm = new iot_net::CMbCommunicator();
|
||||||
|
|
||||||
//< 必须订阅所有专业的变化数据,因为可能订阅其他专业的测点
|
//< 必须订阅所有专业的变化数据,因为可能订阅其他专业的测点
|
||||||
if ( m_pMbComm->addSub( 0, CH_SCADA_TO_HMI_DATA_CHANGE ) &&
|
if ( m_pMbComm->addSub( 0, CH_SCADA_TO_HMI_DATA_CHANGE ) &&
|
||||||
@ -150,7 +150,7 @@ void CPointSubThread::execute()
|
|||||||
|
|
||||||
recvPntMsg( 500 ); //< 接收处理消息
|
recvPntMsg( 500 ); //< 接收处理消息
|
||||||
|
|
||||||
const int64 lCurTime = kbd_public::getMonotonicMsec();
|
const int64 lCurTime = iot_public::getMonotonicMsec();
|
||||||
if ( lCurTime - m_lLastCheckTime > 1000 ) //< 1秒钟检查一次是否有测点已经失去联系
|
if ( lCurTime - m_lLastCheckTime > 1000 ) //< 1秒钟检查一次是否有测点已经失去联系
|
||||||
{
|
{
|
||||||
m_ptrPointSub->resetOverTimePntValAndSta();
|
m_ptrPointSub->resetOverTimePntValAndSta();
|
||||||
@ -164,14 +164,14 @@ void CPointSubThread::recvPntMsg( const int nTimeoutMsec )
|
|||||||
{
|
{
|
||||||
if ( m_pMbComm->recvMsg( m_objMsgRcv, nTimeoutMsec ))
|
if ( m_pMbComm->recvMsg( m_objMsgRcv, nTimeoutMsec ))
|
||||||
{
|
{
|
||||||
if ( m_objMsgRcv.getMsgType() != kbd_idlfile::MT_DP_CHANGE_DATA ||
|
if ( m_objMsgRcv.getMsgType() != iot_idl::MT_DP_CHANGE_DATA ||
|
||||||
( m_objMsgRcv.getChannelID() != CH_SCADA_TO_HMI_DATA_CHANGE &&
|
( m_objMsgRcv.getChannelID() != CH_SCADA_TO_HMI_DATA_CHANGE &&
|
||||||
m_objMsgRcv.getChannelID() != CH_SCADA_TO_HMI_DATA_UPDATE ))
|
m_objMsgRcv.getChannelID() != CH_SCADA_TO_HMI_DATA_UPDATE ))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_idlfile::SRealTimeDataPkg objData;
|
iot_idl::SRealTimeDataPkg objData;
|
||||||
if ( !objData.ParseFromArray( m_objMsgRcv.getDataPtr(), static_cast<int>(m_objMsgRcv.getDataSize())))
|
if ( !objData.ParseFromArray( m_objMsgRcv.getDataPtr(), static_cast<int>(m_objMsgRcv.getDataSize())))
|
||||||
{
|
{
|
||||||
LOGERROR( "解析SRealTimeDataPkg消息失败" );
|
LOGERROR( "解析SRealTimeDataPkg消息失败" );
|
||||||
@ -184,7 +184,7 @@ void CPointSubThread::recvPntMsg( const int nTimeoutMsec )
|
|||||||
|
|
||||||
for ( int i = 0; i < objData.stairtd_size(); i++ )
|
for ( int i = 0; i < objData.stairtd_size(); i++ )
|
||||||
{
|
{
|
||||||
const kbd_idlfile::SAiRealTimeData &stAi = objData.stairtd( i );
|
const iot_idl::SAiRealTimeData &stAi = objData.stairtd( i );
|
||||||
vecPntKey.push_back( stAi.strtablename() + "." + stAi.strtagname() + "." + stAi.strcolumnname());
|
vecPntKey.push_back( stAi.strtablename() + "." + stAi.strtagname() + "." + stAi.strcolumnname());
|
||||||
vecValue.push_back( stAi.fvalue());
|
vecValue.push_back( stAi.fvalue());
|
||||||
vecStatus.push_back( stAi.ustatus());
|
vecStatus.push_back( stAi.ustatus());
|
||||||
@ -192,7 +192,7 @@ void CPointSubThread::recvPntMsg( const int nTimeoutMsec )
|
|||||||
|
|
||||||
for ( int i = 0; i < objData.stdirtd_size(); i++ )
|
for ( int i = 0; i < objData.stdirtd_size(); i++ )
|
||||||
{
|
{
|
||||||
const kbd_idlfile::SDiRealTimeData &stDi = objData.stdirtd( i );
|
const iot_idl::SDiRealTimeData &stDi = objData.stdirtd( i );
|
||||||
vecPntKey.push_back( stDi.strtablename() + "." + stDi.strtagname() + "." + stDi.strcolumnname());
|
vecPntKey.push_back( stDi.strtablename() + "." + stDi.strtagname() + "." + stDi.strcolumnname());
|
||||||
vecValue.push_back( stDi.nvalue());
|
vecValue.push_back( stDi.nvalue());
|
||||||
vecStatus.push_back( stDi.ustatus());
|
vecStatus.push_back( stDi.ustatus());
|
||||||
@ -200,7 +200,7 @@ void CPointSubThread::recvPntMsg( const int nTimeoutMsec )
|
|||||||
|
|
||||||
for ( int i = 0; i < objData.stmirtd_size(); i++ )
|
for ( int i = 0; i < objData.stmirtd_size(); i++ )
|
||||||
{
|
{
|
||||||
const kbd_idlfile::SMiRealTimeData &stMi = objData.stmirtd( i );
|
const iot_idl::SMiRealTimeData &stMi = objData.stmirtd( i );
|
||||||
vecPntKey.push_back( stMi.strtablename() + "." + stMi.strtagname() + "." + stMi.strcolumnname());
|
vecPntKey.push_back( stMi.strtablename() + "." + stMi.strtagname() + "." + stMi.strcolumnname());
|
||||||
vecValue.push_back( stMi.nvalue());
|
vecValue.push_back( stMi.nvalue());
|
||||||
vecStatus.push_back( stMi.ustatus());
|
vecStatus.push_back( stMi.ustatus());
|
||||||
@ -208,7 +208,7 @@ void CPointSubThread::recvPntMsg( const int nTimeoutMsec )
|
|||||||
|
|
||||||
for ( int i = 0; i < objData.stpirtd_size(); i++ )
|
for ( int i = 0; i < objData.stpirtd_size(); i++ )
|
||||||
{
|
{
|
||||||
const kbd_idlfile::SPiRealTimeData &stPi = objData.stpirtd( i );
|
const iot_idl::SPiRealTimeData &stPi = objData.stpirtd( i );
|
||||||
vecPntKey.push_back( stPi.strtablename() + "." + stPi.strtagname() + "." + stPi.strcolumnname());
|
vecPntKey.push_back( stPi.strtablename() + "." + stPi.strtagname() + "." + stPi.strcolumnname());
|
||||||
vecValue.push_back( stPi.dvalue());
|
vecValue.push_back( stPi.dvalue());
|
||||||
vecStatus.push_back( stPi.ustatus());
|
vecStatus.push_back( stPi.ustatus());
|
||||||
|
|||||||
@ -19,7 +19,7 @@ namespace kbd_app
|
|||||||
namespace app_fbd
|
namespace app_fbd
|
||||||
{
|
{
|
||||||
|
|
||||||
class CPointSubThread final : private kbd_public::CTimerThreadBase
|
class CPointSubThread final : private iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPointSubThread();
|
CPointSubThread();
|
||||||
@ -56,8 +56,8 @@ private:
|
|||||||
int m_nLoopBeforClear{0}; //< m_ptrPointSub无人使用时,延迟清理的周期计数
|
int m_nLoopBeforClear{0}; //< m_ptrPointSub无人使用时,延迟清理的周期计数
|
||||||
int64 m_lLastCheckTime{0}; //< 上次检测时间,用于检测测点是否已经失效
|
int64 m_lLastCheckTime{0}; //< 上次检测时间,用于检测测点是否已经失效
|
||||||
|
|
||||||
kbd_net::CMbCommunicator *m_pMbComm{nullptr}; //< 消息总线通讯器
|
iot_net::CMbCommunicator *m_pMbComm{nullptr}; //< 消息总线通讯器
|
||||||
kbd_net::CMbMessage m_objMsgRcv; //< 接收的消息总线消息
|
iot_net::CMbMessage m_objMsgRcv; //< 接收的消息总线消息
|
||||||
|
|
||||||
CFbdPointSubApiPtr m_ptrPointSub; //< 测点订阅管理接口
|
CFbdPointSubApiPtr m_ptrPointSub; //< 测点订阅管理接口
|
||||||
};
|
};
|
||||||
|
|||||||
@ -87,7 +87,7 @@ void CAlarmCltThread::execute()
|
|||||||
//< 不用判断null,肯定不会失败
|
//< 不用判断null,肯定不会失败
|
||||||
m_ptrFbdAlmCltAip = getFbdAlarmCltApi();
|
m_ptrFbdAlmCltAip = getFbdAlarmCltApi();
|
||||||
|
|
||||||
m_pMbComm = new kbd_net::CMbCommunicator();
|
m_pMbComm = new iot_net::CMbCommunicator();
|
||||||
|
|
||||||
//< 使用接收消息控制运行间隔
|
//< 使用接收消息控制运行间隔
|
||||||
m_nRunPeriodMsec = 0;
|
m_nRunPeriodMsec = 0;
|
||||||
|
|||||||
@ -22,7 +22,7 @@ namespace kbd_app
|
|||||||
namespace app_fbd
|
namespace app_fbd
|
||||||
{
|
{
|
||||||
|
|
||||||
class CAlarmCltThread final : private kbd_public::CTimerThreadBase
|
class CAlarmCltThread final : private iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
friend class CAlarmMsgHandler;
|
friend class CAlarmMsgHandler;
|
||||||
friend class CItlAlmMsgHandler;
|
friend class CItlAlmMsgHandler;
|
||||||
@ -52,8 +52,8 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
int m_nLoopBeforClear{0}; //< m_ptrFbdAlmCltAip无人使用时,延迟清理的周期计数
|
int m_nLoopBeforClear{0}; //< m_ptrFbdAlmCltAip无人使用时,延迟清理的周期计数
|
||||||
kbd_net::CMbCommunicator *m_pMbComm{nullptr}; //< 消息总线通讯器
|
iot_net::CMbCommunicator *m_pMbComm{nullptr}; //< 消息总线通讯器
|
||||||
kbd_net::CMbMessage m_objMsgRcv; //< 接收的消息总线消息
|
iot_net::CMbMessage m_objMsgRcv; //< 接收的消息总线消息
|
||||||
|
|
||||||
CAlarmMsgHandler m_objAlarmHandler; //< 原始告警消息处理类
|
CAlarmMsgHandler m_objAlarmHandler; //< 原始告警消息处理类
|
||||||
CItlAlmMsgHandler m_objItlAlmHandler; //< 智能告警消息处理类
|
CItlAlmMsgHandler m_objItlAlmHandler; //< 智能告警消息处理类
|
||||||
|
|||||||
@ -38,7 +38,7 @@ CAlarmMsgHandler::~CAlarmMsgHandler() = default;
|
|||||||
|
|
||||||
void CAlarmMsgHandler::refreshState()
|
void CAlarmMsgHandler::refreshState()
|
||||||
{
|
{
|
||||||
m_nTimeNow = kbd_public::getMonotonicMsec();
|
m_nTimeNow = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
checkInit();
|
checkInit();
|
||||||
cleanSrvStatMap();
|
cleanSrvStatMap();
|
||||||
@ -47,7 +47,7 @@ void CAlarmMsgHandler::refreshState()
|
|||||||
|
|
||||||
void CAlarmMsgHandler::handleMessage()
|
void CAlarmMsgHandler::handleMessage()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
if ( !objMsgRcv.isValid())
|
if ( !objMsgRcv.isValid())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -64,43 +64,43 @@ void CAlarmMsgHandler::handleMessage()
|
|||||||
//< 按类型处理
|
//< 按类型处理
|
||||||
switch ( objMsgRcv.getMsgType())
|
switch ( objMsgRcv.getMsgType())
|
||||||
{
|
{
|
||||||
case kbd_idlfile::MT_ALM_AS2AC_SEQNO:
|
case iot_idl::MT_ALM_AS2AC_SEQNO:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_ALM_AS2AC_SEQNO");
|
//LOGDEBUG("Received MT_ALM_AS2AC_SEQNO");
|
||||||
handle_MT_ALM_AS2AC_SEQNO();
|
handle_MT_ALM_AS2AC_SEQNO();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_ALM_AS2AC_ALL:
|
case iot_idl::MT_ALM_AS2AC_ALL:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_ALM_AS2AC_ALL");
|
//LOGDEBUG("Received MT_ALM_AS2AC_ALL");
|
||||||
handle_MT_ALM_AS2AC_ALL();
|
handle_MT_ALM_AS2AC_ALL();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_ALM_AS2AC_ADD:
|
case iot_idl::MT_ALM_AS2AC_ADD:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_ALM_AS2AC_ADD");
|
//LOGDEBUG("Received MT_ALM_AS2AC_ADD");
|
||||||
handle_MT_ALM_AS2AC_ADD();
|
handle_MT_ALM_AS2AC_ADD();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_ALM_AS2AC_CFM:
|
case iot_idl::MT_ALM_AS2AC_CFM:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_ALM_AS2AC_CFM");
|
//LOGDEBUG("Received MT_ALM_AS2AC_CFM");
|
||||||
handle_MT_ALM_AS2AC_CFM();
|
handle_MT_ALM_AS2AC_CFM();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_ALM_AS2AC_DEL:
|
case iot_idl::MT_ALM_AS2AC_DEL:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_ALM_AS2AC_DEL");
|
//LOGDEBUG("Received MT_ALM_AS2AC_DEL");
|
||||||
handle_MT_ALM_AS2AC_DEL();
|
handle_MT_ALM_AS2AC_DEL();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_ALM_AS2AC_RELEASE:
|
case iot_idl::MT_ALM_AS2AC_RELEASE:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_ALM_AS2AC_RELEASE");
|
//LOGDEBUG("Received MT_ALM_AS2AC_RELEASE");
|
||||||
handle_MT_ALM_AS2AC_RELEASE();
|
handle_MT_ALM_AS2AC_RELEASE();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_ALM_AS2AC_WAVE:
|
case iot_idl::MT_ALM_AS2AC_WAVE:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_ALM_AS2AC_WAVE");
|
//LOGDEBUG("Received MT_ALM_AS2AC_WAVE");
|
||||||
handle_MT_ALM_AS2AC_WAVE();
|
handle_MT_ALM_AS2AC_WAVE();
|
||||||
@ -138,8 +138,8 @@ void CAlarmMsgHandler::checkInit()
|
|||||||
LOGINFO( "checkInit(): 添加订阅成功!" );
|
LOGINFO( "checkInit(): 添加订阅成功!" );
|
||||||
|
|
||||||
//< 向告警服务请求当前序号
|
//< 向告警服务请求当前序号
|
||||||
kbd_net::CMbMessage objMbMsg;
|
iot_net::CMbMessage objMbMsg;
|
||||||
objMbMsg.setMsgType( kbd_idlfile::MT_ALM_AC2AS_SEQNO_REQ );
|
objMbMsg.setMsgType( iot_idl::MT_ALM_AC2AS_SEQNO_REQ );
|
||||||
objMbMsg.setSubject( CN_AppId_PUBLIC, CH_CLT_TO_ALM );
|
objMbMsg.setSubject( CN_AppId_PUBLIC, CH_CLT_TO_ALM );
|
||||||
objMbMsg.setData( cn_strSignature );
|
objMbMsg.setData( cn_strSignature );
|
||||||
|
|
||||||
@ -174,8 +174,8 @@ void CAlarmMsgHandler::cleanSrvStatMap()
|
|||||||
|
|
||||||
void CAlarmMsgHandler::replyAllReq()
|
void CAlarmMsgHandler::replyAllReq()
|
||||||
{
|
{
|
||||||
kbd_net::CMbMessage objMsgSend;
|
iot_net::CMbMessage objMsgSend;
|
||||||
objMsgSend.setMsgType( kbd_idlfile::MT_ALM_AC2AS_ALL_REQ );
|
objMsgSend.setMsgType( iot_idl::MT_ALM_AC2AS_ALL_REQ );
|
||||||
objMsgSend.setSubject( CN_AppId_PUBLIC, CH_CLT_TO_ALM );
|
objMsgSend.setSubject( CN_AppId_PUBLIC, CH_CLT_TO_ALM );
|
||||||
objMsgSend.setData( cn_strSignature );
|
objMsgSend.setData( cn_strSignature );
|
||||||
|
|
||||||
@ -191,8 +191,8 @@ void CAlarmMsgHandler::replyRtReq( SAlmSrvStatus &objSrvStatus )
|
|||||||
|
|
||||||
LOGINFO( "请求重传。" );
|
LOGINFO( "请求重传。" );
|
||||||
|
|
||||||
kbd_net::CMbMessage objMsgSend;
|
iot_net::CMbMessage objMsgSend;
|
||||||
objMsgSend.setMsgType( kbd_idlfile::MT_ALM_AC2AS_RT_REQ );
|
objMsgSend.setMsgType( iot_idl::MT_ALM_AC2AS_RT_REQ );
|
||||||
objMsgSend.setSubject( CN_AppId_PUBLIC, CH_CLT_TO_ALM );
|
objMsgSend.setSubject( CN_AppId_PUBLIC, CH_CLT_TO_ALM );
|
||||||
objMsgSend.setData( cn_strSignature );
|
objMsgSend.setData( cn_strSignature );
|
||||||
|
|
||||||
@ -208,7 +208,7 @@ void CAlarmMsgHandler::replyRtReq( SAlmSrvStatus &objSrvStatus )
|
|||||||
|
|
||||||
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_SEQNO()
|
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_SEQNO()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 消息验证
|
//< 消息验证
|
||||||
std::string strData(( const char * ) objMsgRcv.getDataPtr(), objMsgRcv.getDataSize());
|
std::string strData(( const char * ) objMsgRcv.getDataPtr(), objMsgRcv.getDataSize());
|
||||||
@ -250,10 +250,10 @@ void CAlarmMsgHandler::handle_MT_ALM_AS2AC_SEQNO()
|
|||||||
|
|
||||||
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_ALL()
|
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_ALL()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SAlmCltAddAlm objAllAlm;
|
iot_idl::SAlmCltAddAlm objAllAlm;
|
||||||
bool bRc = objAllAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objAllAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
@ -274,10 +274,10 @@ void CAlarmMsgHandler::handle_MT_ALM_AS2AC_ALL()
|
|||||||
|
|
||||||
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_ADD()
|
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_ADD()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SAlmCltAddAlm objAddAlm;
|
iot_idl::SAlmCltAddAlm objAddAlm;
|
||||||
bool bRc = objAddAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objAddAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
@ -317,10 +317,10 @@ void CAlarmMsgHandler::handle_MT_ALM_AS2AC_ADD()
|
|||||||
|
|
||||||
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_CFM()
|
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_CFM()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SAlmCltCfmAlm objCfmAlm;
|
iot_idl::SAlmCltCfmAlm objCfmAlm;
|
||||||
bool bRc = objCfmAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objCfmAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
@ -360,10 +360,10 @@ void CAlarmMsgHandler::handle_MT_ALM_AS2AC_CFM()
|
|||||||
|
|
||||||
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_DEL()
|
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_DEL()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SAlmCltDelAlm objDelAlm;
|
iot_idl::SAlmCltDelAlm objDelAlm;
|
||||||
bool bRc = objDelAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objDelAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
@ -403,10 +403,10 @@ void CAlarmMsgHandler::handle_MT_ALM_AS2AC_DEL()
|
|||||||
|
|
||||||
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_RELEASE()
|
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_RELEASE()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SAlmCltReleaseAlm objReleaseAlm;
|
iot_idl::SAlmCltReleaseAlm objReleaseAlm;
|
||||||
bool bRc = objReleaseAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objReleaseAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
@ -446,10 +446,10 @@ void CAlarmMsgHandler::handle_MT_ALM_AS2AC_RELEASE()
|
|||||||
|
|
||||||
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_WAVE()
|
void CAlarmMsgHandler::handle_MT_ALM_AS2AC_WAVE()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SAlmCltLinkWave2Alm objWave2Alm;
|
iot_idl::SAlmCltLinkWave2Alm objWave2Alm;
|
||||||
bool bRc = objWave2Alm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objWave2Alm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
|
|||||||
@ -38,7 +38,7 @@ CItlAlmMsgHandler::~CItlAlmMsgHandler() = default;
|
|||||||
|
|
||||||
void CItlAlmMsgHandler::refreshState()
|
void CItlAlmMsgHandler::refreshState()
|
||||||
{
|
{
|
||||||
m_nTimeNow = kbd_public::getMonotonicMsec();
|
m_nTimeNow = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
checkInit();
|
checkInit();
|
||||||
cleanSrvStatMap();
|
cleanSrvStatMap();
|
||||||
@ -47,7 +47,7 @@ void CItlAlmMsgHandler::refreshState()
|
|||||||
|
|
||||||
void CItlAlmMsgHandler::handleMessage()
|
void CItlAlmMsgHandler::handleMessage()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
if ( !objMsgRcv.isValid())
|
if ( !objMsgRcv.isValid())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -64,37 +64,37 @@ void CItlAlmMsgHandler::handleMessage()
|
|||||||
//< 按类型处理
|
//< 按类型处理
|
||||||
switch ( objMsgRcv.getMsgType())
|
switch ( objMsgRcv.getMsgType())
|
||||||
{
|
{
|
||||||
case kbd_idlfile::MT_IA_S2C_SEQNO:
|
case iot_idl::MT_IA_S2C_SEQNO:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_IA_S2C_SEQNO");
|
//LOGDEBUG("Received MT_IA_S2C_SEQNO");
|
||||||
handle_MT_IA_S2C_SEQNO();
|
handle_MT_IA_S2C_SEQNO();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_IA_S2C_ALL:
|
case iot_idl::MT_IA_S2C_ALL:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_IA_S2C_ALL");
|
//LOGDEBUG("Received MT_IA_S2C_ALL");
|
||||||
handle_MT_IA_S2C_ALL();
|
handle_MT_IA_S2C_ALL();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_IA_S2C_ADD:
|
case iot_idl::MT_IA_S2C_ADD:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_IA_S2C_ADD");
|
//LOGDEBUG("Received MT_IA_S2C_ADD");
|
||||||
handle_MT_IA_S2C_ADD();
|
handle_MT_IA_S2C_ADD();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_IA_S2C_DEL:
|
case iot_idl::MT_IA_S2C_DEL:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_IA_S2C_DEL");
|
//LOGDEBUG("Received MT_IA_S2C_DEL");
|
||||||
handle_MT_IA_S2C_DEL();
|
handle_MT_IA_S2C_DEL();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_IA_S2C_BROKEN:
|
case iot_idl::MT_IA_S2C_BROKEN:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_IA_S2C_BROKEN");
|
//LOGDEBUG("Received MT_IA_S2C_BROKEN");
|
||||||
handle_MT_IA_S2C_BROKEN();
|
handle_MT_IA_S2C_BROKEN();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_IA_S2C_RELEASE:
|
case iot_idl::MT_IA_S2C_RELEASE:
|
||||||
{
|
{
|
||||||
//LOGDEBUG("Received MT_IA_S2C_RELEASE");
|
//LOGDEBUG("Received MT_IA_S2C_RELEASE");
|
||||||
handle_MT_IA_S2C_RELEASE();
|
handle_MT_IA_S2C_RELEASE();
|
||||||
@ -132,8 +132,8 @@ void CItlAlmMsgHandler::checkInit()
|
|||||||
LOGINFO( "checkInit(): 添加订阅成功!" );
|
LOGINFO( "checkInit(): 添加订阅成功!" );
|
||||||
|
|
||||||
//< 向告警服务请求当前序号
|
//< 向告警服务请求当前序号
|
||||||
kbd_net::CMbMessage objMbMsg;
|
iot_net::CMbMessage objMbMsg;
|
||||||
objMbMsg.setMsgType( kbd_idlfile::MT_IA_C2S_SEQNO_REQ );
|
objMbMsg.setMsgType( iot_idl::MT_IA_C2S_SEQNO_REQ );
|
||||||
objMbMsg.setSubject( CN_AppId_PUBLIC, CH_IA_CLT_TO_SRV );
|
objMbMsg.setSubject( CN_AppId_PUBLIC, CH_IA_CLT_TO_SRV );
|
||||||
objMbMsg.setData( cn_strSignature );
|
objMbMsg.setData( cn_strSignature );
|
||||||
|
|
||||||
@ -168,8 +168,8 @@ void CItlAlmMsgHandler::cleanSrvStatMap()
|
|||||||
|
|
||||||
void CItlAlmMsgHandler::replyAllReq()
|
void CItlAlmMsgHandler::replyAllReq()
|
||||||
{
|
{
|
||||||
kbd_net::CMbMessage objMsgSend;
|
iot_net::CMbMessage objMsgSend;
|
||||||
objMsgSend.setMsgType( kbd_idlfile::MT_IA_C2S_ALL_REQ );
|
objMsgSend.setMsgType( iot_idl::MT_IA_C2S_ALL_REQ );
|
||||||
objMsgSend.setSubject( CN_AppId_PUBLIC, CH_IA_CLT_TO_SRV );
|
objMsgSend.setSubject( CN_AppId_PUBLIC, CH_IA_CLT_TO_SRV );
|
||||||
objMsgSend.setData( cn_strSignature );
|
objMsgSend.setData( cn_strSignature );
|
||||||
|
|
||||||
@ -185,8 +185,8 @@ void CItlAlmMsgHandler::replyRtReq( SItlAlmSrvStatus &objSrvStatus )
|
|||||||
|
|
||||||
LOGINFO( "请求重传。" );
|
LOGINFO( "请求重传。" );
|
||||||
|
|
||||||
kbd_net::CMbMessage objMsgSend;
|
iot_net::CMbMessage objMsgSend;
|
||||||
objMsgSend.setMsgType( kbd_idlfile::MT_IA_C2S_RT_REQ );
|
objMsgSend.setMsgType( iot_idl::MT_IA_C2S_RT_REQ );
|
||||||
objMsgSend.setSubject( CN_AppId_PUBLIC, CH_IA_CLT_TO_SRV );
|
objMsgSend.setSubject( CN_AppId_PUBLIC, CH_IA_CLT_TO_SRV );
|
||||||
objMsgSend.setData( cn_strSignature );
|
objMsgSend.setData( cn_strSignature );
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ void CItlAlmMsgHandler::replyRtReq( SItlAlmSrvStatus &objSrvStatus )
|
|||||||
|
|
||||||
void CItlAlmMsgHandler::handle_MT_IA_S2C_SEQNO()
|
void CItlAlmMsgHandler::handle_MT_IA_S2C_SEQNO()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 消息验证
|
//< 消息验证
|
||||||
std::string strData(( const char * ) objMsgRcv.getDataPtr(), objMsgRcv.getDataSize());
|
std::string strData(( const char * ) objMsgRcv.getDataPtr(), objMsgRcv.getDataSize());
|
||||||
@ -244,10 +244,10 @@ void CItlAlmMsgHandler::handle_MT_IA_S2C_SEQNO()
|
|||||||
|
|
||||||
void CItlAlmMsgHandler::handle_MT_IA_S2C_ALL()
|
void CItlAlmMsgHandler::handle_MT_IA_S2C_ALL()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SIntelliAlmAdd objAllAlm;
|
iot_idl::SIntelliAlmAdd objAllAlm;
|
||||||
bool bRc = objAllAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objAllAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
@ -268,10 +268,10 @@ void CItlAlmMsgHandler::handle_MT_IA_S2C_ALL()
|
|||||||
|
|
||||||
void CItlAlmMsgHandler::handle_MT_IA_S2C_ADD()
|
void CItlAlmMsgHandler::handle_MT_IA_S2C_ADD()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SIntelliAlmAdd objAddAlm;
|
iot_idl::SIntelliAlmAdd objAddAlm;
|
||||||
bool bRc = objAddAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objAddAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
@ -311,10 +311,10 @@ void CItlAlmMsgHandler::handle_MT_IA_S2C_ADD()
|
|||||||
|
|
||||||
void CItlAlmMsgHandler::handle_MT_IA_S2C_DEL()
|
void CItlAlmMsgHandler::handle_MT_IA_S2C_DEL()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SIntelliAlmDel objDelAlm;
|
iot_idl::SIntelliAlmDel objDelAlm;
|
||||||
bool bRc = objDelAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objDelAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
@ -354,10 +354,10 @@ void CItlAlmMsgHandler::handle_MT_IA_S2C_DEL()
|
|||||||
|
|
||||||
void CItlAlmMsgHandler::handle_MT_IA_S2C_BROKEN()
|
void CItlAlmMsgHandler::handle_MT_IA_S2C_BROKEN()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SIntelliAlmBroken objBrokenAlm;
|
iot_idl::SIntelliAlmBroken objBrokenAlm;
|
||||||
bool bRc = objBrokenAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objBrokenAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
@ -397,10 +397,10 @@ void CItlAlmMsgHandler::handle_MT_IA_S2C_BROKEN()
|
|||||||
|
|
||||||
void CItlAlmMsgHandler::handle_MT_IA_S2C_RELEASE()
|
void CItlAlmMsgHandler::handle_MT_IA_S2C_RELEASE()
|
||||||
{
|
{
|
||||||
const kbd_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
const iot_net::CMbMessage &objMsgRcv = m_pParent->m_objMsgRcv;
|
||||||
|
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SIntelliAlmRelease objReleaseAlm;
|
iot_idl::SIntelliAlmRelease objReleaseAlm;
|
||||||
bool bRc = objReleaseAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
bool bRc = objReleaseAlm.ParseFromArray( objMsgRcv.getDataPtr(), ( int ) objMsgRcv.getDataSize());
|
||||||
if ( !bRc )
|
if ( !bRc )
|
||||||
{
|
{
|
||||||
|
|||||||
@ -46,7 +46,7 @@ FBD_COMMON_API CFbdAlarmSrcApiPtr getFbdAlarmSrcApi()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const kbd_public::SRunAppInfo &stRunAppInfo = ptrSysInfoApi->getCurrentRunAppInfo();
|
const iot_public::SRunAppInfo &stRunAppInfo = ptrSysInfoApi->getCurrentRunAppInfo();
|
||||||
|
|
||||||
//< 不为空,表示stRunAppInfo已被设置,有效
|
//< 不为空,表示stRunAppInfo已被设置,有效
|
||||||
if ( stRunAppInfo.strAppName.empty())
|
if ( stRunAppInfo.strAppName.empty())
|
||||||
@ -88,7 +88,7 @@ CFbdAlarmSrcImpl::~CFbdAlarmSrcImpl()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool CFbdAlarmSrcImpl::addAlarm( kbd_idlfile::SAppAddAlm &objAlarm )
|
bool CFbdAlarmSrcImpl::addAlarm( iot_idl::SAppAddAlm &objAlarm )
|
||||||
{
|
{
|
||||||
return m_objImpl.addAlarm( objAlarm );
|
return m_objImpl.addAlarm( objAlarm );
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,12 +26,12 @@ public:
|
|||||||
~CFbdAlarmSrcImpl() override;
|
~CFbdAlarmSrcImpl() override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
bool addAlarm( kbd_idlfile::SAppAddAlm &objAlarm ) override;
|
bool addAlarm( iot_idl::SAppAddAlm &objAlarm ) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend CFbdAlarmSrcApiPtr getFbdAlarmSrcApi();
|
friend CFbdAlarmSrcApiPtr getFbdAlarmSrcApi();
|
||||||
|
|
||||||
kbd_service::CAlmApiForApp m_objImpl;
|
iot_service::CAlmApiForApp m_objImpl;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::shared_ptr<CFbdAlarmSrcImpl> CFbdAlarmSrcImplPtr;
|
typedef boost::shared_ptr<CFbdAlarmSrcImpl> CFbdAlarmSrcImplPtr;
|
||||||
|
|||||||
@ -111,7 +111,7 @@ int CFbdDiagDataImpl::initialize()
|
|||||||
LOGERROR( "initialize(): 系统信息非预期,检查程序!" );
|
LOGERROR( "initialize(): 系统信息非预期,检查程序!" );
|
||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
m_pRdbTableMng = new kbd_dbms::CRdbTableMng( getFbdSysInfoApi()->getCurrentRunAppInfo().strAppName );
|
m_pRdbTableMng = new iot_dbms::CRdbTableMng( getFbdSysInfoApi()->getCurrentRunAppInfo().strAppName );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( nullptr == m_pRdbTableMng || nullptr == m_pMutexModInfoTable || nullptr == m_pMutexModInputTable
|
if ( nullptr == m_pRdbTableMng || nullptr == m_pMutexModInfoTable || nullptr == m_pMutexModInputTable
|
||||||
@ -393,7 +393,7 @@ int CFbdDiagDataImpl::setAlarmValByKey( const SFbdValueKey &stValueKey, const SF
|
|||||||
int CFbdDiagDataImpl::getAllGroupInfo( std::vector<SFbdGroupInfo> &vecGrpInfo ) const
|
int CFbdDiagDataImpl::getAllGroupInfo( std::vector<SFbdGroupInfo> &vecGrpInfo ) const
|
||||||
{
|
{
|
||||||
static const std::string strTableName = CN_TN_FbdGroup;
|
static const std::string strTableName = CN_TN_FbdGroup;
|
||||||
kbd_dbms::CRdbTableMngLockGuard lock( *m_pRdbTableMng, strTableName );
|
iot_dbms::CRdbTableMngLockGuard lock( *m_pRdbTableMng, strTableName );
|
||||||
if ( !m_pRdbTableMng->selectAllColumnNoCondition( strTableName, vecGrpInfo ))
|
if ( !m_pRdbTableMng->selectAllColumnNoCondition( strTableName, vecGrpInfo ))
|
||||||
{
|
{
|
||||||
LOGERROR( "getAllGroupInfo(): 从RDB获取FBD组信息失败" );
|
LOGERROR( "getAllGroupInfo(): 从RDB获取FBD组信息失败" );
|
||||||
@ -552,8 +552,8 @@ int CFbdDiagDataImpl::insertAllDataByGroup( const SFbdGroupInfo &stGrpInfo, cons
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int CFbdDiagDataImpl::getDebugResponse( const kbd_idlfile::SFBDDebugRequest &objReq,
|
int CFbdDiagDataImpl::getDebugResponse( const iot_idl::SFBDDebugRequest &objReq,
|
||||||
kbd_idlfile::SFBDDebugResponse &objRep )
|
iot_idl::SFBDDebugResponse &objRep )
|
||||||
{
|
{
|
||||||
const std::string &strDiagName = objReq.sdiagramname();
|
const std::string &strDiagName = objReq.sdiagramname();
|
||||||
objRep.set_ngroupid( objReq.ngroupid());
|
objRep.set_ngroupid( objReq.ngroupid());
|
||||||
|
|||||||
@ -78,12 +78,12 @@ public:
|
|||||||
int insertAllDataByGroup( const SFbdGroupInfo &stGrpInfo, const SFbdGroupData &stGrpData ) override;
|
int insertAllDataByGroup( const SFbdGroupInfo &stGrpInfo, const SFbdGroupData &stGrpData ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
int getDebugResponse( const kbd_idlfile::SFBDDebugRequest &objReq,
|
int getDebugResponse( const iot_idl::SFBDDebugRequest &objReq,
|
||||||
kbd_idlfile::SFBDDebugResponse &objRep ) override;
|
iot_idl::SFBDDebugResponse &objRep ) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//< 以下之所以用指针,因为读取的函数为const
|
//< 以下之所以用指针,因为读取的函数为const
|
||||||
kbd_dbms::CRdbTableMng *m_pRdbTableMng{nullptr};
|
iot_dbms::CRdbTableMng *m_pRdbTableMng{nullptr};
|
||||||
|
|
||||||
boost::shared_mutex *m_pMutexModInfoTable{nullptr};
|
boost::shared_mutex *m_pMutexModInfoTable{nullptr};
|
||||||
boost::shared_mutex *m_pMutexModInputTable{nullptr};
|
boost::shared_mutex *m_pMutexModInputTable{nullptr};
|
||||||
|
|||||||
@ -154,22 +154,22 @@ EnFbdAlarmStyle SFbdAlarmInfo::getAlarmStyle() const
|
|||||||
//< todo 无锁是否有风险
|
//< todo 无锁是否有风险
|
||||||
if ( nullptr == m_ptrAlmInfo )
|
if ( nullptr == m_ptrAlmInfo )
|
||||||
return EN_AS_DO_NOTHING;
|
return EN_AS_DO_NOTHING;
|
||||||
const kbd_idlfile::enAlmLogicState enLogicState = m_ptrAlmInfo->logic_state();
|
const iot_idl::enAlmLogicState enLogicState = m_ptrAlmInfo->logic_state();
|
||||||
switch ( enLogicState )
|
switch ( enLogicState )
|
||||||
{
|
{
|
||||||
case kbd_idlfile::ALS_ALARM :
|
case iot_idl::ALS_ALARM :
|
||||||
case kbd_idlfile::ALS_ALARM_CFM :
|
case iot_idl::ALS_ALARM_CFM :
|
||||||
case kbd_idlfile::ALS_ALARM_DEL :
|
case iot_idl::ALS_ALARM_DEL :
|
||||||
case kbd_idlfile::ALS_ALARM_CFM_DEL :
|
case iot_idl::ALS_ALARM_CFM_DEL :
|
||||||
return EN_AS_ALARM;
|
return EN_AS_ALARM;
|
||||||
//break;
|
//break;
|
||||||
case kbd_idlfile::ALS_RETURN :
|
case iot_idl::ALS_RETURN :
|
||||||
case kbd_idlfile::ALS_RETURN_CFM :
|
case iot_idl::ALS_RETURN_CFM :
|
||||||
case kbd_idlfile::ALS_RETURN_DEL :
|
case iot_idl::ALS_RETURN_DEL :
|
||||||
case kbd_idlfile::ALS_RETURN_CFM_DEL :
|
case iot_idl::ALS_RETURN_CFM_DEL :
|
||||||
return EN_AS_ALARM_RTN;
|
return EN_AS_ALARM_RTN;
|
||||||
//break;
|
//break;
|
||||||
case kbd_idlfile::ALS_EVT_ONLY :
|
case iot_idl::ALS_EVT_ONLY :
|
||||||
return EN_AS_EVENT_ONLY;
|
return EN_AS_EVENT_ONLY;
|
||||||
//break;
|
//break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@ -100,19 +100,19 @@ CFbdPointSubImpl::~CFbdPointSubImpl()
|
|||||||
m_ptrDpApi.reset();
|
m_ptrDpApi.reset();
|
||||||
|
|
||||||
Sleep( 100 );
|
Sleep( 100 );
|
||||||
kbd_service::CDpcdaForApp::releaseGlobalThread();
|
iot_service::CDpcdaForApp::releaseGlobalThread();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int CFbdPointSubImpl::initialize()
|
int CFbdPointSubImpl::initialize()
|
||||||
{
|
{
|
||||||
if ( !kbd_service::CDpcdaForApp::initGlobalThread())
|
if ( !iot_service::CDpcdaForApp::initGlobalThread())
|
||||||
{
|
{
|
||||||
LOGERROR( "初始化数据订阅服务接口失败" );
|
LOGERROR( "初始化数据订阅服务接口失败" );
|
||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_ptrDpSub = boost::make_shared<kbd_service::CDpcdaForApp>();
|
m_ptrDpSub = boost::make_shared<iot_service::CDpcdaForApp>();
|
||||||
if ( m_ptrDpSub == nullptr )
|
if ( m_ptrDpSub == nullptr )
|
||||||
{
|
{
|
||||||
LOGERROR( "创建数据订阅服务接口失败" );
|
LOGERROR( "创建数据订阅服务接口失败" );
|
||||||
@ -120,7 +120,7 @@ int CFbdPointSubImpl::initialize()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 初始化数据处理接口,主要用来判断测点状态字是否有效
|
//< 初始化数据处理接口,主要用来判断测点状态字是否有效
|
||||||
m_ptrDpApi = kbd_service::getDataProcInstance( getFbdSysInfoApi()->getCurrentRunAppInfo().strAppName );
|
m_ptrDpApi = iot_service::getDataProcInstance( getFbdSysInfoApi()->getCurrentRunAppInfo().strAppName );
|
||||||
if ( m_ptrDpApi == nullptr )
|
if ( m_ptrDpApi == nullptr )
|
||||||
{
|
{
|
||||||
LOGERROR( "创建数据处理接口失败" );
|
LOGERROR( "创建数据处理接口失败" );
|
||||||
@ -198,7 +198,7 @@ int CFbdPointSubImpl::setPntValAndSta( const std::string &strPntKey, double dVal
|
|||||||
if ( pIter != m_mapPntKeyToValue.end())
|
if ( pIter != m_mapPntKeyToValue.end())
|
||||||
{
|
{
|
||||||
pIter->second.setValAndSta( dValue, nStatus );
|
pIter->second.setValAndSta( dValue, nStatus );
|
||||||
pIter->second.updateRefreshTime( kbd_public::getMonotonicMsec());
|
pIter->second.updateRefreshTime( iot_public::getMonotonicMsec());
|
||||||
}
|
}
|
||||||
|
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
@ -216,7 +216,7 @@ int CFbdPointSubImpl::batchSetPntValAndSta( const std::vector<std::string> &vecP
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
|
|
||||||
int64 lCurTime = kbd_public::getMonotonicMsec();
|
int64 lCurTime = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
boost::mutex::scoped_lock lock( m_objPntBufLock );
|
boost::mutex::scoped_lock lock( m_objPntBufLock );
|
||||||
for ( size_t i = 0; i < vecPntKey.size(); ++i )
|
for ( size_t i = 0; i < vecPntKey.size(); ++i )
|
||||||
|
|||||||
@ -85,7 +85,7 @@ struct SPntInfo
|
|||||||
/* @brief 判断是否已经超时 */
|
/* @brief 判断是否已经超时 */
|
||||||
inline bool isOverTime() const
|
inline bool isOverTime() const
|
||||||
{
|
{
|
||||||
if ( kbd_public::getMonotonicMsec() - nLastTimeMsec > CN_MasRefreshTimeMsec )
|
if ( iot_public::getMonotonicMsec() - nLastTimeMsec > CN_MasRefreshTimeMsec )
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -174,8 +174,8 @@ public:
|
|||||||
void resetOverTimePntValAndSta() override;
|
void resetOverTimePntValAndSta() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_service::CDpcdaForAppPtr m_ptrDpSub; //< 订阅服务接口
|
iot_service::CDpcdaForAppPtr m_ptrDpSub; //< 订阅服务接口
|
||||||
kbd_service::CDataProcessApiPtr m_ptrDpApi; //< 测点接口,用来判断状态字是否有效
|
iot_service::CDataProcessApiPtr m_ptrDpApi; //< 测点接口,用来判断状态字是否有效
|
||||||
|
|
||||||
/* @brief table.tagname.column --> 测点信息 */
|
/* @brief table.tagname.column --> 测点信息 */
|
||||||
typedef std::map<std::string, SPntInfo> KeyToValueMAP;
|
typedef std::map<std::string, SPntInfo> KeyToValueMAP;
|
||||||
|
|||||||
@ -53,14 +53,14 @@ FBD_COMMON_API CFbdSysInfoApiPtr getFbdSysInfoApi()
|
|||||||
/***********************************************************************************************/
|
/***********************************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
kbd_public::CSysInfoInterface &CFbdSysInfoImpl::getSysInfo()
|
iot_public::CSysInfoInterface &CFbdSysInfoImpl::getSysInfo()
|
||||||
{
|
{
|
||||||
//< m_ptrSysInfoInterface 肯定不为空
|
//< m_ptrSysInfoInterface 肯定不为空
|
||||||
return *m_ptrSysInfoInterface;
|
return *m_ptrSysInfoInterface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const kbd_public::SRunAppInfo &CFbdSysInfoImpl::getCurrentRunAppInfo()
|
const iot_public::SRunAppInfo &CFbdSysInfoImpl::getCurrentRunAppInfo()
|
||||||
{
|
{
|
||||||
if ( m_stRunAppInfo.strAppName.empty())
|
if ( m_stRunAppInfo.strAppName.empty())
|
||||||
{
|
{
|
||||||
@ -71,7 +71,7 @@ const kbd_public::SRunAppInfo &CFbdSysInfoImpl::getCurrentRunAppInfo()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdSysInfoImpl::setCurrentRunAppInfo( const kbd_public::SRunAppInfo &stSetVal )
|
void CFbdSysInfoImpl::setCurrentRunAppInfo( const iot_public::SRunAppInfo &stSetVal )
|
||||||
{
|
{
|
||||||
m_stRunAppInfo = stSetVal;
|
m_stRunAppInfo = stSetVal;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,24 +24,24 @@ public:
|
|||||||
/******************************************************************************//**
|
/******************************************************************************//**
|
||||||
* @brief 获取系统信息接口类
|
* @brief 获取系统信息接口类
|
||||||
**********************************************************************************/
|
**********************************************************************************/
|
||||||
kbd_public::CSysInfoInterface &getSysInfo() override;
|
iot_public::CSysInfoInterface &getSysInfo() override;
|
||||||
|
|
||||||
/******************************************************************************//**
|
/******************************************************************************//**
|
||||||
* @brief 获取当前进程的运行信息
|
* @brief 获取当前进程的运行信息
|
||||||
**********************************************************************************/
|
**********************************************************************************/
|
||||||
const kbd_public::SRunAppInfo &getCurrentRunAppInfo() override;
|
const iot_public::SRunAppInfo &getCurrentRunAppInfo() override;
|
||||||
|
|
||||||
/******************************************************************************//**
|
/******************************************************************************//**
|
||||||
* @brief 设置当前进程的运行信息
|
* @brief 设置当前进程的运行信息
|
||||||
* 仅供 fbd_server 启动时设置
|
* 仅供 fbd_server 启动时设置
|
||||||
**********************************************************************************/
|
**********************************************************************************/
|
||||||
void setCurrentRunAppInfo( const kbd_public::SRunAppInfo &stSetVal ) override;
|
void setCurrentRunAppInfo( const iot_public::SRunAppInfo &stSetVal ) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend CFbdSysInfoApiPtr getFbdSysInfoApi();
|
friend CFbdSysInfoApiPtr getFbdSysInfoApi();
|
||||||
|
|
||||||
kbd_public::CSysInfoInterfacePtr m_ptrSysInfoInterface;
|
iot_public::CSysInfoInterfacePtr m_ptrSysInfoInterface;
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo;
|
iot_public::SRunAppInfo m_stRunAppInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::shared_ptr<CFbdSysInfoImpl> CFbdSysInfoImplPtr;
|
typedef boost::shared_ptr<CFbdSysInfoImpl> CFbdSysInfoImplPtr;
|
||||||
|
|||||||
@ -25,7 +25,7 @@ CAlarmDataMng::CAlarmDataMng()
|
|||||||
m_pMutexLiveAlmTable = new boost::shared_mutex;
|
m_pMutexLiveAlmTable = new boost::shared_mutex;
|
||||||
|
|
||||||
//< 本实例构造(出生)的时间,UTC时间
|
//< 本实例构造(出生)的时间,UTC时间
|
||||||
m_nBirthTime = kbd_public::getUTCTimeMsec();
|
m_nBirthTime = iot_public::getUTCTimeMsec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -164,20 +164,20 @@ bool CAlarmDataMng::isAlarmConfirmed( const SFbdAlarmInfo &stAlmInfo ) const
|
|||||||
//< 读锁
|
//< 读锁
|
||||||
boost::shared_lock<boost::shared_mutex> lock( *m_pMutexLiveAlmTable );
|
boost::shared_lock<boost::shared_mutex> lock( *m_pMutexLiveAlmTable );
|
||||||
|
|
||||||
const kbd_idlfile::enAlmLogicState enLogicState = stAlmInfo.m_ptrAlmInfo->logic_state();
|
const iot_idl::enAlmLogicState enLogicState = stAlmInfo.m_ptrAlmInfo->logic_state();
|
||||||
switch ( enLogicState )
|
switch ( enLogicState )
|
||||||
{
|
{
|
||||||
case kbd_idlfile::ALS_ALARM_CFM :
|
case iot_idl::ALS_ALARM_CFM :
|
||||||
case kbd_idlfile::ALS_ALARM_CFM_DEL :
|
case iot_idl::ALS_ALARM_CFM_DEL :
|
||||||
case kbd_idlfile::ALS_RETURN_CFM :
|
case iot_idl::ALS_RETURN_CFM :
|
||||||
case kbd_idlfile::ALS_RETURN_CFM_DEL :
|
case iot_idl::ALS_RETURN_CFM_DEL :
|
||||||
return true;
|
return true;
|
||||||
//break;
|
//break;
|
||||||
case kbd_idlfile::ALS_ALARM :
|
case iot_idl::ALS_ALARM :
|
||||||
case kbd_idlfile::ALS_ALARM_DEL :
|
case iot_idl::ALS_ALARM_DEL :
|
||||||
case kbd_idlfile::ALS_RETURN :
|
case iot_idl::ALS_RETURN :
|
||||||
case kbd_idlfile::ALS_RETURN_DEL :
|
case iot_idl::ALS_RETURN_DEL :
|
||||||
case kbd_idlfile::ALS_EVT_ONLY :
|
case iot_idl::ALS_EVT_ONLY :
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOGERROR( "isAlarmConfirmed(): 非预期的logic_state = %d", ( int ) enLogicState );
|
LOGERROR( "isAlarmConfirmed(): 非预期的logic_state = %d", ( int ) enLogicState );
|
||||||
@ -205,20 +205,20 @@ bool CAlarmDataMng::isAlarmDeleted( const SFbdAlarmInfo &stAlmInfo ) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const kbd_idlfile::enAlmLogicState enLogicState = itUuid->m_ptrAlmInfo->logic_state();
|
const iot_idl::enAlmLogicState enLogicState = itUuid->m_ptrAlmInfo->logic_state();
|
||||||
switch ( enLogicState )
|
switch ( enLogicState )
|
||||||
{
|
{
|
||||||
case kbd_idlfile::ALS_ALARM_DEL :
|
case iot_idl::ALS_ALARM_DEL :
|
||||||
case kbd_idlfile::ALS_ALARM_CFM_DEL :
|
case iot_idl::ALS_ALARM_CFM_DEL :
|
||||||
case kbd_idlfile::ALS_RETURN_DEL :
|
case iot_idl::ALS_RETURN_DEL :
|
||||||
case kbd_idlfile::ALS_RETURN_CFM_DEL :
|
case iot_idl::ALS_RETURN_CFM_DEL :
|
||||||
case kbd_idlfile::ALS_EVT_ONLY :
|
case iot_idl::ALS_EVT_ONLY :
|
||||||
return true;
|
return true;
|
||||||
//break;
|
//break;
|
||||||
case kbd_idlfile::ALS_ALARM :
|
case iot_idl::ALS_ALARM :
|
||||||
case kbd_idlfile::ALS_ALARM_CFM :
|
case iot_idl::ALS_ALARM_CFM :
|
||||||
case kbd_idlfile::ALS_RETURN :
|
case iot_idl::ALS_RETURN :
|
||||||
case kbd_idlfile::ALS_RETURN_CFM :
|
case iot_idl::ALS_RETURN_CFM :
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOGERROR( "isAlarmConfirmed(): 非预期的logic_state = %d", ( int ) enLogicState );
|
LOGERROR( "isAlarmConfirmed(): 非预期的logic_state = %d", ( int ) enLogicState );
|
||||||
@ -232,7 +232,7 @@ bool CAlarmDataMng::isAlarmDeleted( const SFbdAlarmInfo &stAlmInfo ) const
|
|||||||
/***********************************************************************************************/
|
/***********************************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
void CAlarmDataMng::setAlarmFullSync( int nDomainID, kbd_idlfile::SAlmCltAddAlm &objAllAlm )
|
void CAlarmDataMng::setAlarmFullSync( int nDomainID, iot_idl::SAlmCltAddAlm &objAllAlm )
|
||||||
{
|
{
|
||||||
//< 千万不要判,全同步允许为空
|
//< 千万不要判,全同步允许为空
|
||||||
//if ( objAllAlm.alm_info().empty())
|
//if ( objAllAlm.alm_info().empty())
|
||||||
@ -300,23 +300,23 @@ void CAlarmDataMng::setAlarmFullSync( int nDomainID, kbd_idlfile::SAlmCltAddAlm
|
|||||||
//< 处理复归
|
//< 处理复归
|
||||||
{
|
{
|
||||||
bool bIsReturn = false;
|
bool bIsReturn = false;
|
||||||
const kbd_idlfile::enAlmLogicState enLogicState = objAdded.m_ptrAlmInfo->logic_state();
|
const iot_idl::enAlmLogicState enLogicState = objAdded.m_ptrAlmInfo->logic_state();
|
||||||
switch ( enLogicState )
|
switch ( enLogicState )
|
||||||
{
|
{
|
||||||
case kbd_idlfile::ALS_ALARM :
|
case iot_idl::ALS_ALARM :
|
||||||
case kbd_idlfile::ALS_ALARM_CFM :
|
case iot_idl::ALS_ALARM_CFM :
|
||||||
case kbd_idlfile::ALS_ALARM_DEL :
|
case iot_idl::ALS_ALARM_DEL :
|
||||||
case kbd_idlfile::ALS_ALARM_CFM_DEL :
|
case iot_idl::ALS_ALARM_CFM_DEL :
|
||||||
//EN_AS_ALARM;
|
//EN_AS_ALARM;
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_RETURN :
|
case iot_idl::ALS_RETURN :
|
||||||
case kbd_idlfile::ALS_RETURN_CFM :
|
case iot_idl::ALS_RETURN_CFM :
|
||||||
case kbd_idlfile::ALS_RETURN_DEL :
|
case iot_idl::ALS_RETURN_DEL :
|
||||||
case kbd_idlfile::ALS_RETURN_CFM_DEL :
|
case iot_idl::ALS_RETURN_CFM_DEL :
|
||||||
//EN_AS_ALARM_RTN;
|
//EN_AS_ALARM_RTN;
|
||||||
bIsReturn = true;
|
bIsReturn = true;
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_EVT_ONLY :
|
case iot_idl::ALS_EVT_ONLY :
|
||||||
//EN_AS_EVENT_ONLY;
|
//EN_AS_EVENT_ONLY;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -401,7 +401,7 @@ void CAlarmDataMng::setAlmReturned( const std::map<SKeyIdTag_AlmType, SAlmInfoPt
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CAlarmDataMng::addAlarm( kbd_idlfile::SAlmCltAddAlm &objAddAlm )
|
void CAlarmDataMng::addAlarm( iot_idl::SAlmCltAddAlm &objAddAlm )
|
||||||
{
|
{
|
||||||
if ( objAddAlm.alm_info().empty())
|
if ( objAddAlm.alm_info().empty())
|
||||||
return;
|
return;
|
||||||
@ -457,23 +457,23 @@ void CAlarmDataMng::addAlarm( kbd_idlfile::SAlmCltAddAlm &objAddAlm )
|
|||||||
//< 处理复归
|
//< 处理复归
|
||||||
{
|
{
|
||||||
bool bIsReturn = false;
|
bool bIsReturn = false;
|
||||||
const kbd_idlfile::enAlmLogicState enLogicState = objAdded.m_ptrAlmInfo->logic_state();
|
const iot_idl::enAlmLogicState enLogicState = objAdded.m_ptrAlmInfo->logic_state();
|
||||||
switch ( enLogicState )
|
switch ( enLogicState )
|
||||||
{
|
{
|
||||||
case kbd_idlfile::ALS_ALARM :
|
case iot_idl::ALS_ALARM :
|
||||||
case kbd_idlfile::ALS_ALARM_CFM :
|
case iot_idl::ALS_ALARM_CFM :
|
||||||
case kbd_idlfile::ALS_ALARM_DEL :
|
case iot_idl::ALS_ALARM_DEL :
|
||||||
case kbd_idlfile::ALS_ALARM_CFM_DEL :
|
case iot_idl::ALS_ALARM_CFM_DEL :
|
||||||
//EN_AS_ALARM;
|
//EN_AS_ALARM;
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_RETURN :
|
case iot_idl::ALS_RETURN :
|
||||||
case kbd_idlfile::ALS_RETURN_CFM :
|
case iot_idl::ALS_RETURN_CFM :
|
||||||
case kbd_idlfile::ALS_RETURN_DEL :
|
case iot_idl::ALS_RETURN_DEL :
|
||||||
case kbd_idlfile::ALS_RETURN_CFM_DEL :
|
case iot_idl::ALS_RETURN_CFM_DEL :
|
||||||
//EN_AS_ALARM_RTN;
|
//EN_AS_ALARM_RTN;
|
||||||
bIsReturn = true;
|
bIsReturn = true;
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_EVT_ONLY :
|
case iot_idl::ALS_EVT_ONLY :
|
||||||
//EN_AS_EVENT_ONLY;
|
//EN_AS_EVENT_ONLY;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -502,7 +502,7 @@ void CAlarmDataMng::addAlarm( kbd_idlfile::SAlmCltAddAlm &objAddAlm )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CAlarmDataMng::cfmAlarm( kbd_idlfile::SAlmCltCfmAlm &objCfmAlm )
|
void CAlarmDataMng::cfmAlarm( iot_idl::SAlmCltCfmAlm &objCfmAlm )
|
||||||
{
|
{
|
||||||
const int nUuidSize = objCfmAlm.uuid_base64_size();
|
const int nUuidSize = objCfmAlm.uuid_base64_size();
|
||||||
if ( nUuidSize <= 0 )
|
if ( nUuidSize <= 0 )
|
||||||
@ -533,23 +533,23 @@ void CAlarmDataMng::cfmAlarm( kbd_idlfile::SAlmCltCfmAlm &objCfmAlm )
|
|||||||
//< 注意,直接修改的内容不能为索引,否则使用replace()、modify()
|
//< 注意,直接修改的内容不能为索引,否则使用replace()、modify()
|
||||||
switch ( ptrAlmInfo->logic_state())
|
switch ( ptrAlmInfo->logic_state())
|
||||||
{
|
{
|
||||||
case kbd_idlfile::ALS_ALARM:
|
case iot_idl::ALS_ALARM:
|
||||||
ptrAlmInfo->set_logic_state( kbd_idlfile::ALS_ALARM_CFM );
|
ptrAlmInfo->set_logic_state( iot_idl::ALS_ALARM_CFM );
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_ALARM_DEL:
|
case iot_idl::ALS_ALARM_DEL:
|
||||||
ptrAlmInfo->set_logic_state( kbd_idlfile::ALS_ALARM_CFM_DEL );
|
ptrAlmInfo->set_logic_state( iot_idl::ALS_ALARM_CFM_DEL );
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_RETURN:
|
case iot_idl::ALS_RETURN:
|
||||||
ptrAlmInfo->set_logic_state( kbd_idlfile::ALS_RETURN_CFM );
|
ptrAlmInfo->set_logic_state( iot_idl::ALS_RETURN_CFM );
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_RETURN_DEL:
|
case iot_idl::ALS_RETURN_DEL:
|
||||||
ptrAlmInfo->set_logic_state( kbd_idlfile::ALS_RETURN_CFM_DEL );
|
ptrAlmInfo->set_logic_state( iot_idl::ALS_RETURN_CFM_DEL );
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_ALARM_CFM:
|
case iot_idl::ALS_ALARM_CFM:
|
||||||
case kbd_idlfile::ALS_RETURN_CFM:
|
case iot_idl::ALS_RETURN_CFM:
|
||||||
case kbd_idlfile::ALS_EVT_ONLY:
|
case iot_idl::ALS_EVT_ONLY:
|
||||||
case kbd_idlfile::ALS_ALARM_CFM_DEL:
|
case iot_idl::ALS_ALARM_CFM_DEL:
|
||||||
case kbd_idlfile::ALS_RETURN_CFM_DEL:
|
case iot_idl::ALS_RETURN_CFM_DEL:
|
||||||
//< 无需处理
|
//< 无需处理
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -562,7 +562,7 @@ void CAlarmDataMng::cfmAlarm( kbd_idlfile::SAlmCltCfmAlm &objCfmAlm )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CAlarmDataMng::delAlarm( kbd_idlfile::SAlmCltDelAlm &objDelAlm )
|
void CAlarmDataMng::delAlarm( iot_idl::SAlmCltDelAlm &objDelAlm )
|
||||||
{
|
{
|
||||||
const int nUuidSize = objDelAlm.uuid_base64_size();
|
const int nUuidSize = objDelAlm.uuid_base64_size();
|
||||||
if ( nUuidSize <= 0 )
|
if ( nUuidSize <= 0 )
|
||||||
@ -586,23 +586,23 @@ void CAlarmDataMng::delAlarm( kbd_idlfile::SAlmCltDelAlm &objDelAlm )
|
|||||||
//< 注意,直接修改的内容不能为索引,否则使用replace()、modify()
|
//< 注意,直接修改的内容不能为索引,否则使用replace()、modify()
|
||||||
switch ( ptrAlmInfo->logic_state())
|
switch ( ptrAlmInfo->logic_state())
|
||||||
{
|
{
|
||||||
case kbd_idlfile::ALS_ALARM:
|
case iot_idl::ALS_ALARM:
|
||||||
ptrAlmInfo->set_logic_state( kbd_idlfile::ALS_ALARM_DEL );
|
ptrAlmInfo->set_logic_state( iot_idl::ALS_ALARM_DEL );
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_ALARM_CFM:
|
case iot_idl::ALS_ALARM_CFM:
|
||||||
ptrAlmInfo->set_logic_state( kbd_idlfile::ALS_ALARM_CFM_DEL );
|
ptrAlmInfo->set_logic_state( iot_idl::ALS_ALARM_CFM_DEL );
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_RETURN:
|
case iot_idl::ALS_RETURN:
|
||||||
ptrAlmInfo->set_logic_state( kbd_idlfile::ALS_RETURN_DEL );
|
ptrAlmInfo->set_logic_state( iot_idl::ALS_RETURN_DEL );
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_RETURN_CFM:
|
case iot_idl::ALS_RETURN_CFM:
|
||||||
ptrAlmInfo->set_logic_state( kbd_idlfile::ALS_RETURN_CFM_DEL );
|
ptrAlmInfo->set_logic_state( iot_idl::ALS_RETURN_CFM_DEL );
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::ALS_EVT_ONLY:
|
case iot_idl::ALS_EVT_ONLY:
|
||||||
case kbd_idlfile::ALS_ALARM_DEL:
|
case iot_idl::ALS_ALARM_DEL:
|
||||||
case kbd_idlfile::ALS_ALARM_CFM_DEL:
|
case iot_idl::ALS_ALARM_CFM_DEL:
|
||||||
case kbd_idlfile::ALS_RETURN_DEL:
|
case iot_idl::ALS_RETURN_DEL:
|
||||||
case kbd_idlfile::ALS_RETURN_CFM_DEL:
|
case iot_idl::ALS_RETURN_CFM_DEL:
|
||||||
//< 无需处理
|
//< 无需处理
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -615,7 +615,7 @@ void CAlarmDataMng::delAlarm( kbd_idlfile::SAlmCltDelAlm &objDelAlm )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CAlarmDataMng::releaseAlarm( kbd_idlfile::SAlmCltReleaseAlm &objReleaseAlm )
|
void CAlarmDataMng::releaseAlarm( iot_idl::SAlmCltReleaseAlm &objReleaseAlm )
|
||||||
{
|
{
|
||||||
const int nUuidSize = objReleaseAlm.uuid_base64_size();
|
const int nUuidSize = objReleaseAlm.uuid_base64_size();
|
||||||
if ( nUuidSize <= 0 )
|
if ( nUuidSize <= 0 )
|
||||||
@ -632,7 +632,7 @@ void CAlarmDataMng::releaseAlarm( kbd_idlfile::SAlmCltReleaseAlm &objReleaseAlm
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CAlarmDataMng::linkWave2Alarm( kbd_idlfile::SAlmCltLinkWave2Alm &objWave2Alm )
|
void CAlarmDataMng::linkWave2Alarm( iot_idl::SAlmCltLinkWave2Alm &objWave2Alm )
|
||||||
{
|
{
|
||||||
( void ) this;
|
( void ) this;
|
||||||
( void ) objWave2Alm;
|
( void ) objWave2Alm;
|
||||||
|
|||||||
@ -45,7 +45,7 @@ namespace kbd_app
|
|||||||
namespace app_fbd
|
namespace app_fbd
|
||||||
{
|
{
|
||||||
|
|
||||||
typedef boost::shared_ptr<kbd_idlfile::SAlmInfoToAlmClt> SAlmInfoPtr;
|
typedef boost::shared_ptr<iot_idl::SAlmInfoToAlmClt> SAlmInfoPtr;
|
||||||
|
|
||||||
class CAlarmDataMng final
|
class CAlarmDataMng final
|
||||||
{
|
{
|
||||||
@ -88,22 +88,22 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void setAlarmFullSync( int nDomainID, kbd_idlfile::SAlmCltAddAlm &objAllAlm );
|
void setAlarmFullSync( int nDomainID, iot_idl::SAlmCltAddAlm &objAllAlm );
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void addAlarm( kbd_idlfile::SAlmCltAddAlm &objAddAlm );
|
void addAlarm( iot_idl::SAlmCltAddAlm &objAddAlm );
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void cfmAlarm( kbd_idlfile::SAlmCltCfmAlm &objCfmAlm );
|
void cfmAlarm( iot_idl::SAlmCltCfmAlm &objCfmAlm );
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void delAlarm( kbd_idlfile::SAlmCltDelAlm &objDelAlm );
|
void delAlarm( iot_idl::SAlmCltDelAlm &objDelAlm );
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void releaseAlarm( kbd_idlfile::SAlmCltReleaseAlm &objReleaseAlm );
|
void releaseAlarm( iot_idl::SAlmCltReleaseAlm &objReleaseAlm );
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void linkWave2Alarm( kbd_idlfile::SAlmCltLinkWave2Alm &objWave2Alm );
|
void linkWave2Alarm( iot_idl::SAlmCltLinkWave2Alm &objWave2Alm );
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************************************/
|
/***********************************************************************************************/
|
||||||
|
|||||||
@ -137,67 +137,67 @@ bool CFbdAlarmCltImpl::isItlAlmDeleted( const SFbdItlAlmInfo &stItlAlm ) const
|
|||||||
/***********************************************************************************************/
|
/***********************************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::setAlarmFullSync( int nDomainID, kbd_idlfile::SAlmCltAddAlm &objAllAlm )
|
void CFbdAlarmCltImpl::setAlarmFullSync( int nDomainID, iot_idl::SAlmCltAddAlm &objAllAlm )
|
||||||
{
|
{
|
||||||
m_objAlarmDataMng.setAlarmFullSync( nDomainID, objAllAlm );
|
m_objAlarmDataMng.setAlarmFullSync( nDomainID, objAllAlm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::addAlarm( kbd_idlfile::SAlmCltAddAlm &objAddAlm )
|
void CFbdAlarmCltImpl::addAlarm( iot_idl::SAlmCltAddAlm &objAddAlm )
|
||||||
{
|
{
|
||||||
m_objAlarmDataMng.addAlarm( objAddAlm );
|
m_objAlarmDataMng.addAlarm( objAddAlm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::cfmAlarm( kbd_idlfile::SAlmCltCfmAlm &objCfmAlm )
|
void CFbdAlarmCltImpl::cfmAlarm( iot_idl::SAlmCltCfmAlm &objCfmAlm )
|
||||||
{
|
{
|
||||||
m_objAlarmDataMng.cfmAlarm( objCfmAlm );
|
m_objAlarmDataMng.cfmAlarm( objCfmAlm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::delAlarm( kbd_idlfile::SAlmCltDelAlm &objDelAlm )
|
void CFbdAlarmCltImpl::delAlarm( iot_idl::SAlmCltDelAlm &objDelAlm )
|
||||||
{
|
{
|
||||||
m_objAlarmDataMng.delAlarm( objDelAlm );
|
m_objAlarmDataMng.delAlarm( objDelAlm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::releaseAlarm( kbd_idlfile::SAlmCltReleaseAlm &objReleaseAlm )
|
void CFbdAlarmCltImpl::releaseAlarm( iot_idl::SAlmCltReleaseAlm &objReleaseAlm )
|
||||||
{
|
{
|
||||||
m_objAlarmDataMng.releaseAlarm( objReleaseAlm );
|
m_objAlarmDataMng.releaseAlarm( objReleaseAlm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::linkWave2Alarm( kbd_idlfile::SAlmCltLinkWave2Alm &objWave2Alm )
|
void CFbdAlarmCltImpl::linkWave2Alarm( iot_idl::SAlmCltLinkWave2Alm &objWave2Alm )
|
||||||
{
|
{
|
||||||
m_objAlarmDataMng.linkWave2Alarm( objWave2Alm );
|
m_objAlarmDataMng.linkWave2Alarm( objWave2Alm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::setItlAlmFullSync( int nDomainID, kbd_idlfile::SIntelliAlmAdd &objAllItlAlm )
|
void CFbdAlarmCltImpl::setItlAlmFullSync( int nDomainID, iot_idl::SIntelliAlmAdd &objAllItlAlm )
|
||||||
{
|
{
|
||||||
m_objItlAlmDataMng.setItlAlmFullSync( nDomainID, objAllItlAlm );
|
m_objItlAlmDataMng.setItlAlmFullSync( nDomainID, objAllItlAlm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::addItlAlm( kbd_idlfile::SIntelliAlmAdd &objAddItlAlm )
|
void CFbdAlarmCltImpl::addItlAlm( iot_idl::SIntelliAlmAdd &objAddItlAlm )
|
||||||
{
|
{
|
||||||
m_objItlAlmDataMng.addItlAlm( objAddItlAlm );
|
m_objItlAlmDataMng.addItlAlm( objAddItlAlm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::delItlAlm( kbd_idlfile::SIntelliAlmDel &objDelItlAlm )
|
void CFbdAlarmCltImpl::delItlAlm( iot_idl::SIntelliAlmDel &objDelItlAlm )
|
||||||
{
|
{
|
||||||
m_objItlAlmDataMng.delItlAlm( objDelItlAlm );
|
m_objItlAlmDataMng.delItlAlm( objDelItlAlm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::breakItlAlm( kbd_idlfile::SIntelliAlmBroken &objBrokenItlAlm )
|
void CFbdAlarmCltImpl::breakItlAlm( iot_idl::SIntelliAlmBroken &objBrokenItlAlm )
|
||||||
{
|
{
|
||||||
m_objItlAlmDataMng.breakItlAlm( objBrokenItlAlm );
|
m_objItlAlmDataMng.breakItlAlm( objBrokenItlAlm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CFbdAlarmCltImpl::releaseItlAlm( kbd_idlfile::SIntelliAlmRelease &objReleaseItlAlm )
|
void CFbdAlarmCltImpl::releaseItlAlm( iot_idl::SIntelliAlmRelease &objReleaseItlAlm )
|
||||||
{
|
{
|
||||||
m_objItlAlmDataMng.releaseItlAlm( objReleaseItlAlm );
|
m_objItlAlmDataMng.releaseItlAlm( objReleaseItlAlm );
|
||||||
}
|
}
|
||||||
|
|||||||
@ -71,37 +71,37 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void setAlarmFullSync( int nDomainID, kbd_idlfile::SAlmCltAddAlm &objAllAlm ) override;
|
void setAlarmFullSync( int nDomainID, iot_idl::SAlmCltAddAlm &objAllAlm ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void addAlarm( kbd_idlfile::SAlmCltAddAlm &objAddAlm ) override;
|
void addAlarm( iot_idl::SAlmCltAddAlm &objAddAlm ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void cfmAlarm( kbd_idlfile::SAlmCltCfmAlm &objCfmAlm ) override;
|
void cfmAlarm( iot_idl::SAlmCltCfmAlm &objCfmAlm ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void delAlarm( kbd_idlfile::SAlmCltDelAlm &objDelAlm ) override;
|
void delAlarm( iot_idl::SAlmCltDelAlm &objDelAlm ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void releaseAlarm( kbd_idlfile::SAlmCltReleaseAlm &objReleaseAlm ) override;
|
void releaseAlarm( iot_idl::SAlmCltReleaseAlm &objReleaseAlm ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void linkWave2Alarm( kbd_idlfile::SAlmCltLinkWave2Alm &objWave2Alm ) override;
|
void linkWave2Alarm( iot_idl::SAlmCltLinkWave2Alm &objWave2Alm ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void setItlAlmFullSync( int nDomainID, kbd_idlfile::SIntelliAlmAdd &objAllItlAlm ) override;
|
void setItlAlmFullSync( int nDomainID, iot_idl::SIntelliAlmAdd &objAllItlAlm ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void addItlAlm( kbd_idlfile::SIntelliAlmAdd &objAddItlAlm ) override;
|
void addItlAlm( iot_idl::SIntelliAlmAdd &objAddItlAlm ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void delItlAlm( kbd_idlfile::SIntelliAlmDel &objDelItlAlm ) override;
|
void delItlAlm( iot_idl::SIntelliAlmDel &objDelItlAlm ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void breakItlAlm( kbd_idlfile::SIntelliAlmBroken &objBrokenItlAlm ) override;
|
void breakItlAlm( iot_idl::SIntelliAlmBroken &objBrokenItlAlm ) override;
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void releaseItlAlm( kbd_idlfile::SIntelliAlmRelease &objReleaseItlAlm ) override;
|
void releaseItlAlm( iot_idl::SIntelliAlmRelease &objReleaseItlAlm ) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CAlarmDataMng m_objAlarmDataMng;
|
CAlarmDataMng m_objAlarmDataMng;
|
||||||
|
|||||||
@ -108,7 +108,7 @@ bool CItlAlmDataMng::isItlAlmBroken( const SFbdItlAlmInfo &stItlAlm ) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return kbd_idlfile::IALS_BROKEN == pairRange.first->m_ptrItlAlmInfo->logic_state();
|
return iot_idl::IALS_BROKEN == pairRange.first->m_ptrItlAlmInfo->logic_state();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -129,14 +129,14 @@ bool CItlAlmDataMng::isItlAlmDeleted( const SFbdItlAlmInfo &stItlAlm ) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return kbd_idlfile::IALS_DELETED == pairRange.first->m_ptrItlAlmInfo->logic_state();
|
return iot_idl::IALS_DELETED == pairRange.first->m_ptrItlAlmInfo->logic_state();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************************************/
|
/***********************************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
void CItlAlmDataMng::setItlAlmFullSync( int nDomainID, kbd_idlfile::SIntelliAlmAdd &objAllItlAlm )
|
void CItlAlmDataMng::setItlAlmFullSync( int nDomainID, iot_idl::SIntelliAlmAdd &objAllItlAlm )
|
||||||
{
|
{
|
||||||
//< 千万不要判,全同步允许为空
|
//< 千万不要判,全同步允许为空
|
||||||
//if ( objAllItlAlm.alm_info().empty())
|
//if ( objAllItlAlm.alm_info().empty())
|
||||||
@ -201,7 +201,7 @@ void CItlAlmDataMng::setItlAlmFullSync( int nDomainID, kbd_idlfile::SIntelliAlmA
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CItlAlmDataMng::addItlAlm( kbd_idlfile::SIntelliAlmAdd &objAddItlAlm )
|
void CItlAlmDataMng::addItlAlm( iot_idl::SIntelliAlmAdd &objAddItlAlm )
|
||||||
{
|
{
|
||||||
if ( objAddItlAlm.alm_info().empty())
|
if ( objAddItlAlm.alm_info().empty())
|
||||||
return;
|
return;
|
||||||
@ -255,7 +255,7 @@ void CItlAlmDataMng::addItlAlm( kbd_idlfile::SIntelliAlmAdd &objAddItlAlm )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CItlAlmDataMng::delItlAlm( kbd_idlfile::SIntelliAlmDel &objDelItlAlm )
|
void CItlAlmDataMng::delItlAlm( iot_idl::SIntelliAlmDel &objDelItlAlm )
|
||||||
{
|
{
|
||||||
const int nUuidSize = objDelItlAlm.uuid_base64_size();
|
const int nUuidSize = objDelItlAlm.uuid_base64_size();
|
||||||
if ( nUuidSize <= 0 )
|
if ( nUuidSize <= 0 )
|
||||||
@ -274,12 +274,12 @@ void CItlAlmDataMng::delItlAlm( kbd_idlfile::SIntelliAlmDel &objDelItlAlm )
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
pairRange.first->m_ptrItlAlmInfo->set_logic_state( kbd_idlfile::IALS_DELETED );
|
pairRange.first->m_ptrItlAlmInfo->set_logic_state( iot_idl::IALS_DELETED );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CItlAlmDataMng::breakItlAlm( kbd_idlfile::SIntelliAlmBroken &objBrokenItlAlm )
|
void CItlAlmDataMng::breakItlAlm( iot_idl::SIntelliAlmBroken &objBrokenItlAlm )
|
||||||
{
|
{
|
||||||
const int nUuidSize = objBrokenItlAlm.uuid_base64_size();
|
const int nUuidSize = objBrokenItlAlm.uuid_base64_size();
|
||||||
if ( nUuidSize <= 0 )
|
if ( nUuidSize <= 0 )
|
||||||
@ -298,12 +298,12 @@ void CItlAlmDataMng::breakItlAlm( kbd_idlfile::SIntelliAlmBroken &objBrokenItlAl
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
pairRange.first->m_ptrItlAlmInfo->set_logic_state( kbd_idlfile::IALS_BROKEN );
|
pairRange.first->m_ptrItlAlmInfo->set_logic_state( iot_idl::IALS_BROKEN );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CItlAlmDataMng::releaseItlAlm( kbd_idlfile::SIntelliAlmRelease &objReleaseItlAlm )
|
void CItlAlmDataMng::releaseItlAlm( iot_idl::SIntelliAlmRelease &objReleaseItlAlm )
|
||||||
{
|
{
|
||||||
const int nUuidSize = objReleaseItlAlm.uuid_base64_size();
|
const int nUuidSize = objReleaseItlAlm.uuid_base64_size();
|
||||||
if ( nUuidSize <= 0 )
|
if ( nUuidSize <= 0 )
|
||||||
|
|||||||
@ -46,7 +46,7 @@ namespace kbd_app
|
|||||||
namespace app_fbd
|
namespace app_fbd
|
||||||
{
|
{
|
||||||
|
|
||||||
typedef boost::shared_ptr<kbd_idlfile::SIntelliAlmInfo> SItlAlmInfoPtr;
|
typedef boost::shared_ptr<iot_idl::SIntelliAlmInfo> SItlAlmInfoPtr;
|
||||||
|
|
||||||
class CItlAlmDataMng final
|
class CItlAlmDataMng final
|
||||||
{
|
{
|
||||||
@ -83,19 +83,19 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void setItlAlmFullSync( int nDomainID, kbd_idlfile::SIntelliAlmAdd &objAllItlAlm );
|
void setItlAlmFullSync( int nDomainID, iot_idl::SIntelliAlmAdd &objAllItlAlm );
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void addItlAlm( kbd_idlfile::SIntelliAlmAdd &objAddItlAlm );
|
void addItlAlm( iot_idl::SIntelliAlmAdd &objAddItlAlm );
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void delItlAlm( kbd_idlfile::SIntelliAlmDel &objDelItlAlm );
|
void delItlAlm( iot_idl::SIntelliAlmDel &objDelItlAlm );
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void breakItlAlm( kbd_idlfile::SIntelliAlmBroken &objBrokenItlAlm );
|
void breakItlAlm( iot_idl::SIntelliAlmBroken &objBrokenItlAlm );
|
||||||
|
|
||||||
//< 见基类说明
|
//< 见基类说明
|
||||||
void releaseItlAlm( kbd_idlfile::SIntelliAlmRelease &objReleaseItlAlm );
|
void releaseItlAlm( iot_idl::SIntelliAlmRelease &objReleaseItlAlm );
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************************************/
|
/***********************************************************************************************/
|
||||||
|
|||||||
@ -85,12 +85,12 @@ int CAntiShake::calculate()
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_lChangeTimeMsec = kbd_public::getMonotonicMsec();
|
m_lChangeTimeMsec = iot_public::getMonotonicMsec();
|
||||||
m_nLastValue = static_cast<int>(stInput1.m_dValue);
|
m_nLastValue = static_cast<int>(stInput1.m_dValue);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int64 lCurTime = kbd_public::getMonotonicMsec();
|
int64 lCurTime = iot_public::getMonotonicMsec();
|
||||||
int nCurValue = static_cast<int>(stInput1.m_dValue);
|
int nCurValue = static_cast<int>(stInput1.m_dValue);
|
||||||
|
|
||||||
if ( m_nLastValue != nCurValue )
|
if ( m_nLastValue != nCurValue )
|
||||||
|
|||||||
@ -90,7 +90,7 @@ int CAoCtrl::calculate()
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_net::CMbMessage objMsg;
|
iot_net::CMbMessage objMsg;
|
||||||
while ( m_pMbComm->recvMsg( objMsg, 0 ))
|
while ( m_pMbComm->recvMsg( objMsg, 0 ))
|
||||||
{
|
{
|
||||||
COptCtrlReply objParse;
|
COptCtrlReply objParse;
|
||||||
@ -226,7 +226,7 @@ int CAoCtrl::reset( const bool bMaster )
|
|||||||
if ( bMaster )
|
if ( bMaster )
|
||||||
{
|
{
|
||||||
if ( nullptr == m_pMbComm )
|
if ( nullptr == m_pMbComm )
|
||||||
m_pMbComm = new kbd_net::CMbCommunicator;
|
m_pMbComm = new iot_net::CMbCommunicator;
|
||||||
|
|
||||||
//< 必须订阅所有专业,因为可能控制其他专业的测点
|
//< 必须订阅所有专业,因为可能控制其他专业的测点
|
||||||
m_pMbComm->addSub( 0, CH_OPT_TO_HMI_OPTCMD_UP );
|
m_pMbComm->addSub( 0, CH_OPT_TO_HMI_OPTCMD_UP );
|
||||||
@ -344,10 +344,10 @@ int CAoCtrl::handleCmd( SCmdOfOnePnt &stCmdOfOnePnt )
|
|||||||
|
|
||||||
void CAoCtrl::sendCtrlCmd( SCtrlCmd &stCmd, const ECmdState eSuccessState, const ECmdState eFailState )
|
void CAoCtrl::sendCtrlCmd( SCtrlCmd &stCmd, const ECmdState eSuccessState, const ECmdState eFailState )
|
||||||
{
|
{
|
||||||
stCmd.lSendUtcMsec = kbd_public::getUTCTimeMsec();
|
stCmd.lSendUtcMsec = iot_public::getUTCTimeMsec();
|
||||||
stCmd.lSendMonotonicMsec = kbd_public::getMonotonicMsec();
|
stCmd.lSendMonotonicMsec = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
const kbd_public::SRunAppInfo &stRunAppInfo = getFbdSysInfoApi()->getCurrentRunAppInfo();
|
const iot_public::SRunAppInfo &stRunAppInfo = getFbdSysInfoApi()->getCurrentRunAppInfo();
|
||||||
|
|
||||||
SOptCtrlRequest stReq;
|
SOptCtrlRequest stReq;
|
||||||
stReq.stHead.strSrcTag = m_stModKey.toString();
|
stReq.stHead.strSrcTag = m_stModKey.toString();
|
||||||
@ -376,7 +376,7 @@ void CAoCtrl::sendCtrlCmd( SCtrlCmd &stCmd, const ECmdState eSuccessState, const
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_net::CMbMessage objMsg( stCmd.strLastSendJsonReq, stCmd.nAppId,
|
iot_net::CMbMessage objMsg( stCmd.strLastSendJsonReq, stCmd.nAppId,
|
||||||
CH_HMI_TO_OPT_OPTCMD_DOWN, MT_OPT_AUTO_CTRL_DOWN );
|
CH_HMI_TO_OPT_OPTCMD_DOWN, MT_OPT_AUTO_CTRL_DOWN );
|
||||||
if ( m_pMbComm->sendMsgToDomain( objMsg, stCmd.nDstDomainId ))
|
if ( m_pMbComm->sendMsgToDomain( objMsg, stCmd.nDstDomainId ))
|
||||||
{
|
{
|
||||||
@ -397,7 +397,7 @@ void CAoCtrl::waitCtrlRep( SCmdOfOnePnt &stCmdOfOnePnt, const ECmdState eSuccess
|
|||||||
{
|
{
|
||||||
SCtrlCmd &stCurrentCmd = *( stCmdOfOnePnt.m_ptrCurrentCmd );
|
SCtrlCmd &stCurrentCmd = *( stCmdOfOnePnt.m_ptrCurrentCmd );
|
||||||
|
|
||||||
const long long lElapsedMs = kbd_public::getMonotonicMsec() - stCurrentCmd.lSendMonotonicMsec;
|
const long long lElapsedMs = iot_public::getMonotonicMsec() - stCurrentCmd.lSendMonotonicMsec;
|
||||||
if ( lElapsedMs > stCurrentCmd.nTimeoutMsec || lElapsedMs < 0 )
|
if ( lElapsedMs > stCurrentCmd.nTimeoutMsec || lElapsedMs < 0 )
|
||||||
{
|
{
|
||||||
LOGERROR( "等待控制反馈超时,已等待时间[%lld]ms,原始控制请求:\n%s",
|
LOGERROR( "等待控制反馈超时,已等待时间[%lld]ms,原始控制请求:\n%s",
|
||||||
@ -484,8 +484,8 @@ int CAoCtrl::parseKeyIdTag( const std::string &strKeyIdTag, SCtrlCmd &stCtrlCmd
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::SSubsystemInfo stSubsysInfo;
|
iot_public::SSubsystemInfo stSubsysInfo;
|
||||||
kbd_public::SLocationInfo stLocationInfo;
|
iot_public::SLocationInfo stLocationInfo;
|
||||||
if ( kbdSuccess != ptrSysInfo->getSysInfo().getSubsystemInfoByName( stKeyInfo.strSubsystemName, stSubsysInfo ) ||
|
if ( kbdSuccess != ptrSysInfo->getSysInfo().getSubsystemInfoByName( stKeyInfo.strSubsystemName, stSubsysInfo ) ||
|
||||||
kbdSuccess != ptrSysInfo->getSysInfo().getLocationInfoByName( stKeyInfo.strLocationName, stLocationInfo ))
|
kbdSuccess != ptrSysInfo->getSysInfo().getLocationInfoByName( stKeyInfo.strLocationName, stLocationInfo ))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -142,7 +142,7 @@ private:
|
|||||||
private:
|
private:
|
||||||
CFbdDiagDataApiPtr m_ptrDiagData; //< Diagram数据接口
|
CFbdDiagDataApiPtr m_ptrDiagData; //< Diagram数据接口
|
||||||
|
|
||||||
kbd_net::CMbCommunicator *m_pMbComm{nullptr}; //< 消息总线通信器
|
iot_net::CMbCommunicator *m_pMbComm{nullptr}; //< 消息总线通信器
|
||||||
|
|
||||||
SFbdModKey m_stModKey; //< 模块标识
|
SFbdModKey m_stModKey; //< 模块标识
|
||||||
|
|
||||||
|
|||||||
@ -59,7 +59,7 @@ int CBitSplit::init( const SFbdModKey &stModuleKey, const std::string & )
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_nOutputNum = kbd_public::StringToInt( strOutputNum );
|
m_nOutputNum = iot_public::StringToInt( strOutputNum );
|
||||||
if ( m_nOutputNum < CN_MinOutputNum || m_nOutputNum > CN_MaxOutputNum ) //< 判断输出参数是否有效
|
if ( m_nOutputNum < CN_MinOutputNum || m_nOutputNum > CN_MaxOutputNum ) //< 判断输出参数是否有效
|
||||||
{
|
{
|
||||||
LOGERROR( "模块[%s]要求的输出参数个数最小=%d,最大=%d",
|
LOGERROR( "模块[%s]要求的输出参数个数最小=%d,最大=%d",
|
||||||
|
|||||||
@ -90,7 +90,7 @@ int CDoCtrl::calculate()
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_net::CMbMessage objMsg;
|
iot_net::CMbMessage objMsg;
|
||||||
while ( m_pMbComm->recvMsg( objMsg, 0 ))
|
while ( m_pMbComm->recvMsg( objMsg, 0 ))
|
||||||
{
|
{
|
||||||
COptCtrlReply objParse;
|
COptCtrlReply objParse;
|
||||||
@ -228,7 +228,7 @@ int CDoCtrl::reset( const bool bMaster )
|
|||||||
if ( bMaster )
|
if ( bMaster )
|
||||||
{
|
{
|
||||||
if ( nullptr == m_pMbComm )
|
if ( nullptr == m_pMbComm )
|
||||||
m_pMbComm = new kbd_net::CMbCommunicator;
|
m_pMbComm = new iot_net::CMbCommunicator;
|
||||||
|
|
||||||
//< 必须订阅所有专业,因为可能控制其他专业的测点
|
//< 必须订阅所有专业,因为可能控制其他专业的测点
|
||||||
m_pMbComm->addSub( 0, CH_OPT_TO_HMI_OPTCMD_UP );
|
m_pMbComm->addSub( 0, CH_OPT_TO_HMI_OPTCMD_UP );
|
||||||
@ -346,10 +346,10 @@ int CDoCtrl::handleCmd( SCmdOfOnePnt &stCmdOfOnePnt )
|
|||||||
|
|
||||||
void CDoCtrl::sendCtrlCmd( SCtrlCmd &stCmd, const ECmdState eSuccessState, const ECmdState eFailState )
|
void CDoCtrl::sendCtrlCmd( SCtrlCmd &stCmd, const ECmdState eSuccessState, const ECmdState eFailState )
|
||||||
{
|
{
|
||||||
stCmd.lSendUtcMsec = kbd_public::getUTCTimeMsec();
|
stCmd.lSendUtcMsec = iot_public::getUTCTimeMsec();
|
||||||
stCmd.lSendMonotonicMsec = kbd_public::getMonotonicMsec();
|
stCmd.lSendMonotonicMsec = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
const kbd_public::SRunAppInfo &stRunAppInfo = getFbdSysInfoApi()->getCurrentRunAppInfo();
|
const iot_public::SRunAppInfo &stRunAppInfo = getFbdSysInfoApi()->getCurrentRunAppInfo();
|
||||||
|
|
||||||
SOptCtrlRequest stReq;
|
SOptCtrlRequest stReq;
|
||||||
stReq.stHead.strSrcTag = m_stModKey.toString();
|
stReq.stHead.strSrcTag = m_stModKey.toString();
|
||||||
@ -378,7 +378,7 @@ void CDoCtrl::sendCtrlCmd( SCtrlCmd &stCmd, const ECmdState eSuccessState, const
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_net::CMbMessage objMsg( stCmd.strLastSendJsonReq, stCmd.nAppId,
|
iot_net::CMbMessage objMsg( stCmd.strLastSendJsonReq, stCmd.nAppId,
|
||||||
CH_HMI_TO_OPT_OPTCMD_DOWN, MT_OPT_AUTO_CTRL_DOWN );
|
CH_HMI_TO_OPT_OPTCMD_DOWN, MT_OPT_AUTO_CTRL_DOWN );
|
||||||
if ( m_pMbComm->sendMsgToDomain( objMsg, stCmd.nDstDomainId ))
|
if ( m_pMbComm->sendMsgToDomain( objMsg, stCmd.nDstDomainId ))
|
||||||
{
|
{
|
||||||
@ -399,7 +399,7 @@ void CDoCtrl::waitCtrlRep( SCmdOfOnePnt &stCmdOfOnePnt, const ECmdState eSuccess
|
|||||||
{
|
{
|
||||||
SCtrlCmd &stCurrentCmd = *( stCmdOfOnePnt.m_ptrCurrentCmd );
|
SCtrlCmd &stCurrentCmd = *( stCmdOfOnePnt.m_ptrCurrentCmd );
|
||||||
|
|
||||||
const long long lElapsedMs = kbd_public::getMonotonicMsec() - stCurrentCmd.lSendMonotonicMsec;
|
const long long lElapsedMs = iot_public::getMonotonicMsec() - stCurrentCmd.lSendMonotonicMsec;
|
||||||
if ( lElapsedMs > stCurrentCmd.nTimeoutMsec || lElapsedMs < 0 )
|
if ( lElapsedMs > stCurrentCmd.nTimeoutMsec || lElapsedMs < 0 )
|
||||||
{
|
{
|
||||||
LOGERROR( "等待控制反馈超时,已等待时间[%lld]ms,原始控制请求:\n%s",
|
LOGERROR( "等待控制反馈超时,已等待时间[%lld]ms,原始控制请求:\n%s",
|
||||||
@ -486,8 +486,8 @@ int CDoCtrl::parseKeyIdTag( const std::string &strKeyIdTag, SCtrlCmd &stCtrlCmd
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::SSubsystemInfo stSubsysInfo;
|
iot_public::SSubsystemInfo stSubsysInfo;
|
||||||
kbd_public::SLocationInfo stLocationInfo;
|
iot_public::SLocationInfo stLocationInfo;
|
||||||
if ( kbdSuccess != ptrSysInfo->getSysInfo().getSubsystemInfoByName( stKeyInfo.strSubsystemName, stSubsysInfo ) ||
|
if ( kbdSuccess != ptrSysInfo->getSysInfo().getSubsystemInfoByName( stKeyInfo.strSubsystemName, stSubsysInfo ) ||
|
||||||
kbdSuccess != ptrSysInfo->getSysInfo().getLocationInfoByName( stKeyInfo.strLocationName, stLocationInfo ))
|
kbdSuccess != ptrSysInfo->getSysInfo().getLocationInfoByName( stKeyInfo.strLocationName, stLocationInfo ))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -142,7 +142,7 @@ private:
|
|||||||
private:
|
private:
|
||||||
CFbdDiagDataApiPtr m_ptrDiagData; //< Diagram数据接口
|
CFbdDiagDataApiPtr m_ptrDiagData; //< Diagram数据接口
|
||||||
|
|
||||||
kbd_net::CMbCommunicator *m_pMbComm{nullptr}; //< 消息总线通信器
|
iot_net::CMbCommunicator *m_pMbComm{nullptr}; //< 消息总线通信器
|
||||||
|
|
||||||
SFbdModKey m_stModKey; //< 模块标识
|
SFbdModKey m_stModKey; //< 模块标识
|
||||||
|
|
||||||
|
|||||||
@ -74,7 +74,7 @@ int CFourArithmetic::init( const SFbdModKey &stModuleKey, const std::string &str
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 判断输入参数个数合法性
|
//< 判断输入参数个数合法性
|
||||||
int nInputNum = kbd_public::StringToInt( strInputNum );
|
int nInputNum = iot_public::StringToInt( strInputNum );
|
||||||
if ( nInputNum < CN_MinInputNum )
|
if ( nInputNum < CN_MinInputNum )
|
||||||
{
|
{
|
||||||
LOGERROR( "模块[%s]要求的最小输入参数为%d", stModuleKey.toString().c_str(), CN_MinInputNum );
|
LOGERROR( "模块[%s]要求的最小输入参数为%d", stModuleKey.toString().c_str(), CN_MinInputNum );
|
||||||
|
|||||||
@ -33,7 +33,7 @@ int CAnd::init( const CFbdDiagDataApiPtr &ptrDiagData,
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 判断输入参数个数合法性
|
//< 判断输入参数个数合法性
|
||||||
m_nInputNum = kbd_public::StringToInt( strInputNum );
|
m_nInputNum = iot_public::StringToInt( strInputNum );
|
||||||
if ( m_nInputNum < 2 )
|
if ( m_nInputNum < 2 )
|
||||||
{
|
{
|
||||||
LOGERROR( "与运算输入参数个数必须大于等于2" );
|
LOGERROR( "与运算输入参数个数必须大于等于2" );
|
||||||
|
|||||||
@ -30,7 +30,7 @@ int COr::init( const CFbdDiagDataApiPtr &ptrDiagData,
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 判断输入参数个数合法性
|
//< 判断输入参数个数合法性
|
||||||
m_nInputNum = kbd_public::StringToInt( strInputNum );
|
m_nInputNum = iot_public::StringToInt( strInputNum );
|
||||||
if ( m_nInputNum < 2 )
|
if ( m_nInputNum < 2 )
|
||||||
{
|
{
|
||||||
LOGERROR( "与运算输入参数个数必须大于等于2" );
|
LOGERROR( "与运算输入参数个数必须大于等于2" );
|
||||||
|
|||||||
@ -251,7 +251,7 @@ int CLua::init( const SFbdModKey &stModuleKey, const std::string & )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 检查输入端口个数合法性
|
// 检查输入端口个数合法性
|
||||||
m_nInputNum = kbd_public::StringToInt( sInputNum );
|
m_nInputNum = iot_public::StringToInt( sInputNum );
|
||||||
g_nInputCount = m_nInputNum;
|
g_nInputCount = m_nInputNum;
|
||||||
if ( m_nInputNum < CN_MinIONum || m_nInputNum > CN_MaxIONum ) //< 判断是否有效
|
if ( m_nInputNum < CN_MinIONum || m_nInputNum > CN_MaxIONum ) //< 判断是否有效
|
||||||
{
|
{
|
||||||
@ -279,7 +279,7 @@ int CLua::init( const SFbdModKey &stModuleKey, const std::string & )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 检查输出端口个数合法性
|
// 检查输出端口个数合法性
|
||||||
m_nOutputNum = kbd_public::StringToInt( sOutputNum );
|
m_nOutputNum = iot_public::StringToInt( sOutputNum );
|
||||||
g_nOutputCount = m_nOutputNum;
|
g_nOutputCount = m_nOutputNum;
|
||||||
if ( m_nOutputNum < CN_MinIONum || m_nOutputNum > CN_MaxIONum ) //< 判断是否有效
|
if ( m_nOutputNum < CN_MinIONum || m_nOutputNum > CN_MaxIONum ) //< 判断是否有效
|
||||||
{
|
{
|
||||||
|
|||||||
@ -51,7 +51,7 @@ int CMux::init( const SFbdModKey &stModuleKey, const std::string & )
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 判断输入参数个数合法性
|
//< 判断输入参数个数合法性
|
||||||
m_nInputNum = kbd_public::StringToInt( strInputNum );
|
m_nInputNum = iot_public::StringToInt( strInputNum );
|
||||||
if ( m_nInputNum < CN_MinInputNum )
|
if ( m_nInputNum < CN_MinInputNum )
|
||||||
{
|
{
|
||||||
LOGERROR( "模块[%s]要求的最小输入参数为%d", stModuleKey.toString().c_str(), CN_MinInputNum );
|
LOGERROR( "模块[%s]要求的最小输入参数为%d", stModuleKey.toString().c_str(), CN_MinInputNum );
|
||||||
|
|||||||
@ -74,11 +74,11 @@ int CPntInput::init( const SFbdModKey &stModuleKey, const std::string & )
|
|||||||
//< 获取测点类型,用于判断状态字
|
//< 获取测点类型,用于判断状态字
|
||||||
if ( m_stPntInfo.strTableName == RT_DIG_TBL )
|
if ( m_stPntInfo.strTableName == RT_DIG_TBL )
|
||||||
{
|
{
|
||||||
m_nPntType = kbd_service::TYPE_STATUS_DI;
|
m_nPntType = iot_service::TYPE_STATUS_DI;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_nPntType = kbd_service::TYPE_STATUS_AI;
|
m_nPntType = iot_service::TYPE_STATUS_AI;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@ CPntOutput::~CPntOutput()
|
|||||||
int CPntOutput::init( const SFbdModKey &stModuleKey, const std::string &strExtraParam )
|
int CPntOutput::init( const SFbdModKey &stModuleKey, const std::string &strExtraParam )
|
||||||
{
|
{
|
||||||
m_stModKey = stModuleKey;
|
m_stModKey = stModuleKey;
|
||||||
int nSendInterval = kbd_public::StringToInt( strExtraParam ); //< 周期发送时间间隔,防止消息丢失
|
int nSendInterval = iot_public::StringToInt( strExtraParam ); //< 周期发送时间间隔,防止消息丢失
|
||||||
if ( nSendInterval > 0 )
|
if ( nSendInterval > 0 )
|
||||||
{
|
{
|
||||||
m_nSendIntervalMsec = nSendInterval * MSEC_PER_SEC;
|
m_nSendIntervalMsec = nSendInterval * MSEC_PER_SEC;
|
||||||
@ -107,7 +107,7 @@ int CPntOutput::calculate()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 到定时周期,或者与上次值发生变化
|
//< 到定时周期,或者与上次值发生变化
|
||||||
int64 lCurTime = kbd_public::getMonotonicMsec();
|
int64 lCurTime = iot_public::getMonotonicMsec();
|
||||||
if ( lCurTime - m_lLastSendTimeMsec > m_nSendIntervalMsec || stInput != m_stLastValAndSta )
|
if ( lCurTime - m_lLastSendTimeMsec > m_nSendIntervalMsec || stInput != m_stLastValAndSta )
|
||||||
{
|
{
|
||||||
sendToDP( stInput );
|
sendToDP( stInput );
|
||||||
@ -179,8 +179,8 @@ int CPntOutput::parsePntInfo( const SLongKeyIdTagInfo &stPntInfo )
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::SSubsystemInfo stSubsystemInfo;
|
iot_public::SSubsystemInfo stSubsystemInfo;
|
||||||
kbd_public::SLocationInfo stLocationInfo;
|
iot_public::SLocationInfo stLocationInfo;
|
||||||
if ( kbdSuccess != ptrSysInfo->getSysInfo().getSubsystemInfoByName( stPntInfo.strSubsystemName, stSubsystemInfo ) ||
|
if ( kbdSuccess != ptrSysInfo->getSysInfo().getSubsystemInfoByName( stPntInfo.strSubsystemName, stSubsystemInfo ) ||
|
||||||
kbdSuccess != ptrSysInfo->getSysInfo().getLocationInfoByName( stPntInfo.strLocationName, stLocationInfo ))
|
kbdSuccess != ptrSysInfo->getSysInfo().getLocationInfoByName( stPntInfo.strLocationName, stLocationInfo ))
|
||||||
{
|
{
|
||||||
@ -197,9 +197,9 @@ int CPntOutput::parsePntInfo( const SLongKeyIdTagInfo &stPntInfo )
|
|||||||
|
|
||||||
int CPntOutput::sendToDP( const SFbdNumericValue &stValAndSta )
|
int CPntOutput::sendToDP( const SFbdNumericValue &stValAndSta )
|
||||||
{
|
{
|
||||||
kbd_idlfile::SOptSetDataPkg objMsg;
|
iot_idl::SOptSetDataPkg objMsg;
|
||||||
kbd_idlfile::SOptDataPkgHead *pHead = objMsg.mutable_package_head();
|
iot_idl::SOptDataPkgHead *pHead = objMsg.mutable_package_head();
|
||||||
kbd_idlfile::SOptSetDataMsg *pData = objMsg.add_seq_set_data_info();
|
iot_idl::SOptSetDataMsg *pData = objMsg.add_seq_set_data_info();
|
||||||
if ( pHead == nullptr || pData == nullptr )
|
if ( pHead == nullptr || pData == nullptr )
|
||||||
{
|
{
|
||||||
LOGERROR( "构建发送给数据处理的消息失败.模块=[%s]", m_stModKey.toString().c_str());
|
LOGERROR( "构建发送给数据处理的消息失败.模块=[%s]", m_stModKey.toString().c_str());
|
||||||
@ -209,7 +209,7 @@ int CPntOutput::sendToDP( const SFbdNumericValue &stValAndSta )
|
|||||||
pHead->set_str_src_tag( m_stModKey.toString());
|
pHead->set_str_src_tag( m_stModKey.toString());
|
||||||
pHead->set_b_not_alarm( true ); //< true-不会产生操作记录
|
pHead->set_b_not_alarm( true ); //< true-不会产生操作记录
|
||||||
pHead->set_n_point_type( m_nPntType ); //< 点类型,一个包中不允许包含多种类型的测点
|
pHead->set_n_point_type( m_nPntType ); //< 点类型,一个包中不允许包含多种类型的测点
|
||||||
pHead->set_n_opt_time( kbd_public::getUTCTimeMsec());
|
pHead->set_n_opt_time( iot_public::getUTCTimeMsec());
|
||||||
|
|
||||||
pData->set_str_tag_name( m_stPntInfo.strTagName );
|
pData->set_str_tag_name( m_stPntInfo.strTagName );
|
||||||
|
|
||||||
@ -226,12 +226,12 @@ int CPntOutput::sendToDP( const SFbdNumericValue &stValAndSta )
|
|||||||
|
|
||||||
if ( m_nPntType == POINT_TYPE_DIG )
|
if ( m_nPntType == POINT_TYPE_DIG )
|
||||||
{
|
{
|
||||||
pData->mutable_var_value()->set_edatatype( kbd_idlfile::CN_DATATYPE_INT32 );
|
pData->mutable_var_value()->set_edatatype( iot_idl::CN_DATATYPE_INT32 );
|
||||||
pData->mutable_var_value()->set_nvalue( static_cast<int>(stValAndSta.m_dValue));
|
pData->mutable_var_value()->set_nvalue( static_cast<int>(stValAndSta.m_dValue));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pData->mutable_var_value()->set_edatatype( kbd_idlfile::CN_DATATYPE_DOUBLE );
|
pData->mutable_var_value()->set_edatatype( iot_idl::CN_DATATYPE_DOUBLE );
|
||||||
pData->mutable_var_value()->set_dvalue( stValAndSta.m_dValue );
|
pData->mutable_var_value()->set_dvalue( stValAndSta.m_dValue );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -249,8 +249,8 @@ int CPntOutput::sendToDP( const SFbdNumericValue &stValAndSta )
|
|||||||
|
|
||||||
int CPntOutput::sendMsg( const std::string &strMsg )
|
int CPntOutput::sendMsg( const std::string &strMsg )
|
||||||
{
|
{
|
||||||
kbd_net::CMbMessage objMsg( strMsg, m_nAppIdOfPnt, CH_OPT_TO_SCADA_VALUE_SET,
|
iot_net::CMbMessage objMsg( strMsg, m_nAppIdOfPnt, CH_OPT_TO_SCADA_VALUE_SET,
|
||||||
kbd_idlfile::MT_OPT_SET_CAL_DATA_DOWN );
|
iot_idl::MT_OPT_SET_CAL_DATA_DOWN );
|
||||||
objMsg.setPara1( m_nDomainIdOfPnt ); //TODO:需要填写吗?
|
objMsg.setPara1( m_nDomainIdOfPnt ); //TODO:需要填写吗?
|
||||||
|
|
||||||
if ( !m_objCommunicator.sendMsgToDomain( objMsg, m_nDomainIdOfPnt )) //< 发送到测点所在域
|
if ( !m_objCommunicator.sendMsgToDomain( objMsg, m_nDomainIdOfPnt )) //< 发送到测点所在域
|
||||||
@ -266,7 +266,7 @@ int CPntOutput::sendMsg( const std::string &strMsg )
|
|||||||
|
|
||||||
int CPntOutput::getPntStatusMenu( const int nPntType )
|
int CPntOutput::getPntStatusMenu( const int nPntType )
|
||||||
{
|
{
|
||||||
kbd_service::CDataProcessApiPtr ptrDP = kbd_service::getDataProcInstance();
|
iot_service::CDataProcessApiPtr ptrDP = iot_service::getDataProcInstance();
|
||||||
if ( ptrDP == nullptr )
|
if ( ptrDP == nullptr )
|
||||||
{
|
{
|
||||||
LOGERROR( "getDataProcInstance失败" );
|
LOGERROR( "getDataProcInstance失败" );
|
||||||
|
|||||||
@ -82,7 +82,7 @@ private:
|
|||||||
SFbdValueKey m_stInKey1; //< 输入参数1
|
SFbdValueKey m_stInKey1; //< 输入参数1
|
||||||
|
|
||||||
SFbdNumericValue m_stLastValAndSta; //< 记录上一次的值
|
SFbdNumericValue m_stLastValAndSta; //< 记录上一次的值
|
||||||
kbd_net::CMbCommunicator m_objCommunicator; //< 通信器
|
iot_net::CMbCommunicator m_objCommunicator; //< 通信器
|
||||||
};
|
};
|
||||||
|
|
||||||
BOOST_DLL_ALIAS(
|
BOOST_DLL_ALIAS(
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
namespace kbd_app {
|
namespace kbd_app {
|
||||||
|
|
||||||
typedef boost::shared_ptr<kbd_net::CMbMessage> CMbMessagePtr;
|
typedef boost::shared_ptr<iot_net::CMbMessage> CMbMessagePtr;
|
||||||
|
|
||||||
class CMbMsgMng
|
class CMbMsgMng
|
||||||
{
|
{
|
||||||
|
|||||||
@ -14,7 +14,7 @@ CPushConfigParse::~CPushConfigParse() = default;
|
|||||||
int CPushConfigParse::initialize()
|
int CPushConfigParse::initialize()
|
||||||
{
|
{
|
||||||
//1.获取配置文件绝对路径
|
//1.获取配置文件绝对路径
|
||||||
const boost::filesystem::path objFullPath = kbd_public::CFileUtil::getPathOfCfgFile("push_server.xml");
|
const boost::filesystem::path objFullPath = iot_public::CFileUtil::getPathOfCfgFile("push_server.xml");
|
||||||
if ( objFullPath.empty())
|
if ( objFullPath.empty())
|
||||||
{
|
{
|
||||||
LOGERROR( "获取配置文件路径失败" );
|
LOGERROR( "获取配置文件路径失败" );
|
||||||
|
|||||||
@ -7,10 +7,10 @@
|
|||||||
|
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_sys;
|
using namespace iot_sys;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_net;
|
using namespace iot_net;
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
namespace kbd_app {
|
namespace kbd_app {
|
||||||
|
|
||||||
|
|
||||||
class CPushServerApp: public kbd_public::CBaseService, public kbd_sys::CProcessQuitInterface
|
class CPushServerApp: public iot_public::CBaseService, public iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPushServerApp();
|
CPushServerApp();
|
||||||
@ -90,12 +90,12 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
std::string m_strAppName; //< 应用名
|
std::string m_strAppName; //< 应用名
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
std::string m_strStartArgs; //< 保存进程启动参数
|
std::string m_strStartArgs; //< 保存进程启动参数
|
||||||
kbd_public::SNodeInfo m_stLocalNodeInfo; //< 本机节点信息
|
iot_public::SNodeInfo m_stLocalNodeInfo; //< 本机节点信息
|
||||||
kbd_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
|
iot_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
|
||||||
kbd_sys::CProcMngInterfacePtr m_ptrProcMng; //< 进程管理访问库智能指针
|
iot_sys::CProcMngInterfacePtr m_ptrProcMng; //< 进程管理访问库智能指针
|
||||||
kbd_sys::CRedundantMngInterfacePtr m_ptrRedundancyMng; //< 冗余管理类
|
iot_sys::CRedundantMngInterfacePtr m_ptrRedundancyMng; //< 冗余管理类
|
||||||
CPushSrvMngPtr m_ptrPushSvrMng; //< FBD服务管理类
|
CPushSrvMngPtr m_ptrPushSvrMng; //< FBD服务管理类
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
kbd_app::CPushSrvMng::CPushSrvMng( const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CPushSrvMng::CPushSrvMng( const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_sys::CProcMngInterfacePtr &ptrProcMng )
|
const iot_sys::CProcMngInterfacePtr &ptrProcMng )
|
||||||
: m_stRunAppInfo( stRunAppInfo ),
|
: m_stRunAppInfo( stRunAppInfo ),
|
||||||
m_ptrProcMng( ptrProcMng ),
|
m_ptrProcMng( ptrProcMng ),
|
||||||
m_ptrConfigParse( nullptr ),
|
m_ptrConfigParse( nullptr ),
|
||||||
|
|||||||
@ -13,11 +13,11 @@
|
|||||||
namespace kbd_app {
|
namespace kbd_app {
|
||||||
|
|
||||||
|
|
||||||
class CPushSrvMng : public kbd_sys::CRedundantSwitchInterface
|
class CPushSrvMng : public iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPushSrvMng( const kbd_public::SRunAppInfo &stRunAppInfo,
|
CPushSrvMng( const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_sys::CProcMngInterfacePtr &ptrProcMng );
|
const iot_sys::CProcMngInterfacePtr &ptrProcMng );
|
||||||
virtual ~CPushSrvMng(); /**
|
virtual ~CPushSrvMng(); /**
|
||||||
@brief 冗余切换,应用需要继承并重写,实现自身的冗余切换逻辑
|
@brief 冗余切换,应用需要继承并重写,实现自身的冗余切换逻辑
|
||||||
在进程切换过程中,可能会被调用多次切换,业务进程需要保证幂等,无副作用
|
在进程切换过程中,可能会被调用多次切换,业务进程需要保证幂等,无副作用
|
||||||
@ -33,8 +33,8 @@ public:
|
|||||||
int initialize();
|
int initialize();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
kbd_sys::CProcMngInterfacePtr m_ptrProcMng; //< 进程管理访问库智能指针
|
iot_sys::CProcMngInterfacePtr m_ptrProcMng; //< 进程管理访问库智能指针
|
||||||
CPushConfigParsePtr m_ptrConfigParse;
|
CPushConfigParsePtr m_ptrConfigParse;
|
||||||
CMbMsgMngPtr m_ptrMbMsgMng;
|
CMbMsgMngPtr m_ptrMbMsgMng;
|
||||||
CRecvMsgThreadPtr m_ptrRecvMsgThread;
|
CRecvMsgThreadPtr m_ptrRecvMsgThread;
|
||||||
|
|||||||
@ -6,10 +6,10 @@
|
|||||||
namespace kbd_app{
|
namespace kbd_app{
|
||||||
|
|
||||||
|
|
||||||
CPushWorkThread::CPushWorkThread(kbd_public::SRunAppInfo stRunAppInfo,
|
CPushWorkThread::CPushWorkThread(iot_public::SRunAppInfo stRunAppInfo,
|
||||||
CPushConfigParsePtr ptrConfigParse,
|
CPushConfigParsePtr ptrConfigParse,
|
||||||
CMbMsgMngPtr ptrMbMsgMng)
|
CMbMsgMngPtr ptrMbMsgMng)
|
||||||
: kbd_public::CTimerThreadBase( "CPushWorkThread", 1000 ),
|
: iot_public::CTimerThreadBase( "CPushWorkThread", 1000 ),
|
||||||
m_stRunAppInfo( std::move( stRunAppInfo )),
|
m_stRunAppInfo( std::move( stRunAppInfo )),
|
||||||
m_ptrConfigParse( ptrConfigParse),
|
m_ptrConfigParse( ptrConfigParse),
|
||||||
m_ptrMbMsgMng(ptrMbMsgMng)
|
m_ptrMbMsgMng(ptrMbMsgMng)
|
||||||
@ -87,7 +87,7 @@ int CPushWorkThread::redundantSwitch(bool bMaster, bool bSlave)
|
|||||||
std::string CPushWorkThread::getPushPluginsPath()
|
std::string CPushWorkThread::getPushPluginsPath()
|
||||||
{
|
{
|
||||||
namespace fs = boost::filesystem;
|
namespace fs = boost::filesystem;
|
||||||
fs::path dllPath = kbd_public::CFileUtil::getCurModuleDir();
|
fs::path dllPath = iot_public::CFileUtil::getCurModuleDir();
|
||||||
dllPath /= CN_DllPath;
|
dllPath /= CN_DllPath;
|
||||||
return dllPath.string();
|
return dllPath.string();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,10 +10,10 @@
|
|||||||
namespace kbd_app {
|
namespace kbd_app {
|
||||||
|
|
||||||
|
|
||||||
class CPushWorkThread final : public kbd_public::CTimerThreadBase
|
class CPushWorkThread final : public iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPushWorkThread(kbd_public::SRunAppInfo stRunAppInfo,
|
CPushWorkThread(iot_public::SRunAppInfo stRunAppInfo,
|
||||||
CPushConfigParsePtr ptrConfigParse,
|
CPushConfigParsePtr ptrConfigParse,
|
||||||
CMbMsgMngPtr ptrMbMsgMng);
|
CMbMsgMngPtr ptrMbMsgMng);
|
||||||
~CPushWorkThread() override;
|
~CPushWorkThread() override;
|
||||||
@ -36,7 +36,7 @@ private:
|
|||||||
typedef boost::function<pluginapi_create_t> PluginApiFunc; //< 模块动态库函数
|
typedef boost::function<pluginapi_create_t> PluginApiFunc; //< 模块动态库函数
|
||||||
typedef std::map<std::string, PluginApiFunc> DllToFuncPtrMAP;//< dll名称-->导出函数
|
typedef std::map<std::string, PluginApiFunc> DllToFuncPtrMAP;//< dll名称-->导出函数
|
||||||
|
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo;
|
iot_public::SRunAppInfo m_stRunAppInfo;
|
||||||
std::vector<int> m_vecType;
|
std::vector<int> m_vecType;
|
||||||
typedef std::map<int, CBasePushModulePtr> TypeToModPtrMAP;
|
typedef std::map<int, CBasePushModulePtr> TypeToModPtrMAP;
|
||||||
DllToFuncPtrMAP m_mapDllHandle; //< 本组加载的动态库
|
DllToFuncPtrMAP m_mapDllHandle; //< 本组加载的动态库
|
||||||
|
|||||||
@ -5,10 +5,10 @@
|
|||||||
namespace kbd_app {
|
namespace kbd_app {
|
||||||
|
|
||||||
|
|
||||||
CRecvMsgThread::CRecvMsgThread(kbd_public::SRunAppInfo stRunAppInfo ,
|
CRecvMsgThread::CRecvMsgThread(iot_public::SRunAppInfo stRunAppInfo ,
|
||||||
CPushConfigParsePtr ptrConfigParse,
|
CPushConfigParsePtr ptrConfigParse,
|
||||||
CMbMsgMngPtr ptrMbMsgMng)
|
CMbMsgMngPtr ptrMbMsgMng)
|
||||||
: kbd_public::CTimerThreadBase( "CRecvMsgThread", 1000 ),
|
: iot_public::CTimerThreadBase( "CRecvMsgThread", 1000 ),
|
||||||
m_stRunAppInfo(std::move( stRunAppInfo )),
|
m_stRunAppInfo(std::move( stRunAppInfo )),
|
||||||
m_ptrConfigParse( ptrConfigParse),
|
m_ptrConfigParse( ptrConfigParse),
|
||||||
m_ptrMbMsgMng(ptrMbMsgMng)
|
m_ptrMbMsgMng(ptrMbMsgMng)
|
||||||
@ -56,7 +56,7 @@ int CRecvMsgThread::unsubscribeMessage()
|
|||||||
m_objCommunicator.delSub(0, 0);
|
m_objCommunicator.delSub(0, 0);
|
||||||
|
|
||||||
/* @brief 清空消息总线中的数据 */
|
/* @brief 清空消息总线中的数据 */
|
||||||
kbd_net::CMbMessage objMsg;
|
iot_net::CMbMessage objMsg;
|
||||||
while ( m_objCommunicator.recvMsg( objMsg, 0 ))
|
while ( m_objCommunicator.recvMsg( objMsg, 0 ))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -68,7 +68,7 @@ int CRecvMsgThread::unsubscribeMessage()
|
|||||||
void CRecvMsgThread::execute()
|
void CRecvMsgThread::execute()
|
||||||
{
|
{
|
||||||
|
|
||||||
CMbMessagePtr ptrMsg = boost::make_shared<kbd_net::CMbMessage>();
|
CMbMessagePtr ptrMsg = boost::make_shared<iot_net::CMbMessage>();
|
||||||
if ( m_objCommunicator.recvMsg( *ptrMsg ))
|
if ( m_objCommunicator.recvMsg( *ptrMsg ))
|
||||||
{
|
{
|
||||||
if ( ptrMsg->getChannelID() != CH_PSH_APP_TO_SRV_PRTBF)
|
if ( ptrMsg->getChannelID() != CH_PSH_APP_TO_SRV_PRTBF)
|
||||||
|
|||||||
@ -13,10 +13,10 @@
|
|||||||
namespace kbd_app {
|
namespace kbd_app {
|
||||||
|
|
||||||
|
|
||||||
class CRecvMsgThread final : public kbd_public::CTimerThreadBase
|
class CRecvMsgThread final : public iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit CRecvMsgThread( kbd_public::SRunAppInfo stRunAppInfo ,
|
explicit CRecvMsgThread( iot_public::SRunAppInfo stRunAppInfo ,
|
||||||
CPushConfigParsePtr ptrConfigParse,
|
CPushConfigParsePtr ptrConfigParse,
|
||||||
CMbMsgMngPtr ptrMbMsgMng);
|
CMbMsgMngPtr ptrMbMsgMng);
|
||||||
~CRecvMsgThread() override;
|
~CRecvMsgThread() override;
|
||||||
@ -50,8 +50,8 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
kbd_net::CMbCommunicator m_objCommunicator; //< 通信器
|
iot_net::CMbCommunicator m_objCommunicator; //< 通信器
|
||||||
CPushConfigParsePtr m_ptrConfigParse;
|
CPushConfigParsePtr m_ptrConfigParse;
|
||||||
CMbMsgMngPtr m_ptrMbMsgMng;
|
CMbMsgMngPtr m_ptrMbMsgMng;
|
||||||
std::vector<int> m_vecType; // 模块类型ID;
|
std::vector<int> m_vecType; // 模块类型ID;
|
||||||
|
|||||||
@ -28,13 +28,13 @@ public:
|
|||||||
* @param strModuleName 当前模块名
|
* @param strModuleName 当前模块名
|
||||||
* @param strExtraParam 额外的参数,方便模块复用
|
* @param strExtraParam 额外的参数,方便模块复用
|
||||||
*/
|
*/
|
||||||
virtual int init( const kbd_public::SRunAppInfo &stRunAppInfo,
|
virtual int init( const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const std::string &strModuleName,
|
const std::string &strModuleName,
|
||||||
const std::string &strExtraParam ) = 0;
|
const std::string &strExtraParam ) = 0;
|
||||||
/**
|
/**
|
||||||
* 接收并发送
|
* 接收并发送
|
||||||
*/
|
*/
|
||||||
virtual int recvAndSend(boost::shared_ptr<kbd_net::CMbMessage> msg) = 0;
|
virtual int recvAndSend(boost::shared_ptr<iot_net::CMbMessage> msg) = 0;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ inline void insertPushRecord(
|
|||||||
bool result)
|
bool result)
|
||||||
|
|
||||||
{
|
{
|
||||||
kbd_dbms::CDbApi DbWriteApi(DB_CONN_MODEL_WRITE);
|
iot_dbms::CDbApi DbWriteApi(DB_CONN_MODEL_WRITE);
|
||||||
if(!DbWriteApi.open())
|
if(!DbWriteApi.open())
|
||||||
{
|
{
|
||||||
LOGINFO("cannot get WriteableDb");
|
LOGINFO("cannot get WriteableDb");
|
||||||
|
|||||||
@ -29,14 +29,14 @@ bool split(std::string str, const std::string & token,std::vector<std::string> &
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int kbd_app::CBbniotVsms::init(const kbd_public::SRunAppInfo &/*stRunAppInfo*/, const std::string &/*strModuleName*/, const std::string &/*strExtraParam*/)
|
int kbd_app::CBbniotVsms::init(const iot_public::SRunAppInfo &/*stRunAppInfo*/, const std::string &/*strModuleName*/, const std::string &/*strExtraParam*/)
|
||||||
{
|
{
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_app::CBbniotVsms::recvAndSend(boost::shared_ptr<kbd_net::CMbMessage> msg)
|
int kbd_app::CBbniotVsms::recvAndSend(boost::shared_ptr<iot_net::CMbMessage> msg)
|
||||||
{
|
{
|
||||||
kbd_idlfile::SBBNIOT_VSMS objData;
|
iot_idl::SBBNIOT_VSMS objData;
|
||||||
if ( !objData.ParseFromArray( msg->getDataPtr(), static_cast<int>(msg->getDataSize())))
|
if ( !objData.ParseFromArray( msg->getDataPtr(), static_cast<int>(msg->getDataSize())))
|
||||||
{
|
{
|
||||||
LOGERROR( "解析SBBNIOT_VSMS消息失败" );
|
LOGERROR( "解析SBBNIOT_VSMS消息失败" );
|
||||||
|
|||||||
@ -18,11 +18,11 @@ public:
|
|||||||
* @param strModuleName 当前模块名
|
* @param strModuleName 当前模块名
|
||||||
* @param strExtraParam 额外的参数,方便模块复用
|
* @param strExtraParam 额外的参数,方便模块复用
|
||||||
*/
|
*/
|
||||||
int init( const kbd_public::SRunAppInfo &stRunAppInfo,
|
int init( const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const std::string &strModuleName,
|
const std::string &strModuleName,
|
||||||
const std::string &strExtraParam ) override;
|
const std::string &strExtraParam ) override;
|
||||||
|
|
||||||
int recvAndSend(boost::shared_ptr<kbd_net::CMbMessage> msg) override;
|
int recvAndSend(boost::shared_ptr<iot_net::CMbMessage> msg) override;
|
||||||
|
|
||||||
// Factory method
|
// Factory method
|
||||||
static boost::shared_ptr<CBbniotVsms> create();
|
static boost::shared_ptr<CBbniotVsms> create();
|
||||||
|
|||||||
@ -13,16 +13,16 @@ kbd_app::CSmtpMail::~CSmtpMail()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_app::CSmtpMail::init(const kbd_public::SRunAppInfo &/*stRunAppInfo*/,
|
int kbd_app::CSmtpMail::init(const iot_public::SRunAppInfo &/*stRunAppInfo*/,
|
||||||
const std::string &/*strModuleName*/,
|
const std::string &/*strModuleName*/,
|
||||||
const std::string &/*strExtraParam*/)
|
const std::string &/*strExtraParam*/)
|
||||||
{
|
{
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_app::CSmtpMail::recvAndSend(boost::shared_ptr<kbd_net::CMbMessage> msg)
|
int kbd_app::CSmtpMail::recvAndSend(boost::shared_ptr<iot_net::CMbMessage> msg)
|
||||||
{
|
{
|
||||||
kbd_idlfile::SSMTP_MAIL objData;
|
iot_idl::SSMTP_MAIL objData;
|
||||||
if ( !objData.ParseFromArray( msg->getDataPtr(), static_cast<int>(msg->getDataSize())))
|
if ( !objData.ParseFromArray( msg->getDataPtr(), static_cast<int>(msg->getDataSize())))
|
||||||
{
|
{
|
||||||
LOGERROR( "解析SSMTP_MAIL消息失败" );
|
LOGERROR( "解析SSMTP_MAIL消息失败" );
|
||||||
@ -36,9 +36,9 @@ int kbd_app::CSmtpMail::recvAndSend(boost::shared_ptr<kbd_net::CMbMessage> msg)
|
|||||||
objData.password(),
|
objData.password(),
|
||||||
objData.server_address(),
|
objData.server_address(),
|
||||||
objData.port());
|
objData.port());
|
||||||
if(objData.connecttiontype() == kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_SSL_CONNECTION)
|
if(objData.connecttiontype() == iot_idl::SSMTP_MAIL_enConnectionType_CT_SSL_CONNECTION)
|
||||||
objSendMail.SetConType(CSmtpSendMail::EM_SSL_CONNECTION);
|
objSendMail.SetConType(CSmtpSendMail::EM_SSL_CONNECTION);
|
||||||
else if (objData.connecttiontype() == kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_TLS_CONNECTION)
|
else if (objData.connecttiontype() == iot_idl::SSMTP_MAIL_enConnectionType_CT_TLS_CONNECTION)
|
||||||
objSendMail.SetConType(CSmtpSendMail::EM_TLS_CONNECTION);
|
objSendMail.SetConType(CSmtpSendMail::EM_TLS_CONNECTION);
|
||||||
else
|
else
|
||||||
objSendMail.SetConType(CSmtpSendMail::EM_TCP_CONNECTION); //默认TCP连接
|
objSendMail.SetConType(CSmtpSendMail::EM_TCP_CONNECTION); //默认TCP连接
|
||||||
|
|||||||
@ -20,11 +20,11 @@ public:
|
|||||||
* @param strModuleName 当前模块名
|
* @param strModuleName 当前模块名
|
||||||
* @param strExtraParam 额外的参数,方便模块复用
|
* @param strExtraParam 额外的参数,方便模块复用
|
||||||
*/
|
*/
|
||||||
int init( const kbd_public::SRunAppInfo &stRunAppInfo,
|
int init( const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const std::string &strModuleName,
|
const std::string &strModuleName,
|
||||||
const std::string &strExtraParam ) override;
|
const std::string &strExtraParam ) override;
|
||||||
|
|
||||||
int recvAndSend(boost::shared_ptr<kbd_net::CMbMessage> msg) override;
|
int recvAndSend(boost::shared_ptr<iot_net::CMbMessage> msg) override;
|
||||||
|
|
||||||
// Factory method
|
// Factory method
|
||||||
static boost::shared_ptr<CSmtpMail> create();
|
static boost::shared_ptr<CSmtpMail> create();
|
||||||
|
|||||||
@ -76,16 +76,16 @@ void MainWindow::sendMail_clicked()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_idlfile::SSMTP_MAIL mail;
|
iot_idl::SSMTP_MAIL mail;
|
||||||
mail.set_server_address(ui->lineEdit_srvAddr->text().toStdString().c_str());
|
mail.set_server_address(ui->lineEdit_srvAddr->text().toStdString().c_str());
|
||||||
mail.set_port(QString::number(ui->spinBox_port->value()).toStdString().c_str());
|
mail.set_port(QString::number(ui->spinBox_port->value()).toStdString().c_str());
|
||||||
if(ui->comboBox_connectionType->currentIndex() == 0)
|
if(ui->comboBox_connectionType->currentIndex() == 0)
|
||||||
{
|
{
|
||||||
mail.set_connecttiontype(kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_TCP_CONNECTION);
|
mail.set_connecttiontype(iot_idl::SSMTP_MAIL_enConnectionType_CT_TCP_CONNECTION);
|
||||||
}else if(ui->comboBox_connectionType->currentIndex() == 1){
|
}else if(ui->comboBox_connectionType->currentIndex() == 1){
|
||||||
mail.set_connecttiontype(kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_SSL_CONNECTION);
|
mail.set_connecttiontype(iot_idl::SSMTP_MAIL_enConnectionType_CT_SSL_CONNECTION);
|
||||||
}else{
|
}else{
|
||||||
mail.set_connecttiontype(kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_TLS_CONNECTION);
|
mail.set_connecttiontype(iot_idl::SSMTP_MAIL_enConnectionType_CT_TLS_CONNECTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
mail.set_sender(ui->lineEdit_sender->text().toStdString().c_str());
|
mail.set_sender(ui->lineEdit_sender->text().toStdString().c_str());
|
||||||
@ -96,8 +96,8 @@ void MainWindow::sendMail_clicked()
|
|||||||
mail.set_content(ui->plainTextEdit_content->toPlainText().toStdString().c_str());
|
mail.set_content(ui->plainTextEdit_content->toPlainText().toStdString().c_str());
|
||||||
mail.set_time(QDateTime::currentMSecsSinceEpoch());
|
mail.set_time(QDateTime::currentMSecsSinceEpoch());
|
||||||
|
|
||||||
kbd_net::CMbMessage msg;
|
iot_net::CMbMessage msg;
|
||||||
msg.setMsgType(kbd_idlfile::MT_PUSH_SMTP_MAIL);
|
msg.setMsgType(iot_idl::MT_PUSH_SMTP_MAIL);
|
||||||
msg.setData(mail);
|
msg.setData(mail);
|
||||||
msg.setSubject(CN_AppId_COMAPP,CH_PSH_APP_TO_SRV_PRTBF);
|
msg.setSubject(CN_AppId_COMAPP,CH_PSH_APP_TO_SRV_PRTBF);
|
||||||
|
|
||||||
@ -127,7 +127,7 @@ void MainWindow::sendBbiot_clicked()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
kbd_idlfile::SBBNIOT_VSMS vsmsMsg;
|
iot_idl::SBBNIOT_VSMS vsmsMsg;
|
||||||
vsmsMsg.set_server_address(ui->lineEdit_bbiot_srvAddr->text().toStdString().c_str());
|
vsmsMsg.set_server_address(ui->lineEdit_bbiot_srvAddr->text().toStdString().c_str());
|
||||||
if(ui->comboBox_bbit_method->currentIndex() == 0)
|
if(ui->comboBox_bbit_method->currentIndex() == 0)
|
||||||
{
|
{
|
||||||
@ -144,8 +144,8 @@ void MainWindow::sendBbiot_clicked()
|
|||||||
vsmsMsg.set_content(ui->lineEdit_bbiot_content->text().toStdString().c_str());
|
vsmsMsg.set_content(ui->lineEdit_bbiot_content->text().toStdString().c_str());
|
||||||
vsmsMsg.set_time(QDateTime::currentMSecsSinceEpoch());
|
vsmsMsg.set_time(QDateTime::currentMSecsSinceEpoch());
|
||||||
|
|
||||||
kbd_net::CMbMessage msg;
|
iot_net::CMbMessage msg;
|
||||||
msg.setMsgType(kbd_idlfile::MT_PUSH_BBNIOT_VSMS);
|
msg.setMsgType(iot_idl::MT_PUSH_BBNIOT_VSMS);
|
||||||
msg.setData(vsmsMsg);
|
msg.setData(vsmsMsg);
|
||||||
msg.setSubject(CN_AppId_COMAPP,CH_PSH_APP_TO_SRV_PRTBF);
|
msg.setSubject(CN_AppId_COMAPP,CH_PSH_APP_TO_SRV_PRTBF);
|
||||||
|
|
||||||
@ -161,7 +161,7 @@ void MainWindow::refreshHis()
|
|||||||
{
|
{
|
||||||
ui->tableWidget_pushHis->setRowCount(0);
|
ui->tableWidget_pushHis->setRowCount(0);
|
||||||
|
|
||||||
kbd_dbms::CDbApi DbReadApi(DB_CONN_MODEL_READ);
|
iot_dbms::CDbApi DbReadApi(DB_CONN_MODEL_READ);
|
||||||
if(!DbReadApi.open())
|
if(!DbReadApi.open())
|
||||||
{
|
{
|
||||||
QMessageBox::information(this,"提示","无法连接数据库");
|
QMessageBox::information(this,"提示","无法连接数据库");
|
||||||
@ -209,7 +209,7 @@ void MainWindow::emptyHis()
|
|||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_dbms::CDbApi DbReadApi(DB_CONN_MODEL_WRITE);
|
iot_dbms::CDbApi DbReadApi(DB_CONN_MODEL_WRITE);
|
||||||
if(!DbReadApi.open())
|
if(!DbReadApi.open())
|
||||||
{
|
{
|
||||||
QMessageBox::information(this,"提示","无法连接数据库");
|
QMessageBox::information(this,"提示","无法连接数据库");
|
||||||
|
|||||||
@ -25,7 +25,7 @@ private slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::MainWindow *ui;
|
Ui::MainWindow *ui;
|
||||||
kbd_net::CMbCommunicator m_objComm; //< 通信器
|
iot_net::CMbCommunicator m_objComm; //< 通信器
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ int main(int argc, char *argv[])
|
|||||||
kbd_common::doQtAppGlobalSet();
|
kbd_common::doQtAppGlobalSet();
|
||||||
|
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
kbd_net::initMsgBus("push_debug","");
|
iot_net::initMsgBus("push_debug","");
|
||||||
int result;
|
int result;
|
||||||
{
|
{
|
||||||
MainWindow w;
|
MainWindow w;
|
||||||
@ -18,6 +18,6 @@ int main(int argc, char *argv[])
|
|||||||
result = a.exec();
|
result = a.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_net::releaseMsgBus();
|
iot_net::releaseMsgBus();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,8 +9,8 @@
|
|||||||
#include "db_sysinfo_api/CDbSysInfo.h"
|
#include "db_sysinfo_api/CDbSysInfo.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
kbd_app::CSimInterLockImpl::CSimInterLockImpl()
|
kbd_app::CSimInterLockImpl::CSimInterLockImpl()
|
||||||
{
|
{
|
||||||
@ -121,7 +121,7 @@ bool kbd_app::CSimInterLockImpl::loadInfoFromDB(const std::string &strTagList)
|
|||||||
CDbApi objConnect(DB_CONN_MODEL_READ);
|
CDbApi objConnect(DB_CONN_MODEL_READ);
|
||||||
if (false == objConnect.open())
|
if (false == objConnect.open())
|
||||||
{
|
{
|
||||||
kbd_dbms::CDbPara objDbParam = objConnect.getCurrentDbPara() ;
|
iot_dbms::CDbPara objDbParam = objConnect.getCurrentDbPara() ;
|
||||||
LOGERROR("连接模型库失败.host_name=[%s],db_name=[%s],user_name=[%s],passwd=[%s],port=[%d]",
|
LOGERROR("连接模型库失败.host_name=[%s],db_name=[%s],user_name=[%s],passwd=[%s],port=[%d]",
|
||||||
objDbParam.getHostName().toStdString().c_str(),
|
objDbParam.getHostName().toStdString().c_str(),
|
||||||
objDbParam.getDatabaseName().toStdString().c_str(),
|
objDbParam.getDatabaseName().toStdString().c_str(),
|
||||||
@ -154,7 +154,7 @@ bool kbd_app::CSimInterLockImpl::loadInfoFromDB(const std::string &strTagList)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* @brief 加载闭锁参数信息 */
|
/* @brief 加载闭锁参数信息 */
|
||||||
bool kbd_app::CSimInterLockImpl::loadInterlockParam(kbd_dbms::CDbApi &objDBConnect,
|
bool kbd_app::CSimInterLockImpl::loadInterlockParam(iot_dbms::CDbApi &objDBConnect,
|
||||||
const std::string &strTagList,
|
const std::string &strTagList,
|
||||||
std::string &strFuncNameList)
|
std::string &strFuncNameList)
|
||||||
{
|
{
|
||||||
@ -231,7 +231,7 @@ bool kbd_app::CSimInterLockImpl::loadInterlockParam(kbd_dbms::CDbApi &objDBConne
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* @brief 加载闭锁函数信息 */
|
/* @brief 加载闭锁函数信息 */
|
||||||
bool kbd_app::CSimInterLockImpl::loadInterlockDef(kbd_dbms::CDbApi &objDBConnect,
|
bool kbd_app::CSimInterLockImpl::loadInterlockDef(iot_dbms::CDbApi &objDBConnect,
|
||||||
const std::string &strFuncNameList)
|
const std::string &strFuncNameList)
|
||||||
{
|
{
|
||||||
if (strFuncNameList.empty())
|
if (strFuncNameList.empty())
|
||||||
@ -259,7 +259,7 @@ bool kbd_app::CSimInterLockImpl::loadInterlockDef(kbd_dbms::CDbApi &objDBConnect
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* @brief 加载数字量信息 */
|
/* @brief 加载数字量信息 */
|
||||||
bool kbd_app::CSimInterLockImpl::loadDigitalInfo(kbd_dbms::CDbApi &objDBConnect,
|
bool kbd_app::CSimInterLockImpl::loadDigitalInfo(iot_dbms::CDbApi &objDBConnect,
|
||||||
const std::string &strTagList)
|
const std::string &strTagList)
|
||||||
{
|
{
|
||||||
if (strTagList.empty())
|
if (strTagList.empty())
|
||||||
@ -333,10 +333,10 @@ bool kbd_app::CSimInterLockImpl::checkInterlock(const std::string &strKeyIdTag,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::LuaVariantTypeSeq vecCtrlValue;
|
iot_public::LuaVariantTypeSeq vecCtrlValue;
|
||||||
kbd_public::LuaVariantTypeSeq vecInputValue;
|
iot_public::LuaVariantTypeSeq vecInputValue;
|
||||||
kbd_public::LuaVariantTypeSeq vecInputStatus;
|
iot_public::LuaVariantTypeSeq vecInputStatus;
|
||||||
kbd_public::LuaVariantTypeSeq vecInputName;
|
iot_public::LuaVariantTypeSeq vecInputName;
|
||||||
|
|
||||||
vecCtrlValue.push_back(nCtrlValue);
|
vecCtrlValue.push_back(nCtrlValue);
|
||||||
for (int i = 0; i < stInterlockInfo.nInputNum; ++i)
|
for (int i = 0; i < stInterlockInfo.nInputNum; ++i)
|
||||||
|
|||||||
@ -98,31 +98,31 @@ namespace kbd_app
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
@brief 加载闭锁参数信息
|
@brief 加载闭锁参数信息
|
||||||
@param kbd_dbms::CQDbInterface & objDBConnect 模型库连接
|
@param iot_dbms::CQDbInterface & objDBConnect 模型库连接
|
||||||
@param const std::string & strTagList 测点列表
|
@param const std::string & strTagList 测点列表
|
||||||
@param std::string & strFuncNameList 返回的闭锁函数列表
|
@param std::string & strFuncNameList 返回的闭锁函数列表
|
||||||
@return 成功返回true,失败返回false
|
@return 成功返回true,失败返回false
|
||||||
*/
|
*/
|
||||||
bool loadInterlockParam(kbd_dbms::CDbApi &objDBConnect,
|
bool loadInterlockParam(iot_dbms::CDbApi &objDBConnect,
|
||||||
const std::string &strTagList,
|
const std::string &strTagList,
|
||||||
std::string &strFuncNameList);
|
std::string &strFuncNameList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@brief 加载闭锁函数信息
|
@brief 加载闭锁函数信息
|
||||||
@param kbd_dbms::CQDbInterface & objDBConnect 模型库连接
|
@param iot_dbms::CQDbInterface & objDBConnect 模型库连接
|
||||||
@param const std::string & strFuncNameList 闭锁函数列表
|
@param const std::string & strFuncNameList 闭锁函数列表
|
||||||
@return 成功返回true,失败返回false
|
@return 成功返回true,失败返回false
|
||||||
*/
|
*/
|
||||||
bool loadInterlockDef(kbd_dbms::CDbApi &objDBConnect,
|
bool loadInterlockDef(iot_dbms::CDbApi &objDBConnect,
|
||||||
const std::string &strFuncNameList);
|
const std::string &strFuncNameList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@brief 加载数字量信息
|
@brief 加载数字量信息
|
||||||
@param kbd_dbms::CQDbInterface & objDBConnect 模型库连接
|
@param iot_dbms::CQDbInterface & objDBConnect 模型库连接
|
||||||
@param const std::string & strTagList 测点列表
|
@param const std::string & strTagList 测点列表
|
||||||
@return 成功返回true,失败返回false
|
@return 成功返回true,失败返回false
|
||||||
*/
|
*/
|
||||||
bool loadDigitalInfo(kbd_dbms::CDbApi &objDBConnect,
|
bool loadDigitalInfo(iot_dbms::CDbApi &objDBConnect,
|
||||||
const std::string &strTagList);
|
const std::string &strTagList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
#include "db_api_ex/CDbApi.h"
|
#include "db_api_ex/CDbApi.h"
|
||||||
#include "CDbApi_impl.h"
|
#include "CDbApi_impl.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbApi::CDbApi( EDbConnType eType )
|
CDbApi::CDbApi( EDbConnType eType )
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,8 +3,8 @@
|
|||||||
#include <QNetworkProxy>
|
#include <QNetworkProxy>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
|
|
||||||
#define CN_SYNC_TABLENAME "dbop_list"
|
#define CN_SYNC_TABLENAME "dbop_list"
|
||||||
#define CN_SYNC_COLNAME "statement"
|
#define CN_SYNC_COLNAME "statement"
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
#include "pub_sysinfo_api/SysInfoApi.h"
|
#include "pub_sysinfo_api/SysInfoApi.h"
|
||||||
#include "db_api_ex/EDbConnType.h"
|
#include "db_api_ex/EDbConnType.h"
|
||||||
|
|
||||||
namespace kbd_dbms
|
namespace iot_dbms
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -123,7 +123,7 @@ private:
|
|||||||
CDbBaseApi* m_pDbBase; // 基础数据库接口
|
CDbBaseApi* m_pDbBase; // 基础数据库接口
|
||||||
QList<CDbPara> m_listFirstDbPara; // 中心域的所有数据库连接参数
|
QList<CDbPara> m_listFirstDbPara; // 中心域的所有数据库连接参数
|
||||||
QList<CDbPara> m_listLocalDbPara; // 本地域的所有数据库连接参数
|
QList<CDbPara> m_listLocalDbPara; // 本地域的所有数据库连接参数
|
||||||
kbd_public::CSysInfoInterfacePtr m_pSysInfo;
|
iot_public::CSysInfoInterfacePtr m_pSysInfo;
|
||||||
QList<QString> m_listSql; // 已执行未提交的sql语句
|
QList<QString> m_listSql; // 已执行未提交的sql语句
|
||||||
bool m_bReadable; // 当前连接的数据库是否可读
|
bool m_bReadable; // 当前连接的数据库是否可读
|
||||||
bool m_bWritable; // 当前连接的数据库是否可写
|
bool m_bWritable; // 当前连接的数据库是否可写
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
#include "CDbOpenGaussApi.h"
|
#include "CDbOpenGaussApi.h"
|
||||||
#include "CDbKingbaseApi.h"
|
#include "CDbKingbaseApi.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbBaseApi::CDbBaseApi()
|
CDbBaseApi::CDbBaseApi()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#include "CDbBaseApi_impl.h"
|
#include "CDbBaseApi_impl.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbBaseApi_impl::CDbBaseApi_impl()
|
CDbBaseApi_impl::CDbBaseApi_impl()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
#include "db_base_api/CDbCondition.h"
|
#include "db_base_api/CDbCondition.h"
|
||||||
#include "db_base_api/CDbOrder.h"
|
#include "db_base_api/CDbOrder.h"
|
||||||
|
|
||||||
namespace kbd_dbms
|
namespace iot_dbms
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#include "db_base_api/CDbCondition.h"
|
#include "db_base_api/CDbCondition.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbCondition::CDbCondition()
|
CDbCondition::CDbCondition()
|
||||||
: m_sColName( "" )
|
: m_sColName( "" )
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#include "CDbKingbaseApi.h"
|
#include "CDbKingbaseApi.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbKingbaseApi::CDbKingbaseApi( const CDbPara& objDbPara )
|
CDbKingbaseApi::CDbKingbaseApi( const CDbPara& objDbPara )
|
||||||
: CDbBaseApi_impl( objDbPara )
|
: CDbBaseApi_impl( objDbPara )
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "CDbBaseApi_impl.h"
|
#include "CDbBaseApi_impl.h"
|
||||||
|
|
||||||
namespace kbd_dbms
|
namespace iot_dbms
|
||||||
{
|
{
|
||||||
|
|
||||||
class CDbKingbaseApi : public CDbBaseApi_impl
|
class CDbKingbaseApi : public CDbBaseApi_impl
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#include "CDbMySQLApi.h"
|
#include "CDbMySQLApi.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbMySQLApi::CDbMySQLApi()
|
CDbMySQLApi::CDbMySQLApi()
|
||||||
: CDbBaseApi_impl()
|
: CDbBaseApi_impl()
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "CDbBaseApi_impl.h"
|
#include "CDbBaseApi_impl.h"
|
||||||
|
|
||||||
namespace kbd_dbms
|
namespace iot_dbms
|
||||||
{
|
{
|
||||||
|
|
||||||
class CDbMySQLApi : public CDbBaseApi_impl
|
class CDbMySQLApi : public CDbBaseApi_impl
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#include "CDbOciApi.h"
|
#include "CDbOciApi.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbOciApi::CDbOciApi()
|
CDbOciApi::CDbOciApi()
|
||||||
: CDbBaseApi_impl()
|
: CDbBaseApi_impl()
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "CDbBaseApi_impl.h"
|
#include "CDbBaseApi_impl.h"
|
||||||
|
|
||||||
namespace kbd_dbms
|
namespace iot_dbms
|
||||||
{
|
{
|
||||||
|
|
||||||
class CDbOciApi : public CDbBaseApi_impl
|
class CDbOciApi : public CDbBaseApi_impl
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#include "CDbOpenGaussApi.h"
|
#include "CDbOpenGaussApi.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbOpenGaussApi::CDbOpenGaussApi( const CDbPara& objDbPara )
|
CDbOpenGaussApi::CDbOpenGaussApi( const CDbPara& objDbPara )
|
||||||
: CDbBaseApi_impl( objDbPara )
|
: CDbBaseApi_impl( objDbPara )
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "CDbBaseApi_impl.h"
|
#include "CDbBaseApi_impl.h"
|
||||||
|
|
||||||
namespace kbd_dbms
|
namespace iot_dbms
|
||||||
{
|
{
|
||||||
|
|
||||||
class CDbOpenGaussApi : public CDbBaseApi_impl
|
class CDbOpenGaussApi : public CDbBaseApi_impl
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#include "db_base_api/CDbOrder.h"
|
#include "db_base_api/CDbOrder.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbOrder::CDbOrder()
|
CDbOrder::CDbOrder()
|
||||||
: m_sColName( "" )
|
: m_sColName( "" )
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#include "db_base_api/CDbPara.h"
|
#include "db_base_api/CDbPara.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbPara::CDbPara()
|
CDbPara::CDbPara()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#include "CDbSQLiteApi.h"
|
#include "CDbSQLiteApi.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
CDbSQLiteApi::CDbSQLiteApi()
|
CDbSQLiteApi::CDbSQLiteApi()
|
||||||
: CDbBaseApi_impl()
|
: CDbBaseApi_impl()
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "CDbBaseApi_impl.h"
|
#include "CDbBaseApi_impl.h"
|
||||||
|
|
||||||
namespace kbd_dbms
|
namespace iot_dbms
|
||||||
{
|
{
|
||||||
|
|
||||||
class CDbSQLiteApi : public CDbBaseApi_impl
|
class CDbSQLiteApi : public CDbBaseApi_impl
|
||||||
|
|||||||
@ -61,10 +61,10 @@ QString formatSize(qint64 size)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool CDumpUtils::getDbConn(const CDbHisCfg &dbCfg,kbd_dbms::CDbBaseApi &objDb)
|
bool CDumpUtils::getDbConn(const CDbHisCfg &dbCfg,iot_dbms::CDbBaseApi &objDb)
|
||||||
{
|
{
|
||||||
//< 连接数据库
|
//< 连接数据库
|
||||||
kbd_dbms::CDbPara objPara;
|
iot_dbms::CDbPara objPara;
|
||||||
objPara.setUserName(dbCfg.strUsername);
|
objPara.setUserName(dbCfg.strUsername);
|
||||||
objPara.setPassword(dbCfg.strPasswd);
|
objPara.setPassword(dbCfg.strPasswd);
|
||||||
objPara.setHostName("127.0.0.1");
|
objPara.setHostName("127.0.0.1");
|
||||||
@ -72,12 +72,12 @@ bool CDumpUtils::getDbConn(const CDbHisCfg &dbCfg,kbd_dbms::CDbBaseApi &objDb)
|
|||||||
if ( dbCfg.strDbType == "QPSQL")
|
if ( dbCfg.strDbType == "QPSQL")
|
||||||
{
|
{
|
||||||
objPara.setPort(54321);
|
objPara.setPort(54321);
|
||||||
objPara.setDbType(kbd_dbms::EDbType::DB_KINGBASE);
|
objPara.setDbType(iot_dbms::EDbType::DB_KINGBASE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
objPara.setPort(3306);
|
objPara.setPort(3306);
|
||||||
objPara.setDbType(kbd_dbms::EDbType::DB_MYSQL);
|
objPara.setDbType(iot_dbms::EDbType::DB_MYSQL);
|
||||||
}
|
}
|
||||||
objPara.setDatabaseName(DATABASE_NAME);
|
objPara.setDatabaseName(DATABASE_NAME);
|
||||||
objDb.setDbPara(objPara);
|
objDb.setDbPara(objPara);
|
||||||
@ -89,10 +89,10 @@ bool CDumpUtils::getDbConn(const CDbHisCfg &dbCfg,kbd_dbms::CDbBaseApi &objDb)
|
|||||||
|
|
||||||
//获取首链接连接
|
//获取首链接连接
|
||||||
{
|
{
|
||||||
kbd_public::CSysInfoInterfacePtr ptrSysInfo;
|
iot_public::CSysInfoInterfacePtr ptrSysInfo;
|
||||||
kbd_public::SDatabaseInfo stFirstConnectInfo; //数据库连接信息
|
iot_public::SDatabaseInfo stFirstConnectInfo; //数据库连接信息
|
||||||
std::vector<kbd_public::SDatabaseInfo> vecLocalDbInfo;
|
std::vector<iot_public::SDatabaseInfo> vecLocalDbInfo;
|
||||||
std::vector<kbd_public::SDatabaseInfo> vecRemoteDbInfo;
|
std::vector<iot_public::SDatabaseInfo> vecRemoteDbInfo;
|
||||||
int nRet = ptrSysInfo->getLocalDBInfo( stFirstConnectInfo, vecLocalDbInfo, vecRemoteDbInfo );
|
int nRet = ptrSysInfo->getLocalDBInfo( stFirstConnectInfo, vecLocalDbInfo, vecRemoteDbInfo );
|
||||||
if ( kbdFailed == nRet )
|
if ( kbdFailed == nRet )
|
||||||
{
|
{
|
||||||
@ -101,20 +101,20 @@ bool CDumpUtils::getDbConn(const CDbHisCfg &dbCfg,kbd_dbms::CDbBaseApi &objDb)
|
|||||||
}
|
}
|
||||||
// 仅获取首链接的数据库类型 用户名和密码 端口
|
// 仅获取首链接的数据库类型 用户名和密码 端口
|
||||||
{
|
{
|
||||||
kbd_dbms::CDbPara objTmpDbPara;
|
iot_dbms::CDbPara objTmpDbPara;
|
||||||
switch ( stFirstConnectInfo.eDBType )
|
switch ( stFirstConnectInfo.eDBType )
|
||||||
{
|
{
|
||||||
case kbd_public::EDBType_ORACLE:
|
case iot_public::EDBType_ORACLE:
|
||||||
objTmpDbPara.setDbType( kbd_dbms::DB_ORACLE );
|
objTmpDbPara.setDbType( iot_dbms::DB_ORACLE );
|
||||||
break;
|
break;
|
||||||
case kbd_public::EDBType_MYSQL:
|
case iot_public::EDBType_MYSQL:
|
||||||
objTmpDbPara.setDbType( kbd_dbms::DB_MYSQL );
|
objTmpDbPara.setDbType( iot_dbms::DB_MYSQL );
|
||||||
break;
|
break;
|
||||||
case kbd_public::EDBType_OPENGAUSS:
|
case iot_public::EDBType_OPENGAUSS:
|
||||||
objTmpDbPara.setDbType( kbd_dbms::DB_OPENGAUSS );
|
objTmpDbPara.setDbType( iot_dbms::DB_OPENGAUSS );
|
||||||
break;
|
break;
|
||||||
case kbd_public::EDBType_KINGBASE:
|
case iot_public::EDBType_KINGBASE:
|
||||||
objTmpDbPara.setDbType( kbd_dbms::DB_KINGBASE );
|
objTmpDbPara.setDbType( iot_dbms::DB_KINGBASE );
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOGERROR( "未知的数据库类型" );
|
LOGERROR( "未知的数据库类型" );
|
||||||
@ -141,7 +141,7 @@ bool CDumpUtils::getDbConn(const CDbHisCfg &dbCfg,kbd_dbms::CDbBaseApi &objDb)
|
|||||||
|
|
||||||
bool CDumpUtils::doBackup(const CDbHisCfg &dbCfg)
|
bool CDumpUtils::doBackup(const CDbHisCfg &dbCfg)
|
||||||
{
|
{
|
||||||
kbd_dbms::CDbBaseApi objDb;
|
iot_dbms::CDbBaseApi objDb;
|
||||||
if( !getDbConn(dbCfg,objDb) )
|
if( !getDbConn(dbCfg,objDb) )
|
||||||
{
|
{
|
||||||
LOGERROR("cannot get db connection");
|
LOGERROR("cannot get db connection");
|
||||||
@ -180,7 +180,7 @@ bool CDumpUtils::doBackup(const CDbHisCfg &dbCfg)
|
|||||||
qint64 expired_days_timestamp = expired_days.toMSecsSinceEpoch();
|
qint64 expired_days_timestamp = expired_days.toMSecsSinceEpoch();
|
||||||
//====================================================================
|
//====================================================================
|
||||||
|
|
||||||
kbd_dbms::CHisMngApi hismng;
|
iot_dbms::CHisMngApi hismng;
|
||||||
hismng.exportHisPartV2(objDb.getDatabase(),"127.0.0.1",TSDB_DB_NAME,0,expired_days_timestamp,dbFilePath,tsdbFilePath);
|
hismng.exportHisPartV2(objDb.getDatabase(),"127.0.0.1",TSDB_DB_NAME,0,expired_days_timestamp,dbFilePath,tsdbFilePath);
|
||||||
|
|
||||||
//< 生成配置
|
//< 生成配置
|
||||||
@ -229,7 +229,7 @@ bool CDumpUtils::doBackup(const CDbHisCfg &dbCfg)
|
|||||||
|
|
||||||
bool CDumpUtils::doClean(const CDbHisCfg &dbCfg, bool isAll)
|
bool CDumpUtils::doClean(const CDbHisCfg &dbCfg, bool isAll)
|
||||||
{
|
{
|
||||||
kbd_dbms::CDbBaseApi objDb;
|
iot_dbms::CDbBaseApi objDb;
|
||||||
if( !getDbConn(dbCfg,objDb) )
|
if( !getDbConn(dbCfg,objDb) )
|
||||||
{
|
{
|
||||||
LOGERROR("cannot get db connection");
|
LOGERROR("cannot get db connection");
|
||||||
@ -251,7 +251,7 @@ bool CDumpUtils::doClean(const CDbHisCfg &dbCfg, bool isAll)
|
|||||||
|
|
||||||
//====================================================================
|
//====================================================================
|
||||||
|
|
||||||
kbd_dbms::CHisMngApi hismng;
|
iot_dbms::CHisMngApi hismng;
|
||||||
hismng.delHis(objDb.getDatabase(),"127.0.0.1",TSDB_DB_NAME,expired_days_timestamp);
|
hismng.delHis(objDb.getDatabase(),"127.0.0.1",TSDB_DB_NAME,expired_days_timestamp);
|
||||||
|
|
||||||
QString logPath = QCoreApplication::applicationDirPath() + "/../../log/";
|
QString logPath = QCoreApplication::applicationDirPath() + "/../../log/";
|
||||||
|
|||||||
@ -9,7 +9,7 @@ class CDumpUtils
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
static bool getDbConn(const CDbHisCfg &dbCfg, kbd_dbms::CDbBaseApi &objDb);
|
static bool getDbConn(const CDbHisCfg &dbCfg, iot_dbms::CDbBaseApi &objDb);
|
||||||
static bool doBackup(const CDbHisCfg &dbCfg);
|
static bool doBackup(const CDbHisCfg &dbCfg);
|
||||||
static bool doClean(const CDbHisCfg &dbCfg,bool isAll = false);
|
static bool doClean(const CDbHisCfg &dbCfg,bool isAll = false);
|
||||||
static void doWork(const CDbHisCfg &dbCfg);
|
static void doWork(const CDbHisCfg &dbCfg);
|
||||||
|
|||||||
@ -13,7 +13,7 @@ bool CDbHisCfg::loadFromFile()
|
|||||||
{
|
{
|
||||||
//< 加载配置文件
|
//< 加载配置文件
|
||||||
{
|
{
|
||||||
QDir Dir(kbd_public::CFileUtil::getCurModuleDir().c_str());
|
QDir Dir(iot_public::CFileUtil::getCurModuleDir().c_str());
|
||||||
Dir.cdUp();
|
Dir.cdUp();
|
||||||
Dir.cdUp();
|
Dir.cdUp();
|
||||||
Dir.cd("data");
|
Dir.cd("data");
|
||||||
|
|||||||
@ -68,7 +68,7 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
|
|
||||||
//< 启动日志
|
//< 启动日志
|
||||||
kbd_public::StartLogSystem(CN_AppName_BASE.c_str(), PROCESS_NAME);
|
iot_public::StartLogSystem(CN_AppName_BASE.c_str(), PROCESS_NAME);
|
||||||
|
|
||||||
|
|
||||||
LOGINFO("service pid=[%ld],starts,version 1.02", (long) getpid());
|
LOGINFO("service pid=[%ld],starts,version 1.02", (long) getpid());
|
||||||
@ -82,7 +82,7 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
LOGINFO("service pid=[%ld], failed to start!", (long) getpid());
|
LOGINFO("service pid=[%ld], failed to start!", (long) getpid());
|
||||||
//< 停止日志系统
|
//< 停止日志系统
|
||||||
kbd_public::StopLogSystem();
|
iot_public::StopLogSystem();
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
LOGINFO("service pid=[%ld],ends", (long) getpid());
|
LOGINFO("service pid=[%ld],ends", (long) getpid());
|
||||||
//< 停止日志系统
|
//< 停止日志系统
|
||||||
kbd_public::StopLogSystem();
|
iot_public::StopLogSystem();
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user