[refactor]kbd_ -> iot_
This commit is contained in:
parent
c1fadb1a0b
commit
fda072e2a4
@ -17,7 +17,7 @@ clienDataprothread::clienDataprothread(QVector<DEVGROUP*> devgroupVec,QString sy
|
|||||||
:CTimerThreadBase("Client_cfd_DataProThread", clientszdtThreadtime, 0, true),haveValue(false),m_noFirst(0)
|
:CTimerThreadBase("Client_cfd_DataProThread", clientszdtThreadtime, 0, true),haveValue(false),m_noFirst(0)
|
||||||
{
|
{
|
||||||
LOGFATAL( "线程1 !" );
|
LOGFATAL( "线程1 !" );
|
||||||
if (!kbd_dbms::initTsdbApi())
|
if (!iot_dbms::initTsdbApi())
|
||||||
{
|
{
|
||||||
LOGERROR("initTsdbApi() failed !");
|
LOGERROR("initTsdbApi() failed !");
|
||||||
//return 1;
|
//return 1;
|
||||||
@ -36,7 +36,7 @@ clienDataprothread::clienDataprothread(QVector<DEVGROUP*> devgroupVec,QString sy
|
|||||||
|
|
||||||
clienDataprothread::~clienDataprothread()
|
clienDataprothread::~clienDataprothread()
|
||||||
{
|
{
|
||||||
if (!kbd_dbms::releaseTsdbApi())
|
if (!iot_dbms::releaseTsdbApi())
|
||||||
{
|
{
|
||||||
LOGERROR("releaseTsdbApi() failed !");
|
LOGERROR("releaseTsdbApi() failed !");
|
||||||
|
|
||||||
@ -200,7 +200,7 @@ bool clienDataprothread::InsertHisPointDB(DEVPOINT point, QDateTime beginTime, Q
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 获得连接并测试
|
//< 获得连接并测试
|
||||||
kbd_dbms::CTsdbConnPtr conn = kbd_dbms::getOneUseableConn(true);
|
iot_dbms::CTsdbConnPtr conn = iot_dbms::getOneUseableConn(true);
|
||||||
if(conn == NULL)
|
if(conn == NULL)
|
||||||
{
|
{
|
||||||
LOGERROR("influxdb连接异常");
|
LOGERROR("influxdb连接异常");
|
||||||
@ -211,7 +211,7 @@ bool clienDataprothread::InsertHisPointDB(DEVPOINT point, QDateTime beginTime, Q
|
|||||||
}
|
}
|
||||||
|
|
||||||
QSqlQuery query( m_oracleConnection );
|
QSqlQuery query( m_oracleConnection );
|
||||||
kbd_dbms::CTsdbConn &objConn = *conn.get();
|
iot_dbms::CTsdbConn &objConn = *conn.get();
|
||||||
|
|
||||||
QString strdatetTime=beginTime.toString("yyyy-MM-dd 00:00:00");
|
QString strdatetTime=beginTime.toString("yyyy-MM-dd 00:00:00");
|
||||||
QDateTime qdt=endTime;
|
QDateTime qdt=endTime;
|
||||||
@ -224,34 +224,34 @@ bool clienDataprothread::InsertHisPointDB(DEVPOINT point, QDateTime beginTime, Q
|
|||||||
boost::int64_t nTimeEnd= endTime.toMSecsSinceEpoch() ;
|
boost::int64_t nTimeEnd= endTime.toMSecsSinceEpoch() ;
|
||||||
|
|
||||||
int count=1;
|
int count=1;
|
||||||
std::vector<kbd_dbms::SMeasPointKey> curveKey(count);
|
std::vector<iot_dbms::SMeasPointKey> curveKey(count);
|
||||||
// std::vector<std::vector<kbd_dbms::SVarHisValue> *> vecResult;
|
// std::vector<std::vector<iot_dbms::SVarHisValue> *> vecResult;
|
||||||
// vecResult.push_back(new std::vector<kbd_dbms::SVarHisValue>);
|
// vecResult.push_back(new std::vector<iot_dbms::SVarHisValue>);
|
||||||
|
|
||||||
curveKey[0].m_pszTagName = point.tag_name.c_str();
|
curveKey[0].m_pszTagName = point.tag_name.c_str();
|
||||||
|
|
||||||
if(point.table_name =="analog")
|
if(point.table_name =="analog")
|
||||||
{
|
{
|
||||||
curveKey[0].m_enType = kbd_dbms::MPT_AI;
|
curveKey[0].m_enType = iot_dbms::MPT_AI;
|
||||||
}
|
}
|
||||||
else if(point.table_name == "accuml")
|
else if(point.table_name == "accuml")
|
||||||
{
|
{
|
||||||
curveKey[0].m_enType = kbd_dbms::MPT_ACC;
|
curveKey[0].m_enType = iot_dbms::MPT_ACC;
|
||||||
}
|
}
|
||||||
else if(point.table_name == "digital")
|
else if(point.table_name == "digital")
|
||||||
{
|
{
|
||||||
curveKey[0].m_enType = kbd_dbms::MPT_DI;
|
curveKey[0].m_enType = iot_dbms::MPT_DI;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::vector<kbd_dbms::SVarHisValue> *> vecResult;
|
std::vector<std::vector<iot_dbms::SVarHisValue> *> vecResult;
|
||||||
vecResult.push_back(new std::vector<kbd_dbms::SVarHisValue>);
|
vecResult.push_back(new std::vector<iot_dbms::SVarHisValue>);
|
||||||
|
|
||||||
|
|
||||||
// if(kbd_dbms::getHisValue(objConn, -1, curveKey, -1, nTimeEnd,
|
// if(iot_dbms::getHisValue(objConn, -1, curveKey, -1, nTimeEnd,
|
||||||
// NULL, NULL, NULL,NULL,NULL,kbd_dbms::CM_LAST, -1,kbd_dbms::FM_NONE, vecResult)== false)
|
// NULL, NULL, NULL,NULL,NULL,iot_dbms::CM_LAST, -1,iot_dbms::FM_NONE, vecResult)== false)
|
||||||
|
|
||||||
if(kbd_dbms::getHisValue(objConn, -1, curveKey, nTimeBegin, nTimeEnd,
|
if(iot_dbms::getHisValue(objConn, -1, curveKey, nTimeBegin, nTimeEnd,
|
||||||
NULL, NULL, NULL,NULL,NULL,kbd_dbms::CM_NULL, -1,kbd_dbms::FM_NONE, vecResult)== false)
|
NULL, NULL, NULL,NULL,NULL,iot_dbms::CM_NULL, -1,iot_dbms::FM_NONE, vecResult)== false)
|
||||||
{
|
{
|
||||||
QString errorInfo = QString("查询数据库错误:code:%1 table:%2 begin:%3 timeEnd:%4 size:%5 ").arg(curveKey[0].m_pszTagName)
|
QString errorInfo = QString("查询数据库错误:code:%1 table:%2 begin:%3 timeEnd:%4 size:%5 ").arg(curveKey[0].m_pszTagName)
|
||||||
.arg(curveKey[0].m_enType).arg(nTimeBegin).arg(nTimeEnd).arg(vecResult.size());
|
.arg(curveKey[0].m_enType).arg(nTimeBegin).arg(nTimeEnd).arg(vecResult.size());
|
||||||
@ -369,8 +369,8 @@ struct memory {
|
|||||||
|
|
||||||
int clienDataprothread::readConfigForGenerate()
|
int clienDataprothread::readConfigForGenerate()
|
||||||
{
|
{
|
||||||
kbd_public::CCommonConfigParse objCfgParse;
|
iot_public::CCommonConfigParse objCfgParse;
|
||||||
if(kbdSuccess != objCfgParse.load(kbd_public::CFileUtil::getPathOfCfgFile("DataImput_cfd.xml")))
|
if(kbdSuccess != objCfgParse.load(iot_public::CFileUtil::getPathOfCfgFile("DataImput_cfd.xml")))
|
||||||
{
|
{
|
||||||
LOGERROR("加载HTTP转发配置文件失败");
|
LOGERROR("加载HTTP转发配置文件失败");
|
||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
#include "qdatetime.h"
|
#include "qdatetime.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
typedef struct aa
|
typedef struct aa
|
||||||
{
|
{
|
||||||
string tag_name; //本地代码
|
string tag_name; //本地代码
|
||||||
@ -97,7 +97,7 @@ private:
|
|||||||
// bool initDevroup(); //初始化所有设备组信息
|
// bool initDevroup(); //初始化所有设备组信息
|
||||||
// bool initCurrentGroup(); //初始化需要发送的设备组信息
|
// bool initCurrentGroup(); //初始化需要发送的设备组信息
|
||||||
// void initKbdService(); //订阅需要的测点
|
// void initKbdService(); //订阅需要的测点
|
||||||
// void dealMsgFromNetMsgBus(const kbd_net::CMbMessage& objMsg);
|
// void dealMsgFromNetMsgBus(const iot_net::CMbMessage& objMsg);
|
||||||
// bool initDbInterface(); //连接数据库
|
// bool initDbInterface(); //连接数据库
|
||||||
|
|
||||||
int readConfigForGenerate();
|
int readConfigForGenerate();
|
||||||
|
|||||||
@ -11,7 +11,7 @@ client_MsgManger::client_MsgManger()
|
|||||||
m_pDpSub(NULL)
|
m_pDpSub(NULL)
|
||||||
{
|
{
|
||||||
curl_global_init(CURL_GLOBAL_DEFAULT);
|
curl_global_init(CURL_GLOBAL_DEFAULT);
|
||||||
m_pDpSub = new kbd_service::CDpcdaForApp();
|
m_pDpSub = new iot_service::CDpcdaForApp();
|
||||||
if(m_pDpSub->initGlobalThread())
|
if(m_pDpSub->initGlobalThread())
|
||||||
{
|
{
|
||||||
LOGINFO("初始化全局成功");
|
LOGINFO("初始化全局成功");
|
||||||
@ -112,7 +112,7 @@ void client_MsgManger::execute()
|
|||||||
m_first=true;
|
m_first=true;
|
||||||
if(m_pComm==nullptr)
|
if(m_pComm==nullptr)
|
||||||
{
|
{
|
||||||
m_pComm = new kbd_net::CMbCommunicator();
|
m_pComm = new iot_net::CMbCommunicator();
|
||||||
int nRet = kbdSuccess;
|
int nRet = kbdSuccess;
|
||||||
if( m_pComm->addSub(0,CH_SCADA_TO_HMI_DATA_CHANGE) )
|
if( m_pComm->addSub(0,CH_SCADA_TO_HMI_DATA_CHANGE) )
|
||||||
{
|
{
|
||||||
@ -127,11 +127,11 @@ void client_MsgManger::execute()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_net::CMbMessage objMsg;
|
iot_net::CMbMessage objMsg;
|
||||||
//< 最长 500ms * 120 = 1分钟出去一次,避免死锁检测机制动作
|
//< 最长 500ms * 120 = 1分钟出去一次,避免死锁检测机制动作
|
||||||
for(int i = 0; i < 120 && m_pComm->recvMsg(objMsg,500) ; ++i)
|
for(int i = 0; i < 120 && m_pComm->recvMsg(objMsg,500) ; ++i)
|
||||||
{
|
{
|
||||||
if ( kbd_idlfile::MT_DP_CHANGE_DATA == objMsg.getMsgType() )
|
if ( iot_idl::MT_DP_CHANGE_DATA == objMsg.getMsgType() )
|
||||||
{
|
{
|
||||||
dealMsgFromNetMsgBus( objMsg );
|
dealMsgFromNetMsgBus( objMsg );
|
||||||
}
|
}
|
||||||
@ -183,7 +183,7 @@ void client_MsgManger::onCommun()
|
|||||||
int nRet = kbdSuccess;
|
int nRet = kbdSuccess;
|
||||||
if(m_pComm==nullptr)
|
if(m_pComm==nullptr)
|
||||||
{
|
{
|
||||||
m_pComm = new kbd_net::CMbCommunicator();
|
m_pComm = new iot_net::CMbCommunicator();
|
||||||
if( m_pComm->addSub(0,CH_SCADA_TO_HMI_DATA_CHANGE) )
|
if( m_pComm->addSub(0,CH_SCADA_TO_HMI_DATA_CHANGE) )
|
||||||
{
|
{
|
||||||
LOGINFO( "订阅通道:%d成功", CH_SCADA_TO_HMI_DATA_CHANGE );
|
LOGINFO( "订阅通道:%d成功", CH_SCADA_TO_HMI_DATA_CHANGE );
|
||||||
@ -197,7 +197,7 @@ void client_MsgManger::onCommun()
|
|||||||
}
|
}
|
||||||
if(m_pDpSub == nullptr)
|
if(m_pDpSub == nullptr)
|
||||||
{
|
{
|
||||||
m_pDpSub = new kbd_service::CDpcdaForApp();
|
m_pDpSub = new iot_service::CDpcdaForApp();
|
||||||
initKbdService();
|
initKbdService();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,7 +205,7 @@ void client_MsgManger::onCommun()
|
|||||||
|
|
||||||
bool client_MsgManger::initDevroup()
|
bool client_MsgManger::initDevroup()
|
||||||
{
|
{
|
||||||
kbd_dbms::CDbApi *m_pObjDbInterface = new kbd_dbms::CDbApi(DB_CONN_MODEL_READ);
|
iot_dbms::CDbApi *m_pObjDbInterface = new iot_dbms::CDbApi(DB_CONN_MODEL_READ);
|
||||||
if(!m_pObjDbInterface->open())
|
if(!m_pObjDbInterface->open())
|
||||||
{
|
{
|
||||||
LOGERROR("数据库接口打开失败");
|
LOGERROR("数据库接口打开失败");
|
||||||
@ -396,10 +396,10 @@ void client_MsgManger::initKbdService()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void client_MsgManger::dealMsgFromNetMsgBus(const kbd_net::CMbMessage& objMsg)
|
void client_MsgManger::dealMsgFromNetMsgBus(const iot_net::CMbMessage& objMsg)
|
||||||
{
|
{
|
||||||
// 反序列化
|
// 反序列化
|
||||||
kbd_idlfile::SRealTimeDataPkg objPkg;
|
iot_idl::SRealTimeDataPkg objPkg;
|
||||||
QVector<DEVGROUP*> DistributionUpdateDevGroup;
|
QVector<DEVGROUP*> DistributionUpdateDevGroup;
|
||||||
/* QVector<DEVGROUP*> MeterUpdateDevGroup;
|
/* QVector<DEVGROUP*> MeterUpdateDevGroup;
|
||||||
QVector<DEVGROUP*> ProtectorUpdateDevGroup;
|
QVector<DEVGROUP*> ProtectorUpdateDevGroup;
|
||||||
@ -418,7 +418,7 @@ void client_MsgManger::dealMsgFromNetMsgBus(const kbd_net::CMbMessage& objMsg)
|
|||||||
for ( int i=0; i<size; i++ )
|
for ( int i=0; i<size; i++ )
|
||||||
{
|
{
|
||||||
bool BReark=true;
|
bool BReark=true;
|
||||||
const kbd_idlfile::SDiRealTimeData& obj = objPkg.stdirtd(i);
|
const iot_idl::SDiRealTimeData& obj = objPkg.stdirtd(i);
|
||||||
|
|
||||||
// qDebug()<<"更新的测点的tagname为:"<<QString::fromStdString(obj.strtagname());
|
// qDebug()<<"更新的测点的tagname为:"<<QString::fromStdString(obj.strtagname());
|
||||||
QMap<string,POINTINFO*>::iterator P_Point=m_pointInfo.find(obj.strtagname());
|
QMap<string,POINTINFO*>::iterator P_Point=m_pointInfo.find(obj.strtagname());
|
||||||
@ -494,7 +494,7 @@ void client_MsgManger::dealMsgFromNetMsgBus(const kbd_net::CMbMessage& objMsg)
|
|||||||
for ( int i=0; i<size; i++ )
|
for ( int i=0; i<size; i++ )
|
||||||
{
|
{
|
||||||
bool BReark=true;
|
bool BReark=true;
|
||||||
const kbd_idlfile::SPiRealTimeData& obj = objPkg.stpirtd(i);
|
const iot_idl::SPiRealTimeData& obj = objPkg.stpirtd(i);
|
||||||
|
|
||||||
// qDebug()<<"更新的测点的tagname为:"<<QString::fromStdString(obj.strtagname());
|
// qDebug()<<"更新的测点的tagname为:"<<QString::fromStdString(obj.strtagname());
|
||||||
QMap<string,POINTINFO*>::iterator P_Point=m_pointInfo.find(obj.strtagname());
|
QMap<string,POINTINFO*>::iterator P_Point=m_pointInfo.find(obj.strtagname());
|
||||||
@ -532,7 +532,7 @@ void client_MsgManger::dealMsgFromNetMsgBus(const kbd_net::CMbMessage& objMsg)
|
|||||||
for ( int i=0; i<size; i++ )
|
for ( int i=0; i<size; i++ )
|
||||||
{
|
{
|
||||||
bool BReark=true;
|
bool BReark=true;
|
||||||
const kbd_idlfile::SAiRealTimeData& obj = objPkg.stairtd(i);
|
const iot_idl::SAiRealTimeData& obj = objPkg.stairtd(i);
|
||||||
|
|
||||||
// qDebug()<<"更新的测点的tagname为:"<<QString::fromStdString(obj.strtagname());
|
// qDebug()<<"更新的测点的tagname为:"<<QString::fromStdString(obj.strtagname());
|
||||||
QMap<string,POINTINFO*>::iterator P_Point=m_pointInfo.find(obj.strtagname());
|
QMap<string,POINTINFO*>::iterator P_Point=m_pointInfo.find(obj.strtagname());
|
||||||
@ -569,7 +569,7 @@ void client_MsgManger::dealMsgFromNetMsgBus(const kbd_net::CMbMessage& objMsg)
|
|||||||
for ( int i=0; i<size; i++ )
|
for ( int i=0; i<size; i++ )
|
||||||
{
|
{
|
||||||
bool BReark=true;
|
bool BReark=true;
|
||||||
const kbd_idlfile::SMiRealTimeData& obj = objPkg.stmirtd(i);
|
const iot_idl::SMiRealTimeData& obj = objPkg.stmirtd(i);
|
||||||
|
|
||||||
// qDebug()<<"更新的测点的tagname为:"<<QString::fromStdString(obj.strtagname());
|
// qDebug()<<"更新的测点的tagname为:"<<QString::fromStdString(obj.strtagname());
|
||||||
QMap<string,POINTINFO*>::iterator P_Point=m_pointInfo.find(obj.strtagname());
|
QMap<string,POINTINFO*>::iterator P_Point=m_pointInfo.find(obj.strtagname());
|
||||||
|
|||||||
@ -31,12 +31,12 @@ private:
|
|||||||
bool initDevroup(); //初始化所有设备组信息
|
bool initDevroup(); //初始化所有设备组信息
|
||||||
bool initCurrentGroup(); //初始化需要发送的设备组信息
|
bool initCurrentGroup(); //初始化需要发送的设备组信息
|
||||||
void initKbdService(); //订阅需要的测点
|
void initKbdService(); //订阅需要的测点
|
||||||
void dealMsgFromNetMsgBus(const kbd_net::CMbMessage& objMsg);
|
void dealMsgFromNetMsgBus(const iot_net::CMbMessage& objMsg);
|
||||||
void dealDayFromHistory();
|
void dealDayFromHistory();
|
||||||
void initClient();//建立客户端
|
void initClient();//建立客户端
|
||||||
void initSignalSlot();
|
void initSignalSlot();
|
||||||
private:
|
private:
|
||||||
kbd_net::CMbCommunicator* m_pComm;
|
iot_net::CMbCommunicator* m_pComm;
|
||||||
QString m_systemName;
|
QString m_systemName;
|
||||||
QMap<QString,QVector<DEVGROUP*>> m_currentDevGroup;
|
QMap<QString,QVector<DEVGROUP*>> m_currentDevGroup;
|
||||||
// QMap<QString,DEVGROUP*> allDevGroup;
|
// QMap<QString,DEVGROUP*> allDevGroup;
|
||||||
@ -45,7 +45,7 @@ private:
|
|||||||
QMap<string,POINTINFO*> m_pointInfo;
|
QMap<string,POINTINFO*> m_pointInfo;
|
||||||
QVector<devTag_des*> m_allDevGorup;
|
QVector<devTag_des*> m_allDevGorup;
|
||||||
QVector<DEVPOINT*> m_point;
|
QVector<DEVPOINT*> m_point;
|
||||||
kbd_service::CDpcdaForApp* m_pDpSub;// 订阅服务接口
|
iot_service::CDpcdaForApp* m_pDpSub;// 订阅服务接口
|
||||||
qint64 lastUpateTime;
|
qint64 lastUpateTime;
|
||||||
bool m_first=false;//确认是否第一次启动
|
bool m_first=false;//确认是否第一次启动
|
||||||
|
|
||||||
|
|||||||
@ -12,19 +12,19 @@ client_cfd::client_cfd()
|
|||||||
client_cfd::~client_cfd()
|
client_cfd::~client_cfd()
|
||||||
{
|
{
|
||||||
stop();
|
stop();
|
||||||
kbd_public::StopLogSystem();
|
iot_public::StopLogSystem();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool client_cfd::start(int argc, char *argv[], int &nStatus)
|
bool client_cfd::start(int argc, char *argv[], int &nStatus)
|
||||||
{
|
{
|
||||||
|
|
||||||
assert( !m_ptrRedunSw ); //< NULL
|
assert( !m_ptrRedunSw ); //< NULL
|
||||||
kbd_public::CSysInfoInterfacePtr ptrSysInfo;
|
iot_public::CSysInfoInterfacePtr ptrSysInfo;
|
||||||
EnRunModel enRunModel = RM_NORMAL;
|
EnRunModel enRunModel = RM_NORMAL;
|
||||||
std::string strAppName = CN_AppName_COMAPP;
|
std::string strAppName = CN_AppName_COMAPP;
|
||||||
//< 启动日志
|
//< 启动日志
|
||||||
kbd_public::StartLogSystem( strAppName.c_str(), EZ_NYGK_PROC_NAME );
|
iot_public::StartLogSystem( strAppName.c_str(), EZ_NYGK_PROC_NAME );
|
||||||
if ( kbd_public::createSysInfoInstance(ptrSysInfo) == false )
|
if ( iot_public::createSysInfoInstance(ptrSysInfo) == false )
|
||||||
{
|
{
|
||||||
LOGFATAL( "createSysInfoInstance() return false !" );
|
LOGFATAL( "createSysInfoInstance() return false !" );
|
||||||
return false;
|
return false;
|
||||||
@ -53,7 +53,7 @@ bool client_cfd::start(int argc, char *argv[], int &nStatus)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 消息总线
|
//< 消息总线
|
||||||
if ( !kbd_net::initMsgBus( EZ_NYGK_PROC_NAME, "", true ))
|
if ( !iot_net::initMsgBus( EZ_NYGK_PROC_NAME, "", true ))
|
||||||
{
|
{
|
||||||
LOGFATAL( "消息总线初始化失败,程序启动失败!" );
|
LOGFATAL( "消息总线初始化失败,程序启动失败!" );
|
||||||
return false;
|
return false;
|
||||||
@ -81,13 +81,13 @@ bool client_cfd::start(int argc, char *argv[], int &nStatus)
|
|||||||
strStartArgs += argv[i];
|
strStartArgs += argv[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_sys::SProcessInfoKey objProcInfo;
|
iot_sys::SProcessInfoKey objProcInfo;
|
||||||
objProcInfo.nAppId = m_stRunAppInfo.nAppId;
|
objProcInfo.nAppId = m_stRunAppInfo.nAppId;
|
||||||
objProcInfo.nDomainId = m_stRunAppInfo.nDomainId;
|
objProcInfo.nDomainId = m_stRunAppInfo.nDomainId;
|
||||||
objProcInfo.strNodeName = m_stRunAppInfo.strLocalNodeName;
|
objProcInfo.strNodeName = m_stRunAppInfo.strLocalNodeName;
|
||||||
objProcInfo.strProcName = EZ_NYGK_PROC_NAME;
|
objProcInfo.strProcName = EZ_NYGK_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 NULL" );
|
LOGFATAL( "getProcMngInstance return NULL" );
|
||||||
@ -98,7 +98,7 @@ bool client_cfd::start(int argc, char *argv[], int &nStatus)
|
|||||||
|
|
||||||
//< 冗余管理
|
//< 冗余管理
|
||||||
{
|
{
|
||||||
m_ptrRedundantMng = kbd_sys::getRedundantMngInstance( m_stRunAppInfo.nDomainId,
|
m_ptrRedundantMng = iot_sys::getRedundantMngInstance( m_stRunAppInfo.nDomainId,
|
||||||
m_stRunAppInfo.nAppId,
|
m_stRunAppInfo.nAppId,
|
||||||
m_stRunAppInfo.strLocalNodeName );
|
m_stRunAppInfo.strLocalNodeName );
|
||||||
|
|
||||||
@ -189,11 +189,11 @@ bool client_cfd::stop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 停止消息总线
|
//< 停止消息总线
|
||||||
kbd_net::releaseMsgBus();
|
iot_net::releaseMsgBus();
|
||||||
|
|
||||||
//< 停止日志系统
|
//< 停止日志系统
|
||||||
//移到析构函数中,防止日志库停止后,又写日志,从而使log4cplus提示找不到logger
|
//移到析构函数中,防止日志库停止后,又写日志,从而使log4cplus提示找不到logger
|
||||||
//kbd_public::StopLogSystem();
|
//iot_public::StopLogSystem();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -216,7 +216,7 @@ int client_cfd::updateProcInfo(bool bActive, bool bMaster, bool bSlave)
|
|||||||
|
|
||||||
bool client_cfd::isAlreadyRunning()
|
bool client_cfd::isAlreadyRunning()
|
||||||
{
|
{
|
||||||
return kbd_public::CSingleProcInstance::hasInstanceRunning( EZ_NYGK_PROC_NAME );
|
return iot_public::CSingleProcInstance::hasInstanceRunning( EZ_NYGK_PROC_NAME );
|
||||||
}
|
}
|
||||||
|
|
||||||
bool client_cfd::parseCommandLine( int argc, char *argv[], EnRunModel &enRunModel, std::string &strAppName )
|
bool client_cfd::parseCommandLine( int argc, char *argv[], EnRunModel &enRunModel, std::string &strAppName )
|
||||||
|
|||||||
@ -20,7 +20,7 @@ enum EnRunModel
|
|||||||
RM_NO_PROC_MNG_SLAVE, //< 不注册进程管理、冗余管理,备机模式
|
RM_NO_PROC_MNG_SLAVE, //< 不注册进程管理、冗余管理,备机模式
|
||||||
};
|
};
|
||||||
|
|
||||||
class client_cfd final:public kbd_public::CBaseService, kbd_sys::CProcessQuitInterface
|
class client_cfd final:public iot_public::CBaseService, iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
client_cfd();
|
client_cfd();
|
||||||
@ -41,10 +41,10 @@ private:
|
|||||||
CWebSrvRedunSwPtr m_ptrRedunSw;
|
CWebSrvRedunSwPtr m_ptrRedunSw;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_sys::CProcMngInterfacePtr m_ptrProcMng;
|
iot_sys::CProcMngInterfacePtr m_ptrProcMng;
|
||||||
kbd_sys::CRedundantMngInterfacePtr m_ptrRedundantMng;
|
iot_sys::CRedundantMngInterfacePtr m_ptrRedundantMng;
|
||||||
//< 运行参数
|
//< 运行参数
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo;
|
iot_public::SRunAppInfo m_stRunAppInfo;
|
||||||
bool parseCommandLine( int argc, char *argv[], EnRunModel &enRunModel, std::string &strAppName);
|
bool parseCommandLine( int argc, char *argv[], EnRunModel &enRunModel, std::string &strAppName);
|
||||||
bool isAlreadyRunning();
|
bool isAlreadyRunning();
|
||||||
};
|
};
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
namespace cfd_Server
|
namespace cfd_Server
|
||||||
{
|
{
|
||||||
class client_cfd;
|
class client_cfd;
|
||||||
class CWebSrvRedunSw final : public ::kbd_sys::CRedundantSwitchInterface
|
class CWebSrvRedunSw final : public ::iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit CWebSrvRedunSw(client_cfd *pParent );
|
explicit CWebSrvRedunSw(client_cfd *pParent );
|
||||||
|
|||||||
@ -3,17 +3,17 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
kbd_service::CAlmJson::CAlmJson()
|
iot_service::CAlmJson::CAlmJson()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_service::CAlmJson::~CAlmJson()
|
iot_service::CAlmJson::~CAlmJson()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmJson::generateAlmInfoToJson(const stAlmInfo &_item, std::string &_json)
|
bool iot_service::CAlmJson::generateAlmInfoToJson(const stAlmInfo &_item, std::string &_json)
|
||||||
{
|
{
|
||||||
_json.clear();
|
_json.clear();
|
||||||
Document doc;
|
Document doc;
|
||||||
@ -39,7 +39,7 @@ bool kbd_service::CAlmJson::generateAlmInfoToJson(const stAlmInfo &_item, std::s
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmJson::generateTokenRequest(std::string &json, std::string &apiId, std::string &apiSecret)
|
bool iot_service::CAlmJson::generateTokenRequest(std::string &json, std::string &apiId, std::string &apiSecret)
|
||||||
{
|
{
|
||||||
json.clear();
|
json.clear();
|
||||||
Document doc;
|
Document doc;
|
||||||
@ -63,7 +63,7 @@ bool kbd_service::CAlmJson::generateTokenRequest(std::string &json, std::string
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmJson::parseTokenRequest(std::string &json, std::string &apiId, std::string &apiSecret, std::string &errStr)
|
bool iot_service::CAlmJson::parseTokenRequest(std::string &json, std::string &apiId, std::string &apiSecret, std::string &errStr)
|
||||||
{
|
{
|
||||||
Document doc;
|
Document doc;
|
||||||
doc.Parse<0>(json.c_str());
|
doc.Parse<0>(json.c_str());
|
||||||
@ -92,7 +92,7 @@ bool kbd_service::CAlmJson::parseTokenRequest(std::string &json, std::string &ap
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmJson::generateTokenReponse(std::string &json, std::string &msg, int &code, std::string &token)
|
bool iot_service::CAlmJson::generateTokenReponse(std::string &json, std::string &msg, int &code, std::string &token)
|
||||||
{
|
{
|
||||||
json.clear();
|
json.clear();
|
||||||
Document doc;
|
Document doc;
|
||||||
@ -120,7 +120,7 @@ bool kbd_service::CAlmJson::generateTokenReponse(std::string &json, std::string
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmJson::parseTokenReponse(std::string &json, std::string &msg, int &code, std::string &token,std::string &errStr)
|
bool iot_service::CAlmJson::parseTokenReponse(std::string &json, std::string &msg, int &code, std::string &token,std::string &errStr)
|
||||||
{
|
{
|
||||||
Document doc;
|
Document doc;
|
||||||
doc.Parse<0>(json.c_str());
|
doc.Parse<0>(json.c_str());
|
||||||
@ -166,7 +166,7 @@ bool kbd_service::CAlmJson::parseTokenReponse(std::string &json, std::string &ms
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmJson::generateAlarmReponse(std::string &json, std::string &msg, int &code, std::string &body)
|
bool iot_service::CAlmJson::generateAlarmReponse(std::string &json, std::string &msg, int &code, std::string &body)
|
||||||
{
|
{
|
||||||
json.clear();
|
json.clear();
|
||||||
Document doc;
|
Document doc;
|
||||||
@ -192,7 +192,7 @@ bool kbd_service::CAlmJson::generateAlarmReponse(std::string &json, std::string
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmJson::parseAlarmReponse(std::string &json, std::string &msg, int &code, std::string &body, std::string &errStr)
|
bool iot_service::CAlmJson::parseAlarmReponse(std::string &json, std::string &msg, int &code, std::string &body, std::string &errStr)
|
||||||
{
|
{
|
||||||
Document doc;
|
Document doc;
|
||||||
doc.Parse<0>(json.c_str());
|
doc.Parse<0>(json.c_str());
|
||||||
|
|||||||
@ -13,7 +13,7 @@ using namespace rapidjson;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
namespace kbd_service
|
namespace iot_service
|
||||||
{
|
{
|
||||||
|
|
||||||
class CAlmJson
|
class CAlmJson
|
||||||
|
|||||||
@ -6,8 +6,8 @@
|
|||||||
#include "pub_utility_api/CommonConfigParse.h"
|
#include "pub_utility_api/CommonConfigParse.h"
|
||||||
#include "pub_logger_api/logger.h"
|
#include "pub_logger_api/logger.h"
|
||||||
|
|
||||||
kbd_service::CAlmRcvThread::CAlmRcvThread():
|
iot_service::CAlmRcvThread::CAlmRcvThread():
|
||||||
kbd_service::CAlmApiForAlmClt(false),
|
iot_service::CAlmApiForAlmClt(false),
|
||||||
m_nAlmNo(0),
|
m_nAlmNo(0),
|
||||||
m_pCurl(NULL),
|
m_pCurl(NULL),
|
||||||
m_pAlmHead(NULL),
|
m_pAlmHead(NULL),
|
||||||
@ -16,12 +16,12 @@ kbd_service::CAlmRcvThread::CAlmRcvThread():
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_service::CAlmRcvThread::~CAlmRcvThread()
|
iot_service::CAlmRcvThread::~CAlmRcvThread()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_service::CAlmRcvThread::initialize()
|
int iot_service::CAlmRcvThread::initialize()
|
||||||
{
|
{
|
||||||
if(kbdSuccess != readConfig())
|
if(kbdSuccess != readConfig())
|
||||||
{
|
{
|
||||||
@ -37,12 +37,12 @@ int kbd_service::CAlmRcvThread::initialize()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//全同步的直接不处理
|
//全同步的直接不处理
|
||||||
void kbd_service::CAlmRcvThread::handleAllAlmMsg(int nDomainID, kbd_idlfile::SAlmCltAddAlm &objAllAlm)
|
void iot_service::CAlmRcvThread::handleAllAlmMsg(int nDomainID, iot_idl::SAlmCltAddAlm &objAllAlm)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void kbd_service::CAlmRcvThread::handleAddAlmMsg(kbd_idlfile::SAlmCltAddAlm &objAddAlm)
|
void iot_service::CAlmRcvThread::handleAddAlmMsg(iot_idl::SAlmCltAddAlm &objAddAlm)
|
||||||
{
|
{
|
||||||
|
|
||||||
int alm_size = objAddAlm.alm_info_size();
|
int alm_size = objAddAlm.alm_info_size();
|
||||||
@ -56,7 +56,7 @@ void kbd_service::CAlmRcvThread::handleAddAlmMsg(kbd_idlfile::SAlmCltAddAlm &obj
|
|||||||
|
|
||||||
for(int i = 0; i < alm_size;++i)
|
for(int i = 0; i < alm_size;++i)
|
||||||
{
|
{
|
||||||
const ::kbd_idlfile::SAlmInfoToAlmClt & almCtlAlmInfo = objAddAlm.alm_info(i);
|
const ::iot_idl::SAlmInfoToAlmClt & almCtlAlmInfo = objAddAlm.alm_info(i);
|
||||||
if(!almCtlAlmInfo.has_key_id_tag()) //根据key_id_tag对报警做过滤,如果没有key_id_tag,直接不要了
|
if(!almCtlAlmInfo.has_key_id_tag()) //根据key_id_tag对报警做过滤,如果没有key_id_tag,直接不要了
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@ -86,7 +86,7 @@ void kbd_service::CAlmRcvThread::handleAddAlmMsg(kbd_idlfile::SAlmCltAddAlm &obj
|
|||||||
appIdTableKey = boost::join(appTableVec,":");
|
appIdTableKey = boost::join(appTableVec,":");
|
||||||
if(m_pMapAppTableToRdt.end() == m_pMapAppTableToRdt.find(appIdTableKey)) //如果这个应用下这个表未被打开
|
if(m_pMapAppTableToRdt.end() == m_pMapAppTableToRdt.find(appIdTableKey)) //如果这个应用下这个表未被打开
|
||||||
{
|
{
|
||||||
kbd_dbms::CRdbAccess * pRdbAccess = new kbd_dbms::CRdbAccess();
|
iot_dbms::CRdbAccess * pRdbAccess = new iot_dbms::CRdbAccess();
|
||||||
if(pRdbAccess->open(appId,tableName.c_str())) //如果打开成功,就把这个表加入到map中
|
if(pRdbAccess->open(appId,tableName.c_str())) //如果打开成功,就把这个表加入到map中
|
||||||
{
|
{
|
||||||
m_pMapAppTableToRdt.insert({appIdTableKey,pRdbAccess});
|
m_pMapAppTableToRdt.insert({appIdTableKey,pRdbAccess});
|
||||||
@ -97,7 +97,7 @@ void kbd_service::CAlmRcvThread::handleAddAlmMsg(kbd_idlfile::SAlmCltAddAlm &obj
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
kbd_dbms::CVarType var;
|
iot_dbms::CVarType var;
|
||||||
vecDevTag = {vecKeyIdTagSplit[1],vecKeyIdTagSplit[2]};
|
vecDevTag = {vecKeyIdTagSplit[1],vecKeyIdTagSplit[2]};
|
||||||
//例如:qy1.dlq_a06
|
//例如:qy1.dlq_a06
|
||||||
std::string devTag = boost::join(vecDevTag,".");
|
std::string devTag = boost::join(vecDevTag,".");
|
||||||
@ -112,7 +112,7 @@ void kbd_service::CAlmRcvThread::handleAddAlmMsg(kbd_idlfile::SAlmCltAddAlm &obj
|
|||||||
}
|
}
|
||||||
m_queueAlmInfo.push(almInfoItem);
|
m_queueAlmInfo.push(almInfoItem);
|
||||||
}
|
}
|
||||||
for(std::map<std::string,kbd_dbms::CRdbAccess*>::iterator it = m_pMapAppTableToRdt.begin();m_pMapAppTableToRdt.end() != it ; ++it)
|
for(std::map<std::string,iot_dbms::CRdbAccess*>::iterator it = m_pMapAppTableToRdt.begin();m_pMapAppTableToRdt.end() != it ; ++it)
|
||||||
{
|
{
|
||||||
if(NULL != it->second)
|
if(NULL != it->second)
|
||||||
{
|
{
|
||||||
@ -126,22 +126,22 @@ void kbd_service::CAlmRcvThread::handleAddAlmMsg(kbd_idlfile::SAlmCltAddAlm &obj
|
|||||||
m_pMapAppTableToRdt.clear();
|
m_pMapAppTableToRdt.clear();
|
||||||
}
|
}
|
||||||
//这里的确认,删除均不做处理
|
//这里的确认,删除均不做处理
|
||||||
void kbd_service::CAlmRcvThread::handleCfmAlmMsg(kbd_idlfile::SAlmCltCfmAlm &objCfmAlm)
|
void iot_service::CAlmRcvThread::handleCfmAlmMsg(iot_idl::SAlmCltCfmAlm &objCfmAlm)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//这里的确认,删除均不做处理
|
//这里的确认,删除均不做处理
|
||||||
void kbd_service::CAlmRcvThread::handleDelAlmMsg(kbd_idlfile::SAlmCltDelAlm &objDelAlm)
|
void iot_service::CAlmRcvThread::handleDelAlmMsg(iot_idl::SAlmCltDelAlm &objDelAlm)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void kbd_service::CAlmRcvThread::handleReleaseAlmMsg(kbd_idlfile::SAlmCltReleaseAlm &objReleaseAlm)
|
void iot_service::CAlmRcvThread::handleReleaseAlmMsg(iot_idl::SAlmCltReleaseAlm &objReleaseAlm)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void kbd_service::CAlmRcvThread::httpPostMultiAlm(int sendNum, int nTimeoutMs)
|
void iot_service::CAlmRcvThread::httpPostMultiAlm(int sendNum, int nTimeoutMs)
|
||||||
{
|
{
|
||||||
//如果没有报警需要被发送,直接返回
|
//如果没有报警需要被发送,直接返回
|
||||||
if(m_queueAlmInfo.empty())
|
if(m_queueAlmInfo.empty())
|
||||||
@ -203,7 +203,7 @@ void kbd_service::CAlmRcvThread::httpPostMultiAlm(int sendNum, int nTimeoutMs)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void kbd_service::CAlmRcvThread::httpPostToken(int nTimeoutMs)
|
void iot_service::CAlmRcvThread::httpPostToken(int nTimeoutMs)
|
||||||
{
|
{
|
||||||
if(m_bTokenValid)
|
if(m_bTokenValid)
|
||||||
{
|
{
|
||||||
@ -269,7 +269,7 @@ void kbd_service::CAlmRcvThread::httpPostToken(int nTimeoutMs)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void kbd_service::CAlmRcvThread::setTokenInfo(bool valid, std::string token)
|
void iot_service::CAlmRcvThread::setTokenInfo(bool valid, std::string token)
|
||||||
{
|
{
|
||||||
if(valid) //设置token
|
if(valid) //设置token
|
||||||
{
|
{
|
||||||
@ -299,10 +299,10 @@ void kbd_service::CAlmRcvThread::setTokenInfo(bool valid, std::string token)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_service::CAlmRcvThread::readConfig()
|
int iot_service::CAlmRcvThread::readConfig()
|
||||||
{
|
{
|
||||||
|
|
||||||
kbd_public::CCommonConfigParse objCfgParse;
|
iot_public::CCommonConfigParse objCfgParse;
|
||||||
if(kbdSuccess != objCfgParse.load(CN_Alm_Send_Path,CN_Alm_Send_Url_Config_File))
|
if(kbdSuccess != objCfgParse.load(CN_Alm_Send_Path,CN_Alm_Send_Url_Config_File))
|
||||||
{
|
{
|
||||||
LOGERROR("加载URL配置文件失败");
|
LOGERROR("加载URL配置文件失败");
|
||||||
@ -371,7 +371,7 @@ int kbd_service::CAlmRcvThread::readConfig()
|
|||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_service::CAlmRcvThread::initCurl()
|
int iot_service::CAlmRcvThread::initCurl()
|
||||||
{
|
{
|
||||||
const CURLcode nRc = curl_global_init(CURL_GLOBAL_ALL);
|
const CURLcode nRc = curl_global_init(CURL_GLOBAL_ALL);
|
||||||
if(CURLE_OK != nRc)
|
if(CURLE_OK != nRc)
|
||||||
@ -394,9 +394,9 @@ int kbd_service::CAlmRcvThread::initCurl()
|
|||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string kbd_service::CAlmRcvThread::convertUin64ToString(const uint64 &time)
|
std::string iot_service::CAlmRcvThread::convertUin64ToString(const uint64 &time)
|
||||||
{
|
{
|
||||||
kbd_public::LOCALTIME locationTime = kbd_public::convertUTCMsecToLocalTime(time);
|
iot_public::LOCALTIME locationTime = iot_public::convertUTCMsecToLocalTime(time);
|
||||||
//year
|
//year
|
||||||
std::string year = std::to_string(locationTime.wYear);
|
std::string year = std::to_string(locationTime.wYear);
|
||||||
//month
|
//month
|
||||||
@ -441,7 +441,7 @@ std::string kbd_service::CAlmRcvThread::convertUin64ToString(const uint64 &time)
|
|||||||
return strTime;
|
return strTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_service::CAlmRcvThread::httpPostOneAlm(const kbd_service::stAlmInfo &_almInfoElem, int nTimeoutMs, std::string &strReponse)
|
int iot_service::CAlmRcvThread::httpPostOneAlm(const iot_service::stAlmInfo &_almInfoElem, int nTimeoutMs, std::string &strReponse)
|
||||||
{
|
{
|
||||||
strReponse.clear();
|
strReponse.clear();
|
||||||
std::string jsonStr;
|
std::string jsonStr;
|
||||||
@ -469,7 +469,7 @@ int kbd_service::CAlmRcvThread::httpPostOneAlm(const kbd_service::stAlmInfo &_al
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void kbd_service::CAlmRcvThread::httpPost(const char *pUrl,
|
void iot_service::CAlmRcvThread::httpPost(const char *pUrl,
|
||||||
const curl_slist *pHead,
|
const curl_slist *pHead,
|
||||||
const char *pBody,
|
const char *pBody,
|
||||||
int nTimeOutMs,
|
int nTimeOutMs,
|
||||||
@ -525,7 +525,7 @@ void kbd_service::CAlmRcvThread::httpPost(const char *pUrl,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t kbd_service::CAlmRcvThread::write_data_call_back(char *buf, size_t size, size_t nmemb, void *pWriteTo)
|
size_t iot_service::CAlmRcvThread::write_data_call_back(char *buf, size_t size, size_t nmemb, void *pWriteTo)
|
||||||
{
|
{
|
||||||
const size_t nRealSize = size * nmemb;
|
const size_t nRealSize = size * nmemb;
|
||||||
if (pWriteTo != NULL)
|
if (pWriteTo != NULL)
|
||||||
@ -542,7 +542,7 @@ size_t kbd_service::CAlmRcvThread::write_data_call_back(char *buf, size_t size,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//bool kbd_service::CAlmRcvThread::filterAlm(const kbd_idlfile::SAlmInfoToAlmClt &_almInfo)
|
//bool iot_service::CAlmRcvThread::filterAlm(const iot_idl::SAlmInfoToAlmClt &_almInfo)
|
||||||
//{
|
//{
|
||||||
// if(!_almInfo.has_key_id_tag())
|
// if(!_almInfo.has_key_id_tag())
|
||||||
// {
|
// {
|
||||||
@ -569,7 +569,7 @@ size_t kbd_service::CAlmRcvThread::write_data_call_back(char *buf, size_t size,
|
|||||||
|
|
||||||
//}
|
//}
|
||||||
|
|
||||||
bool kbd_service::CAlmRcvThread::filterAlm(const std::string &locationName, const std::string &devName, const std::string &pointName)
|
bool iot_service::CAlmRcvThread::filterAlm(const std::string &locationName, const std::string &devName, const std::string &pointName)
|
||||||
{
|
{
|
||||||
if(m_setFileterTag.empty()) //如果没有填写过滤条件,就认为不做过滤,都返回true。这里可能有点奇怪
|
if(m_setFileterTag.empty()) //如果没有填写过滤条件,就认为不做过滤,都返回true。这里可能有点奇怪
|
||||||
{
|
{
|
||||||
|
|||||||
@ -11,9 +11,9 @@
|
|||||||
#include "CAlmJson.h"
|
#include "CAlmJson.h"
|
||||||
#include "curl/curl.h"
|
#include "curl/curl.h"
|
||||||
|
|
||||||
namespace kbd_service {
|
namespace iot_service {
|
||||||
|
|
||||||
class CAlmRcvThread : public kbd_service::CAlmApiForAlmClt
|
class CAlmRcvThread : public iot_service::CAlmApiForAlmClt
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -22,19 +22,19 @@ namespace kbd_service {
|
|||||||
|
|
||||||
int initialize();
|
int initialize();
|
||||||
|
|
||||||
virtual void handleAllAlmMsg(int nDomainID, kbd_idlfile::SAlmCltAddAlm &objAllAlm);
|
virtual void handleAllAlmMsg(int nDomainID, iot_idl::SAlmCltAddAlm &objAllAlm);
|
||||||
|
|
||||||
|
|
||||||
virtual void handleAddAlmMsg(kbd_idlfile::SAlmCltAddAlm &objAddAlm);
|
virtual void handleAddAlmMsg(iot_idl::SAlmCltAddAlm &objAddAlm);
|
||||||
|
|
||||||
|
|
||||||
virtual void handleCfmAlmMsg(kbd_idlfile::SAlmCltCfmAlm &objCfmAlm);
|
virtual void handleCfmAlmMsg(iot_idl::SAlmCltCfmAlm &objCfmAlm);
|
||||||
|
|
||||||
|
|
||||||
virtual void handleDelAlmMsg(kbd_idlfile::SAlmCltDelAlm &objDelAlm);
|
virtual void handleDelAlmMsg(iot_idl::SAlmCltDelAlm &objDelAlm);
|
||||||
|
|
||||||
|
|
||||||
virtual void handleReleaseAlmMsg(kbd_idlfile::SAlmCltReleaseAlm &objReleaseAlm) ;
|
virtual void handleReleaseAlmMsg(iot_idl::SAlmCltReleaseAlm &objReleaseAlm) ;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @brief : 批量post一批报警
|
* @brief : 批量post一批报警
|
||||||
@ -93,13 +93,13 @@ namespace kbd_service {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// bool filterAlm(const ::kbd_idlfile::SAlmInfoToAlmClt & _almInfo);
|
// bool filterAlm(const ::iot_idl::SAlmInfoToAlmClt & _almInfo);
|
||||||
bool filterAlm(const std::string &locationName,const std::string &devName,const std::string &pointName);
|
bool filterAlm(const std::string &locationName,const std::string &devName,const std::string &pointName);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
CURL *m_pCurl; // CURL用于执行post的对象指针
|
CURL *m_pCurl; // CURL用于执行post的对象指针
|
||||||
kbd_service::CAlmJson m_objAlmJson; //用于将报警信息生成json字符串的对象
|
iot_service::CAlmJson m_objAlmJson; //用于将报警信息生成json字符串的对象
|
||||||
|
|
||||||
int m_nAlmNo; //记录的最大报警ID
|
int m_nAlmNo; //记录的最大报警ID
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ namespace kbd_service {
|
|||||||
|
|
||||||
|
|
||||||
//这个map的key是使用appId和表名使用冒号拼接的,例如 5:digital
|
//这个map的key是使用appId和表名使用冒号拼接的,例如 5:digital
|
||||||
std::map<std::string,kbd_dbms::CRdbAccess*> m_pMapAppTableToRdt; //不同的应用和表分别打开一个事实库指针
|
std::map<std::string,iot_dbms::CRdbAccess*> m_pMapAppTableToRdt; //不同的应用和表分别打开一个事实库指针
|
||||||
|
|
||||||
std::string m_strTokenUrl; //得到token的URL
|
std::string m_strTokenUrl; //得到token的URL
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
#define OPT_DESC_HELP "help"
|
#define OPT_DESC_HELP "help"
|
||||||
|
|
||||||
|
|
||||||
kbd_service::CAlmSendApp::CAlmSendApp():
|
iot_service::CAlmSendApp::CAlmSendApp():
|
||||||
m_ptrSysInfo(NULL),
|
m_ptrSysInfo(NULL),
|
||||||
m_ptrProcMng(NULL),
|
m_ptrProcMng(NULL),
|
||||||
m_ptrRedundantMng(NULL),
|
m_ptrRedundantMng(NULL),
|
||||||
@ -20,12 +20,12 @@ kbd_service::CAlmSendApp::CAlmSendApp():
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_service::CAlmSendApp::~CAlmSendApp()
|
iot_service::CAlmSendApp::~CAlmSendApp()
|
||||||
{
|
{
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmSendApp::start(int argc, char *argv[], int &nStatus)
|
bool iot_service::CAlmSendApp::start(int argc, char *argv[], int &nStatus)
|
||||||
{
|
{
|
||||||
std::cout << "start" << std::endl;
|
std::cout << "start" << std::endl;
|
||||||
//1.解析启动参数
|
//1.解析启动参数
|
||||||
@ -59,7 +59,7 @@ bool kbd_service::CAlmSendApp::start(int argc, char *argv[], int &nStatus)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
//6.创建冗余管理
|
//6.创建冗余管理
|
||||||
m_ptrRedundantMng = kbd_sys::getRedundantMngInstance(m_stRunAppInfo.nDomainId,
|
m_ptrRedundantMng = iot_sys::getRedundantMngInstance(m_stRunAppInfo.nDomainId,
|
||||||
m_stRunAppInfo.nAppId,
|
m_stRunAppInfo.nAppId,
|
||||||
m_stRunAppInfo.strLocalNodeName);
|
m_stRunAppInfo.strLocalNodeName);
|
||||||
if(NULL == m_ptrRedundantMng)
|
if(NULL == m_ptrRedundantMng)
|
||||||
@ -88,7 +88,7 @@ bool kbd_service::CAlmSendApp::start(int argc, char *argv[], int &nStatus)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmSendApp::stop()
|
bool iot_service::CAlmSendApp::stop()
|
||||||
{
|
{
|
||||||
LOGINFO("stop");
|
LOGINFO("stop");
|
||||||
//9.更新当前进程冗余状态
|
//9.更新当前进程冗余状态
|
||||||
@ -115,13 +115,13 @@ bool kbd_service::CAlmSendApp::stop()
|
|||||||
//4.获取系统信息
|
//4.获取系统信息
|
||||||
//3.检查重复启动
|
//3.检查重复启动
|
||||||
//2.销毁日志系统
|
//2.销毁日志系统
|
||||||
kbd_public::StopLogSystem();
|
iot_public::StopLogSystem();
|
||||||
//1.检查启动参数
|
//1.检查启动参数
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_service::CAlmSendApp::toQuit()
|
int iot_service::CAlmSendApp::toQuit()
|
||||||
{
|
{
|
||||||
LOGERROR("to Quit");
|
LOGERROR("to Quit");
|
||||||
if(NULL != m_ptrProcMng)
|
if(NULL != m_ptrProcMng)
|
||||||
@ -132,7 +132,7 @@ int kbd_service::CAlmSendApp::toQuit()
|
|||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmSendApp::parseCmdLine(int argc, char *argv[])
|
bool iot_service::CAlmSendApp::parseCmdLine(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
//拼接参数
|
//拼接参数
|
||||||
for(int i = 1; i < argc ; ++i)
|
for(int i = 1; i < argc ; ++i)
|
||||||
@ -180,29 +180,29 @@ bool kbd_service::CAlmSendApp::parseCmdLine(int argc, char *argv[])
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void kbd_service::CAlmSendApp::showHelp(const boost::program_options::options_description &objDesc)
|
void iot_service::CAlmSendApp::showHelp(const boost::program_options::options_description &objDesc)
|
||||||
{
|
{
|
||||||
std::cout << CN_ProcName_AlmSendServer << "[-h] | [-a app]" << std::endl;
|
std::cout << CN_ProcName_AlmSendServer << "[-h] | [-a app]" << std::endl;
|
||||||
std::cout << objDesc << std::endl;
|
std::cout << objDesc << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmSendApp::isAlreadyRunning()
|
bool iot_service::CAlmSendApp::isAlreadyRunning()
|
||||||
{
|
{
|
||||||
m_strUniqueName.clear();
|
m_strUniqueName.clear();
|
||||||
m_strUniqueName = CN_ProcName_AlmSendServer;
|
m_strUniqueName = CN_ProcName_AlmSendServer;
|
||||||
m_strUniqueName += m_strStartArgs;
|
m_strUniqueName += m_strStartArgs;
|
||||||
return kbd_public::CSingleProcInstance::hasInstanceRunning(m_strUniqueName);
|
return iot_public::CSingleProcInstance::hasInstanceRunning(m_strUniqueName);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmSendApp::initLog()
|
bool iot_service::CAlmSendApp::initLog()
|
||||||
{
|
{
|
||||||
kbd_public::StartLogSystem(m_strAppName.c_str(),CN_ProcName_AlmSendServer.c_str());
|
iot_public::StartLogSystem(m_strAppName.c_str(),CN_ProcName_AlmSendServer.c_str());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmSendApp::getSystemInfo()
|
bool iot_service::CAlmSendApp::getSystemInfo()
|
||||||
{
|
{
|
||||||
if(!kbd_public::createSysInfoInstance(m_ptrSysInfo))
|
if(!iot_public::createSysInfoInstance(m_ptrSysInfo))
|
||||||
{
|
{
|
||||||
LOGERROR("创建系统信息访问库失败");
|
LOGERROR("创建系统信息访问库失败");
|
||||||
return false;
|
return false;
|
||||||
@ -215,16 +215,16 @@ bool kbd_service::CAlmSendApp::getSystemInfo()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmSendApp::registerToProcMng()
|
bool iot_service::CAlmSendApp::registerToProcMng()
|
||||||
{
|
{
|
||||||
kbd_sys::SProcessInfoKey stProcKey;
|
iot_sys::SProcessInfoKey stProcKey;
|
||||||
stProcKey.nDomainId = m_stRunAppInfo.nDomainId;
|
stProcKey.nDomainId = m_stRunAppInfo.nDomainId;
|
||||||
stProcKey.nAppId = m_stRunAppInfo.nAppId;
|
stProcKey.nAppId = m_stRunAppInfo.nAppId;
|
||||||
stProcKey.strNodeName = m_stRunAppInfo.strLocalNodeName;
|
stProcKey.strNodeName = m_stRunAppInfo.strLocalNodeName;
|
||||||
stProcKey.strProcName = CN_ProcName_AlmSendServer;
|
stProcKey.strProcName = CN_ProcName_AlmSendServer;
|
||||||
stProcKey.strProcParam = m_strStartArgs;
|
stProcKey.strProcParam = m_strStartArgs;
|
||||||
|
|
||||||
m_ptrProcMng = kbd_sys::getProcMngInstance(stProcKey);
|
m_ptrProcMng = iot_sys::getProcMngInstance(stProcKey);
|
||||||
if(NULL == m_ptrProcMng)
|
if(NULL == m_ptrProcMng)
|
||||||
{
|
{
|
||||||
LOGERROR("创建进程管理访问库失败");
|
LOGERROR("创建进程管理访问库失败");
|
||||||
@ -238,9 +238,9 @@ bool kbd_service::CAlmSendApp::registerToProcMng()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmSendApp::initialize()
|
bool iot_service::CAlmSendApp::initialize()
|
||||||
{
|
{
|
||||||
if(!kbd_net::initMsgBus(CN_ProcName_AlmSendServer.c_str(),m_strUniqueName.c_str()))
|
if(!iot_net::initMsgBus(CN_ProcName_AlmSendServer.c_str(),m_strUniqueName.c_str()))
|
||||||
{
|
{
|
||||||
LOGERROR("初始化消息总线失败");
|
LOGERROR("初始化消息总线失败");
|
||||||
return false;
|
return false;
|
||||||
@ -260,9 +260,9 @@ bool kbd_service::CAlmSendApp::initialize()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_service::CAlmSendApp::clean()
|
bool iot_service::CAlmSendApp::clean()
|
||||||
{
|
{
|
||||||
if(!kbd_net::releaseMsgBus())
|
if(!iot_net::releaseMsgBus())
|
||||||
{
|
{
|
||||||
LOGERROR("销毁消息总线资源失败");
|
LOGERROR("销毁消息总线资源失败");
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@ -10,12 +10,12 @@
|
|||||||
#include "boost/program_options.hpp"
|
#include "boost/program_options.hpp"
|
||||||
#include "CAlmSendMng.h"
|
#include "CAlmSendMng.h"
|
||||||
|
|
||||||
namespace kbd_service {
|
namespace iot_service {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CAlmSendApp : public kbd_public::CBaseService,public kbd_sys::CProcessQuitInterface
|
class CAlmSendApp : public iot_public::CBaseService,public iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CAlmSendApp();
|
CAlmSendApp();
|
||||||
@ -94,12 +94,12 @@ namespace kbd_service {
|
|||||||
private:
|
private:
|
||||||
std::string m_strUniqueName;
|
std::string m_strUniqueName;
|
||||||
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_ptrRedundantMng;
|
iot_sys::CRedundantMngInterfacePtr m_ptrRedundantMng;
|
||||||
CAlmSendMngPtr m_ptrAlmSendMng;
|
CAlmSendMngPtr m_ptrAlmSendMng;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
#include "CAlmSendMng.h"
|
#include "CAlmSendMng.h"
|
||||||
#include "pub_logger_api/logger.h"
|
#include "pub_logger_api/logger.h"
|
||||||
|
|
||||||
kbd_service::CAlmSendMng::CAlmSendMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
iot_service::CAlmSendMng::CAlmSendMng(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_ptrAlmRcvThread(NULL),
|
m_ptrAlmRcvThread(NULL),
|
||||||
@ -11,7 +11,7 @@ kbd_service::CAlmSendMng::CAlmSendMng(const kbd_public::SRunAppInfo &stRunAppInf
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_service::CAlmSendMng::~CAlmSendMng()
|
iot_service::CAlmSendMng::~CAlmSendMng()
|
||||||
{
|
{
|
||||||
LOGINFO("管理类析构");
|
LOGINFO("管理类析构");
|
||||||
if(NULL != m_ptrAlmSendThread)
|
if(NULL != m_ptrAlmSendThread)
|
||||||
@ -25,7 +25,7 @@ kbd_service::CAlmSendMng::~CAlmSendMng()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_service::CAlmSendMng::redundantSwitch(bool bMaster, bool bSlave)
|
int iot_service::CAlmSendMng::redundantSwitch(bool bMaster, bool bSlave)
|
||||||
{
|
{
|
||||||
LOGINFO("接收到冗余切换指令.Master=[%d],Slave=[%d]",bMaster,bSlave);
|
LOGINFO("接收到冗余切换指令.Master=[%d],Slave=[%d]",bMaster,bSlave);
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ int kbd_service::CAlmSendMng::redundantSwitch(bool bMaster, bool bSlave)
|
|||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_service::CAlmSendMng::initialize()
|
int iot_service::CAlmSendMng::initialize()
|
||||||
{
|
{
|
||||||
m_ptrAlmRcvThread = boost::make_shared<CAlmRcvThread>();
|
m_ptrAlmRcvThread = boost::make_shared<CAlmRcvThread>();
|
||||||
if(NULL == m_ptrAlmRcvThread)
|
if(NULL == m_ptrAlmRcvThread)
|
||||||
|
|||||||
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
namespace kbd_service {
|
namespace iot_service {
|
||||||
class CAlmSendMng:public kbd_sys::CRedundantSwitchInterface
|
class CAlmSendMng:public iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CAlmSendMng(const kbd_public::SRunAppInfo &stRunAppInfo,const kbd_sys::CProcMngInterfacePtr &ptrProcMng);
|
CAlmSendMng(const iot_public::SRunAppInfo &stRunAppInfo,const iot_sys::CProcMngInterfacePtr &ptrProcMng);
|
||||||
virtual ~CAlmSendMng();
|
virtual ~CAlmSendMng();
|
||||||
|
|
||||||
|
|
||||||
@ -26,8 +26,8 @@ namespace kbd_service {
|
|||||||
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; //进程管理访问库智能指针
|
||||||
|
|
||||||
CAlmRcvThreadPtr m_ptrAlmRcvThread; //报警接收的智能指针
|
CAlmRcvThreadPtr m_ptrAlmRcvThread; //报警接收的智能指针
|
||||||
CAlmSendThreadPtr m_ptrAlmSendThread; //报警发送智能指针
|
CAlmSendThreadPtr m_ptrAlmSendThread; //报警发送智能指针
|
||||||
|
|||||||
@ -1,19 +1,19 @@
|
|||||||
#include "CAlmSendThread.h"
|
#include "CAlmSendThread.h"
|
||||||
#include "pub_logger_api/logger.h"
|
#include "pub_logger_api/logger.h"
|
||||||
|
|
||||||
kbd_service::CAlmSendThread::CAlmSendThread(CAlmRcvThreadPtr ptrAlmRcvThread):
|
iot_service::CAlmSendThread::CAlmSendThread(CAlmRcvThreadPtr ptrAlmRcvThread):
|
||||||
kbd_public::CTimerThreadBase("AlmSendThread",500),
|
iot_public::CTimerThreadBase("AlmSendThread",500),
|
||||||
m_ptrAlmRcvThread(ptrAlmRcvThread)
|
m_ptrAlmRcvThread(ptrAlmRcvThread)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_service::CAlmSendThread::~CAlmSendThread()
|
iot_service::CAlmSendThread::~CAlmSendThread()
|
||||||
{
|
{
|
||||||
m_ptrAlmRcvThread.reset();
|
m_ptrAlmRcvThread.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void kbd_service::CAlmSendThread::execute()
|
void iot_service::CAlmSendThread::execute()
|
||||||
{
|
{
|
||||||
if(NULL != m_ptrAlmRcvThread)
|
if(NULL != m_ptrAlmRcvThread)
|
||||||
{
|
{
|
||||||
@ -23,7 +23,7 @@ void kbd_service::CAlmSendThread::execute()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int kbd_service::CAlmSendThread::initialize()
|
int iot_service::CAlmSendThread::initialize()
|
||||||
{
|
{
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,9 +6,9 @@
|
|||||||
#include "CAlmRcvThread.h"
|
#include "CAlmRcvThread.h"
|
||||||
|
|
||||||
|
|
||||||
namespace kbd_service {
|
namespace iot_service {
|
||||||
|
|
||||||
class CAlmSendThread : public kbd_public::CTimerThreadBase
|
class CAlmSendThread : public iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CAlmSendThread(CAlmRcvThreadPtr ptrAlmRcvThread);
|
CAlmSendThread(CAlmRcvThreadPtr ptrAlmRcvThread);
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
#ifndef ALMSENDCOMMON_H
|
#ifndef ALMSENDCOMMON_H
|
||||||
#define ALMSENDCOMMON_H
|
#define ALMSENDCOMMON_H
|
||||||
|
|
||||||
namespace kbd_service
|
namespace iot_service
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
#define DATASTRUCTDEF_H
|
#define DATASTRUCTDEF_H
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace kbd_service {
|
namespace iot_service {
|
||||||
|
|
||||||
|
|
||||||
typedef struct almInfo
|
typedef struct almInfo
|
||||||
|
|||||||
@ -5,6 +5,6 @@ using namespace std;
|
|||||||
|
|
||||||
int main(int argc,char *argv[])
|
int main(int argc,char *argv[])
|
||||||
{
|
{
|
||||||
kbd_service::CAlmSendApp appObj;
|
iot_service::CAlmSendApp appObj;
|
||||||
return appObj.main(argc,argv);
|
return appObj.main(argc,argv);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,7 +20,7 @@ class CThreadDigital;
|
|||||||
|
|
||||||
class CThreadLocalCurve;
|
class CThreadLocalCurve;
|
||||||
|
|
||||||
class CApcIfRedunSw : public ::kbd_sys::CRedundantSwitchInterface
|
class CApcIfRedunSw : public ::iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CApcIfRedunSw();
|
CApcIfRedunSw();
|
||||||
|
|||||||
@ -64,7 +64,7 @@ CApcIfSrv::~CApcIfSrv()
|
|||||||
{
|
{
|
||||||
CApcIfSrv::stop();
|
CApcIfSrv::stop();
|
||||||
|
|
||||||
kbd_public::StopLogSystem();
|
iot_public::StopLogSystem();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ bool CApcIfSrv::start(int argc, char *argv[], int & /*nStatus*/)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 启动日志
|
//< 启动日志
|
||||||
kbd_public::StartLogSystem(m_strAppName.c_str(), g_pSzProcName);
|
iot_public::StartLogSystem(m_strAppName.c_str(), g_pSzProcName);
|
||||||
|
|
||||||
LOGINFO("\n\n%s is now starting ...\n", g_pSzProcName);
|
LOGINFO("\n\n%s is now starting ...\n", g_pSzProcName);
|
||||||
|
|
||||||
@ -120,14 +120,14 @@ bool CApcIfSrv::start(int argc, char *argv[], int & /*nStatus*/)
|
|||||||
//LOGDEBUG("m_nInvalidStatus_DI == %u",m_nInvalidStatus_DI);
|
//LOGDEBUG("m_nInvalidStatus_DI == %u",m_nInvalidStatus_DI);
|
||||||
|
|
||||||
//< 消息总线
|
//< 消息总线
|
||||||
if (!kbd_net::initMsgBus(g_pSzProcName, "", true))
|
if (!iot_net::initMsgBus(g_pSzProcName, "", true))
|
||||||
{
|
{
|
||||||
LOGFATAL("初始化消息总线失败,程序启动失败!");
|
LOGFATAL("初始化消息总线失败,程序启动失败!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//< 报警服务接口
|
//< 报警服务接口
|
||||||
m_ptrAlmApi.reset(new kbd_service::CAlmApiForApp(m_nDomainID, m_nAppID));
|
m_ptrAlmApi.reset(new iot_service::CAlmApiForApp(m_nDomainID, m_nAppID));
|
||||||
if (!m_ptrAlmApi->resumeThread())
|
if (!m_ptrAlmApi->resumeThread())
|
||||||
{
|
{
|
||||||
LOGFATAL("报警服务接口初始化失败,程序启动失败!");
|
LOGFATAL("报警服务接口初始化失败,程序启动失败!");
|
||||||
@ -135,7 +135,7 @@ bool CApcIfSrv::start(int argc, char *argv[], int & /*nStatus*/)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 初始化翻译
|
//< 初始化翻译
|
||||||
if (kbd_public::initI18N("/apc_if_srv/translate", "apc_if_srv"))
|
if (iot_public::initI18N("/apc_if_srv/translate", "apc_if_srv"))
|
||||||
{
|
{
|
||||||
if (g_bVerboseLog)
|
if (g_bVerboseLog)
|
||||||
{
|
{
|
||||||
@ -169,7 +169,7 @@ bool CApcIfSrv::start(int argc, char *argv[], int & /*nStatus*/)
|
|||||||
strStartArgs += argv[i];
|
strStartArgs += argv[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_sys::SProcessInfoKey objProcInfo;
|
iot_sys::SProcessInfoKey objProcInfo;
|
||||||
objProcInfo.nAppId = m_nAppID;
|
objProcInfo.nAppId = m_nAppID;
|
||||||
objProcInfo.nDomainId = m_nDomainID;
|
objProcInfo.nDomainId = m_nDomainID;
|
||||||
objProcInfo.strNodeName = m_strNodeName;
|
objProcInfo.strNodeName = m_strNodeName;
|
||||||
@ -177,7 +177,7 @@ bool CApcIfSrv::start(int argc, char *argv[], int & /*nStatus*/)
|
|||||||
objProcInfo.strProcName = g_pSzProcName;
|
objProcInfo.strProcName = g_pSzProcName;
|
||||||
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 NULL");
|
LOGFATAL("getProcMngInstance return NULL");
|
||||||
@ -189,7 +189,7 @@ bool CApcIfSrv::start(int argc, char *argv[], int & /*nStatus*/)
|
|||||||
|
|
||||||
//< 冗余管理
|
//< 冗余管理
|
||||||
{
|
{
|
||||||
m_ptrRedundantMng = kbd_sys::getRedundantMngInstance(m_nDomainID,
|
m_ptrRedundantMng = iot_sys::getRedundantMngInstance(m_nDomainID,
|
||||||
m_nAppID,
|
m_nAppID,
|
||||||
m_strNodeName);
|
m_strNodeName);
|
||||||
if (!m_ptrRedundantMng)
|
if (!m_ptrRedundantMng)
|
||||||
@ -287,11 +287,11 @@ bool CApcIfSrv::stop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 停止消息总线
|
//< 停止消息总线
|
||||||
kbd_net::releaseMsgBus();
|
iot_net::releaseMsgBus();
|
||||||
|
|
||||||
//< 停止日志系统
|
//< 停止日志系统
|
||||||
//< 移到析构函数中,防止日志库停止后,又写日志,从而使log4cplus提示找不到logger
|
//< 移到析构函数中,防止日志库停止后,又写日志,从而使log4cplus提示找不到logger
|
||||||
//kbd_public::StopLogSystem();
|
//iot_public::StopLogSystem();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -345,7 +345,7 @@ const std::string &CApcIfSrv::getNodeName() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool CApcIfSrv::addAlarm(kbd_idlfile::SAppAddAlm &objAlarm)
|
bool CApcIfSrv::addAlarm(iot_idl::SAppAddAlm &objAlarm)
|
||||||
{
|
{
|
||||||
return m_ptrAlmApi->addAlarm(objAlarm);
|
return m_ptrAlmApi->addAlarm(objAlarm);
|
||||||
}
|
}
|
||||||
@ -353,7 +353,7 @@ bool CApcIfSrv::addAlarm(kbd_idlfile::SAppAddAlm &objAlarm)
|
|||||||
|
|
||||||
bool CApcIfSrv::isAlreadyRunning()
|
bool CApcIfSrv::isAlreadyRunning()
|
||||||
{
|
{
|
||||||
return kbd_public::CSingleProcInstance::hasInstanceRunning(g_pSzProcName);
|
return iot_public::CSingleProcInstance::hasInstanceRunning(g_pSzProcName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -433,14 +433,14 @@ bool CApcIfSrv::parseCommandLine(int argc, char *argv[])
|
|||||||
|
|
||||||
bool CApcIfSrv::loadSysInfo()
|
bool CApcIfSrv::loadSysInfo()
|
||||||
{
|
{
|
||||||
kbd_public::CSysInfoInterfacePtr sysInfoPtr;
|
iot_public::CSysInfoInterfacePtr sysInfoPtr;
|
||||||
if (kbd_public::createSysInfoInstance(sysInfoPtr) == false)
|
if (iot_public::createSysInfoInstance(sysInfoPtr) == false)
|
||||||
{
|
{
|
||||||
LOGERROR("createSysInfoInstance() return false !");
|
LOGERROR("createSysInfoInstance() return false !");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::SRunAppInfo objRunAppInfo;
|
iot_public::SRunAppInfo objRunAppInfo;
|
||||||
int nRc = sysInfoPtr->getLocalRunAppInfoByName(m_strAppName, objRunAppInfo);
|
int nRc = sysInfoPtr->getLocalRunAppInfoByName(m_strAppName, objRunAppInfo);
|
||||||
if (kbdSuccess != nRc)
|
if (kbdSuccess != nRc)
|
||||||
{
|
{
|
||||||
@ -459,7 +459,7 @@ bool CApcIfSrv::loadSysInfo()
|
|||||||
|
|
||||||
bool CApcIfSrv::initPntStatus()
|
bool CApcIfSrv::initPntStatus()
|
||||||
{
|
{
|
||||||
kbd_service::CDataProcessApiPtr ptrDP = kbd_service::getDataProcInstance();
|
iot_service::CDataProcessApiPtr ptrDP = iot_service::getDataProcInstance();
|
||||||
if (!ptrDP)
|
if (!ptrDP)
|
||||||
{
|
{
|
||||||
LOGERROR("initPntStatus(): getDataProcInstance失败");
|
LOGERROR("initPntStatus(): getDataProcInstance失败");
|
||||||
|
|||||||
@ -19,8 +19,8 @@ namespace kbd_application
|
|||||||
{
|
{
|
||||||
|
|
||||||
class CApcIfSrv :
|
class CApcIfSrv :
|
||||||
public kbd_public::CBaseService,
|
public iot_public::CBaseService,
|
||||||
kbd_sys::CProcessQuitInterface
|
iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
class GC
|
class GC
|
||||||
@ -69,7 +69,7 @@ public:
|
|||||||
unsigned int getInvalidStatus_DI() const;
|
unsigned int getInvalidStatus_DI() const;
|
||||||
|
|
||||||
//< 添加报警
|
//< 添加报警
|
||||||
bool addAlarm(kbd_idlfile::SAppAddAlm &objAlarm);
|
bool addAlarm(iot_idl::SAppAddAlm &objAlarm);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -106,10 +106,10 @@ private:
|
|||||||
std::string m_strNodeName; //< 本机节点名
|
std::string m_strNodeName; //< 本机节点名
|
||||||
|
|
||||||
CApcIfRedunSwPtr m_ptrRedunSw;
|
CApcIfRedunSwPtr m_ptrRedunSw;
|
||||||
kbd_sys::CProcMngInterfacePtr m_ptrProcMng;
|
iot_sys::CProcMngInterfacePtr m_ptrProcMng;
|
||||||
kbd_sys::CRedundantMngInterfacePtr m_ptrRedundantMng;
|
iot_sys::CRedundantMngInterfacePtr m_ptrRedundantMng;
|
||||||
|
|
||||||
kbd_service::CAlmApiForAppPtr m_ptrAlmApi; //< 报警服务接口
|
iot_service::CAlmApiForAppPtr m_ptrAlmApi; //< 报警服务接口
|
||||||
};
|
};
|
||||||
|
|
||||||
} //< namespace kbd_application
|
} //< namespace kbd_application
|
||||||
|
|||||||
@ -62,7 +62,7 @@ CThreadAnalog::CThreadAnalog() :
|
|||||||
|
|
||||||
//< 初始化 m_objSetAiToDp Head 部分信息,不用运行时每次都填充,提高效率
|
//< 初始化 m_objSetAiToDp Head 部分信息,不用运行时每次都填充,提高效率
|
||||||
{
|
{
|
||||||
kbd_idlfile::SOptDataPkgHead *pHead = m_objSetAiToDp.mutable_package_head();
|
iot_idl::SOptDataPkgHead *pHead = m_objSetAiToDp.mutable_package_head();
|
||||||
|
|
||||||
pHead->set_str_src_tag(g_pSzProcName);
|
pHead->set_str_src_tag(g_pSzProcName);
|
||||||
pHead->set_b_not_alarm(false); //< 若是true,则DP不产生报警和事件
|
pHead->set_b_not_alarm(false); //< 若是true,则DP不产生报警和事件
|
||||||
@ -72,12 +72,12 @@ CThreadAnalog::CThreadAnalog() :
|
|||||||
//pHead->set_para1(CApcIfSrv::getInstance().getDomainID());
|
//pHead->set_para1(CApcIfSrv::getInstance().getDomainID());
|
||||||
|
|
||||||
//< 实际发送时填充
|
//< 实际发送时填充
|
||||||
//pHead->set_nopttime(kbd_public::getUTCTimeMsec());
|
//pHead->set_nopttime(iot_public::getUTCTimeMsec());
|
||||||
}
|
}
|
||||||
|
|
||||||
//< 初始化 m_objSetDiToDp Head 部分信息,不用运行时每次都填充,提高效率
|
//< 初始化 m_objSetDiToDp Head 部分信息,不用运行时每次都填充,提高效率
|
||||||
{
|
{
|
||||||
kbd_idlfile::SOptDataPkgHead *pHead = m_objSetDiToDp.mutable_package_head();
|
iot_idl::SOptDataPkgHead *pHead = m_objSetDiToDp.mutable_package_head();
|
||||||
|
|
||||||
pHead->set_str_src_tag(g_pSzProcName);
|
pHead->set_str_src_tag(g_pSzProcName);
|
||||||
pHead->set_b_not_alarm(false); //< 若是true,则DP不产生报警和事件
|
pHead->set_b_not_alarm(false); //< 若是true,则DP不产生报警和事件
|
||||||
@ -87,7 +87,7 @@ CThreadAnalog::CThreadAnalog() :
|
|||||||
//pHead->set_para1(CApcIfSrv::getInstance().getDomainID());
|
//pHead->set_para1(CApcIfSrv::getInstance().getDomainID());
|
||||||
|
|
||||||
//< 实际发送时填充
|
//< 实际发送时填充
|
||||||
//pHead->set_nopttime(kbd_public::getUTCTimeMsec());
|
//pHead->set_nopttime(iot_public::getUTCTimeMsec());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ bool CThreadAnalog::resumeThread()
|
|||||||
//< 构建通讯器
|
//< 构建通讯器
|
||||||
if (NULL == m_pMbComm)
|
if (NULL == m_pMbComm)
|
||||||
{
|
{
|
||||||
m_pMbComm = new kbd_net::CMbCommunicator();
|
m_pMbComm = new iot_net::CMbCommunicator();
|
||||||
}
|
}
|
||||||
|
|
||||||
const int nAppId = CApcIfSrv::getInstance().getAppID();
|
const int nAppId = CApcIfSrv::getInstance().getAppID();
|
||||||
@ -141,9 +141,9 @@ bool CThreadAnalog::resumeThread()
|
|||||||
//< 设置初始值
|
//< 设置初始值
|
||||||
{
|
{
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_analog);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_analog);
|
||||||
|
|
||||||
kbd_dbms::CVarType objValue = 0;
|
iot_dbms::CVarType objValue = 0;
|
||||||
|
|
||||||
const int nRcdCnt = m_objRtdb_apc_analog.getRecordCount();
|
const int nRcdCnt = m_objRtdb_apc_analog.getRecordCount();
|
||||||
for (int nRcdIdx = 0; nRcdIdx < nRcdCnt; ++nRcdIdx)
|
for (int nRcdIdx = 0; nRcdIdx < nRcdCnt; ++nRcdIdx)
|
||||||
@ -194,7 +194,7 @@ void CThreadAnalog::execute()
|
|||||||
|
|
||||||
//< 接收并处理消息
|
//< 接收并处理消息
|
||||||
{
|
{
|
||||||
kbd_net::CMbMessage objMbMsgRcv;
|
iot_net::CMbMessage objMbMsgRcv;
|
||||||
if (m_pMbComm->recvMsg(objMbMsgRcv, 500))
|
if (m_pMbComm->recvMsg(objMbMsgRcv, 500))
|
||||||
{
|
{
|
||||||
const int nChannelID = objMbMsgRcv.getChannelID();
|
const int nChannelID = objMbMsgRcv.getChannelID();
|
||||||
@ -204,11 +204,11 @@ void CThreadAnalog::execute()
|
|||||||
{
|
{
|
||||||
switch (nMsgType)
|
switch (nMsgType)
|
||||||
{
|
{
|
||||||
case kbd_idlfile::MT_OPT2APP_VIRT_CTRL_ANA_REQUEST:
|
case iot_idl::MT_OPT2APP_VIRT_CTRL_ANA_REQUEST:
|
||||||
handleOptCtrlReq(objMbMsgRcv);
|
handleOptCtrlReq(objMbMsgRcv);
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_OPT2APP_VIRT_CTRL_DIG_REQUEST:
|
case iot_idl::MT_OPT2APP_VIRT_CTRL_DIG_REQUEST:
|
||||||
case kbd_idlfile::MT_OPT2APP_VIRT_CTRL_MIX_REQUEST:
|
case iot_idl::MT_OPT2APP_VIRT_CTRL_MIX_REQUEST:
|
||||||
//< 无需处理
|
//< 无需处理
|
||||||
break;
|
break;
|
||||||
default: LOGERROR("execute(): 无效的消息类型 nMsgType = %d ,忽略消息!", nMsgType);
|
default: LOGERROR("execute(): 无效的消息类型 nMsgType = %d ,忽略消息!", nMsgType);
|
||||||
@ -228,10 +228,10 @@ void CThreadAnalog::execute()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool CThreadAnalog::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
bool CThreadAnalog::handleOptCtrlReq(const iot_net::CMbMessage &objMbMsgRcv)
|
||||||
{
|
{
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SOptVirtCtrlRequest objRequest;
|
iot_idl::SOptVirtCtrlRequest objRequest;
|
||||||
bool bRc = objRequest.ParseFromArray(objMbMsgRcv.getDataPtr(), (int) objMbMsgRcv.getDataSize());
|
bool bRc = objRequest.ParseFromArray(objMbMsgRcv.getDataPtr(), (int) objMbMsgRcv.getDataSize());
|
||||||
if (!bRc)
|
if (!bRc)
|
||||||
{
|
{
|
||||||
@ -256,7 +256,7 @@ bool CThreadAnalog::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
|
|
||||||
{
|
{
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_analog);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_analog);
|
||||||
|
|
||||||
const int nRcdIndex = m_objRtdb_apc_analog.searchRecordByKey(strKeyIdTag.c_str());
|
const int nRcdIndex = m_objRtdb_apc_analog.searchRecordByKey(strKeyIdTag.c_str());
|
||||||
if (nRcdIndex < 0)
|
if (nRcdIndex < 0)
|
||||||
@ -273,8 +273,8 @@ bool CThreadAnalog::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
||||||
|
|
||||||
//< 预设置回复消息
|
//< 预设置回复消息
|
||||||
kbd_idlfile::SOptVirtCtrlReply objReply;
|
iot_idl::SOptVirtCtrlReply objReply;
|
||||||
kbd_net::CMbMessage objMbMSgRep;
|
iot_net::CMbMessage objMbMSgRep;
|
||||||
{
|
{
|
||||||
objReply.set_str_tab_name(objRequest.str_tab_name());
|
objReply.set_str_tab_name(objRequest.str_tab_name());
|
||||||
objReply.set_str_tag_name(objRequest.str_tag_name());
|
objReply.set_str_tag_name(objRequest.str_tag_name());
|
||||||
@ -286,7 +286,7 @@ bool CThreadAnalog::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
|
|
||||||
objReply.set_str_source_tag(g_pSzProcName);
|
objReply.set_str_source_tag(g_pSzProcName);
|
||||||
|
|
||||||
objMbMSgRep.setMsgType(kbd_idlfile::MT_APP2OPT_VIRT_CTRL_ANA_REPLY);
|
objMbMSgRep.setMsgType(iot_idl::MT_APP2OPT_VIRT_CTRL_ANA_REPLY);
|
||||||
objMbMSgRep.setSubject(objSrv.getAppID(),
|
objMbMSgRep.setSubject(objSrv.getAppID(),
|
||||||
CH_APP_TO_OPT_VIRT_CTRL);
|
CH_APP_TO_OPT_VIRT_CTRL);
|
||||||
//< 后续设置
|
//< 后续设置
|
||||||
@ -295,7 +295,7 @@ bool CThreadAnalog::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 控制目标值
|
//< 控制目标值
|
||||||
if (kbd_idlfile::CN_DATATYPE_DOUBLE != objRequest.var_value().edatatype()
|
if (iot_idl::CN_DATATYPE_DOUBLE != objRequest.var_value().edatatype()
|
||||||
|| !(objRequest.var_value().has_dvalue()))
|
|| !(objRequest.var_value().has_dvalue()))
|
||||||
{
|
{
|
||||||
const std::string strErr = I18N("控制目标值非法,控制消息中var_value不是DOUBLE或dValue未填充!");
|
const std::string strErr = I18N("控制目标值非法,控制消息中var_value不是DOUBLE或dValue未填充!");
|
||||||
@ -318,12 +318,12 @@ bool CThreadAnalog::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
}
|
}
|
||||||
const boost::float64_t dCtrlValue = objRequest.var_value().dvalue();
|
const boost::float64_t dCtrlValue = objRequest.var_value().dvalue();
|
||||||
|
|
||||||
const boost::int64_t nTimeNow_steady = kbd_public::getMonotonicMsec();
|
const boost::int64_t nTimeNow_steady = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
//< 提交模型修改
|
//< 提交模型修改
|
||||||
{
|
{
|
||||||
bool bModelCommOk = true;
|
bool bModelCommOk = true;
|
||||||
kbd_dbms::CDbApi objDb( DB_CONN_MODEL_WRITE );
|
iot_dbms::CDbApi objDb( DB_CONN_MODEL_WRITE );
|
||||||
|
|
||||||
QString strSql;
|
QString strSql;
|
||||||
|
|
||||||
@ -357,19 +357,19 @@ bool CThreadAnalog::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
//< 失败时的报警内容
|
//< 失败时的报警内容
|
||||||
if ( !bModelCommOk )
|
if ( !bModelCommOk )
|
||||||
{
|
{
|
||||||
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_OPERATE ); //< 人工操作
|
pAlmInfo->set_alm_type( iot_service::ALM_TYPE_OPERATE ); //< 人工操作
|
||||||
pAlmInfo->set_time_stamp( kbd_public::getUTCTimeMsec());
|
pAlmInfo->set_time_stamp( iot_public::getUTCTimeMsec());
|
||||||
pAlmInfo->set_status( kbd_service::ALM_STAT_OPT_MODEL_MODIFY ); //< 模型修改
|
pAlmInfo->set_status( iot_service::ALM_STAT_OPT_MODEL_MODIFY ); //< 模型修改
|
||||||
pAlmInfo->set_location_id( objSrv.getLocationID());
|
pAlmInfo->set_location_id( objSrv.getLocationID());
|
||||||
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( strSql.toStdString() + I18N( " 提交失败" ).str());
|
pAlmKeyword->set_value( strSql.toStdString() + I18N( " 提交失败" ).str());
|
||||||
|
|
||||||
objSrv.addAlarm( objAddAlm );
|
objSrv.addAlarm( objAddAlm );
|
||||||
@ -379,9 +379,9 @@ bool CThreadAnalog::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
//< 更新实时库
|
//< 更新实时库
|
||||||
{
|
{
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_analog);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_analog);
|
||||||
|
|
||||||
std::vector<kbd_dbms::RSQL_UPD_COLUMN> vecUpdateCol(2);
|
std::vector<iot_dbms::RSQL_UPD_COLUMN> vecUpdateCol(2);
|
||||||
|
|
||||||
strncpy(vecUpdateCol[0].updcolname, "value", RDB_COLUMN_NAME_LEN);
|
strncpy(vecUpdateCol[0].updcolname, "value", RDB_COLUMN_NAME_LEN);
|
||||||
vecUpdateCol[0].updvalue = dCtrlValue;
|
vecUpdateCol[0].updvalue = dCtrlValue;
|
||||||
@ -434,7 +434,7 @@ void CThreadAnalog::handleOutput()
|
|||||||
bool bFullOutput = false; //< 本次执行是否全输出
|
bool bFullOutput = false; //< 本次执行是否全输出
|
||||||
|
|
||||||
//< 开机后时间
|
//< 开机后时间
|
||||||
const boost::int64_t nTimeNow_steady = kbd_public::getMonotonicMsec();
|
const boost::int64_t nTimeNow_steady = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
//< 每60s全输出一次,发送本机不考虑丢消息
|
//< 每60s全输出一次,发送本机不考虑丢消息
|
||||||
if (m_nLastFullOutputTime + 60000 <= nTimeNow_steady)
|
if (m_nLastFullOutputTime + 60000 <= nTimeNow_steady)
|
||||||
@ -444,16 +444,16 @@ void CThreadAnalog::handleOutput()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< UTC 时间
|
//< UTC 时间
|
||||||
const boost::uint64_t nTimeNow_UTC = kbd_public::getUTCTimeMsec();
|
const boost::uint64_t nTimeNow_UTC = iot_public::getUTCTimeMsec();
|
||||||
|
|
||||||
const CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
const CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
||||||
|
|
||||||
//< 括号,控制锁表生命周期
|
//< 括号,控制锁表生命周期
|
||||||
{
|
{
|
||||||
kbd_dbms::CVarType objValue;
|
iot_dbms::CVarType objValue;
|
||||||
|
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_analog);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_analog);
|
||||||
|
|
||||||
const int nRcdCnt = m_objRtdb_apc_analog.getRecordCount();
|
const int nRcdCnt = m_objRtdb_apc_analog.getRecordCount();
|
||||||
for (int nRcdIdx = 0; nRcdIdx < nRcdCnt; ++nRcdIdx)
|
for (int nRcdIdx = 0; nRcdIdx < nRcdCnt; ++nRcdIdx)
|
||||||
@ -513,12 +513,12 @@ void CThreadAnalog::handleOutput()
|
|||||||
LOGDEBUG("handleOutput(): AI量 [ %s ] 值变化,新值 [ %f ]", strTagName.c_str(), dValue);
|
LOGDEBUG("handleOutput(): AI量 [ %s ] 值变化,新值 [ %f ]", strTagName.c_str(), dValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_idlfile::SOptSetDataMsg *pSetData = m_objSetAiToDp.add_seq_set_data_info();
|
iot_idl::SOptSetDataMsg *pSetData = m_objSetAiToDp.add_seq_set_data_info();
|
||||||
pSetData->set_str_tag_name(strTagName);
|
pSetData->set_str_tag_name(strTagName);
|
||||||
pSetData->set_u_add_status(0);
|
pSetData->set_u_add_status(0);
|
||||||
pSetData->set_u_del_status(objSrv.getInvalidStatus_AI());
|
pSetData->set_u_del_status(objSrv.getInvalidStatus_AI());
|
||||||
|
|
||||||
pSetData->mutable_var_value()->set_edatatype(kbd_idlfile::CN_DATATYPE_DOUBLE);
|
pSetData->mutable_var_value()->set_edatatype(iot_idl::CN_DATATYPE_DOUBLE);
|
||||||
pSetData->mutable_var_value()->set_dvalue(dValue);
|
pSetData->mutable_var_value()->set_dvalue(dValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -605,12 +605,12 @@ void CThreadAnalog::handleOutput()
|
|||||||
LOGDEBUG("handleOutput(): DI量 [ %s ] 值变化,新值 [ %d ]", strTagName.c_str(), nTimeout);
|
LOGDEBUG("handleOutput(): DI量 [ %s ] 值变化,新值 [ %d ]", strTagName.c_str(), nTimeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_idlfile::SOptSetDataMsg *pSetData = m_objSetDiToDp.add_seq_set_data_info();
|
iot_idl::SOptSetDataMsg *pSetData = m_objSetDiToDp.add_seq_set_data_info();
|
||||||
pSetData->set_str_tag_name(strTagName);
|
pSetData->set_str_tag_name(strTagName);
|
||||||
pSetData->set_u_add_status(0);
|
pSetData->set_u_add_status(0);
|
||||||
pSetData->set_u_del_status(objSrv.getInvalidStatus_DI());
|
pSetData->set_u_del_status(objSrv.getInvalidStatus_DI());
|
||||||
|
|
||||||
pSetData->mutable_var_value()->set_edatatype(kbd_idlfile::CN_DATATYPE_INT32);
|
pSetData->mutable_var_value()->set_edatatype(iot_idl::CN_DATATYPE_INT32);
|
||||||
pSetData->mutable_var_value()->set_nvalue(nTimeout);
|
pSetData->mutable_var_value()->set_nvalue(nTimeout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -621,15 +621,15 @@ void CThreadAnalog::handleOutput()
|
|||||||
if (m_objSetAiToDp.seq_set_data_info_size() > 0)
|
if (m_objSetAiToDp.seq_set_data_info_size() > 0)
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
kbd_idlfile::SOptDataPkgHead *pHead = m_objSetAiToDp.mutable_package_head();
|
iot_idl::SOptDataPkgHead *pHead = m_objSetAiToDp.mutable_package_head();
|
||||||
//< 其他参数在构造函数已填充
|
//< 其他参数在构造函数已填充
|
||||||
pHead->set_n_opt_time(nTimeNow_UTC);
|
pHead->set_n_opt_time(nTimeNow_UTC);
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_net::CMbMessage objMbMsgSend;
|
iot_net::CMbMessage objMbMsgSend;
|
||||||
if (objMbMsgSend.setData(m_objSetAiToDp))
|
if (objMbMsgSend.setData(m_objSetAiToDp))
|
||||||
{
|
{
|
||||||
objMbMsgSend.setMsgType(kbd_idlfile::MT_OPT_SET_CAL_DATA_DOWN);
|
objMbMsgSend.setMsgType(iot_idl::MT_OPT_SET_CAL_DATA_DOWN);
|
||||||
objMbMsgSend.setSubject(objSrv.getAppID(), CH_OPT_TO_SCADA_VALUE_SET);
|
objMbMsgSend.setSubject(objSrv.getAppID(), CH_OPT_TO_SCADA_VALUE_SET);
|
||||||
objMbMsgSend.setPara1(objSrv.getDomainID());
|
objMbMsgSend.setPara1(objSrv.getDomainID());
|
||||||
|
|
||||||
@ -658,15 +658,15 @@ void CThreadAnalog::handleOutput()
|
|||||||
if (m_objSetDiToDp.seq_set_data_info_size() > 0)
|
if (m_objSetDiToDp.seq_set_data_info_size() > 0)
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
kbd_idlfile::SOptDataPkgHead *pHead = m_objSetDiToDp.mutable_package_head();
|
iot_idl::SOptDataPkgHead *pHead = m_objSetDiToDp.mutable_package_head();
|
||||||
//< 其他参数在构造函数已填充
|
//< 其他参数在构造函数已填充
|
||||||
pHead->set_n_opt_time(nTimeNow_UTC);
|
pHead->set_n_opt_time(nTimeNow_UTC);
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_net::CMbMessage objMbMsgSend;
|
iot_net::CMbMessage objMbMsgSend;
|
||||||
if (objMbMsgSend.setData(m_objSetDiToDp))
|
if (objMbMsgSend.setData(m_objSetDiToDp))
|
||||||
{
|
{
|
||||||
objMbMsgSend.setMsgType(kbd_idlfile::MT_OPT_SET_CAL_DATA_DOWN);
|
objMbMsgSend.setMsgType(iot_idl::MT_OPT_SET_CAL_DATA_DOWN);
|
||||||
objMbMsgSend.setSubject(objSrv.getAppID(), CH_OPT_TO_SCADA_VALUE_SET);
|
objMbMsgSend.setSubject(objSrv.getAppID(), CH_OPT_TO_SCADA_VALUE_SET);
|
||||||
objMbMsgSend.setPara1(objSrv.getDomainID());
|
objMbMsgSend.setPara1(objSrv.getDomainID());
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ namespace kbd_application
|
|||||||
{
|
{
|
||||||
|
|
||||||
class CThreadAnalog
|
class CThreadAnalog
|
||||||
: private kbd_public::CTimerThreadBase
|
: private iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CThreadAnalog();
|
CThreadAnalog();
|
||||||
@ -37,7 +37,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void execute() override;
|
void execute() override;
|
||||||
|
|
||||||
bool handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv);
|
bool handleOptCtrlReq(const iot_net::CMbMessage &objMbMsgRcv);
|
||||||
|
|
||||||
void handleOutput();
|
void handleOutput();
|
||||||
|
|
||||||
@ -48,13 +48,13 @@ private:
|
|||||||
//< 上一次输出完整断面的时间,开机后ms数
|
//< 上一次输出完整断面的时间,开机后ms数
|
||||||
boost::int64_t m_nLastFullOutputTime;
|
boost::int64_t m_nLastFullOutputTime;
|
||||||
|
|
||||||
kbd_net::CMbCommunicator *m_pMbComm;
|
iot_net::CMbCommunicator *m_pMbComm;
|
||||||
|
|
||||||
kbd_dbms::CRdbAccess m_objRtdb_apc_analog;
|
iot_dbms::CRdbAccess m_objRtdb_apc_analog;
|
||||||
|
|
||||||
//< 常驻有利于降低构造、释放开销
|
//< 常驻有利于降低构造、释放开销
|
||||||
kbd_idlfile::SOptSetDataPkg m_objSetAiToDp;
|
iot_idl::SOptSetDataPkg m_objSetAiToDp;
|
||||||
kbd_idlfile::SOptSetDataPkg m_objSetDiToDp; //< 超时状态输出
|
iot_idl::SOptSetDataPkg m_objSetDiToDp; //< 超时状态输出
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -61,7 +61,7 @@ CThreadDigital::CThreadDigital() :
|
|||||||
|
|
||||||
//< 初始化 m_objSetDataToDp Head 部分信息,不用运行时每次都填充,提高效率
|
//< 初始化 m_objSetDataToDp Head 部分信息,不用运行时每次都填充,提高效率
|
||||||
{
|
{
|
||||||
kbd_idlfile::SOptDataPkgHead *pHead = m_objSetDataToDp.mutable_package_head();
|
iot_idl::SOptDataPkgHead *pHead = m_objSetDataToDp.mutable_package_head();
|
||||||
|
|
||||||
pHead->set_str_src_tag(g_pSzProcName);
|
pHead->set_str_src_tag(g_pSzProcName);
|
||||||
pHead->set_b_not_alarm(false); //< 若是true,则DP不产生报警和事件
|
pHead->set_b_not_alarm(false); //< 若是true,则DP不产生报警和事件
|
||||||
@ -71,7 +71,7 @@ CThreadDigital::CThreadDigital() :
|
|||||||
//pHead->set_para1(CApcIfSrv::getInstance().getDomainID());
|
//pHead->set_para1(CApcIfSrv::getInstance().getDomainID());
|
||||||
|
|
||||||
//< 实际发送时填充
|
//< 实际发送时填充
|
||||||
//pHead->set_nopttime(kbd_public::getUTCTimeMsec());
|
//pHead->set_nopttime(iot_public::getUTCTimeMsec());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ bool CThreadDigital::resumeThread()
|
|||||||
//< 构建通讯器
|
//< 构建通讯器
|
||||||
if (NULL == m_pMbComm)
|
if (NULL == m_pMbComm)
|
||||||
{
|
{
|
||||||
m_pMbComm = new kbd_net::CMbCommunicator();
|
m_pMbComm = new iot_net::CMbCommunicator();
|
||||||
}
|
}
|
||||||
|
|
||||||
const int nAppId = CApcIfSrv::getInstance().getAppID();
|
const int nAppId = CApcIfSrv::getInstance().getAppID();
|
||||||
@ -164,7 +164,7 @@ void CThreadDigital::execute()
|
|||||||
|
|
||||||
//< 接收并处理消息
|
//< 接收并处理消息
|
||||||
{
|
{
|
||||||
kbd_net::CMbMessage objMbMsgRcv;
|
iot_net::CMbMessage objMbMsgRcv;
|
||||||
if (m_pMbComm->recvMsg(objMbMsgRcv, 500))
|
if (m_pMbComm->recvMsg(objMbMsgRcv, 500))
|
||||||
{
|
{
|
||||||
const int nChannelID = objMbMsgRcv.getChannelID();
|
const int nChannelID = objMbMsgRcv.getChannelID();
|
||||||
@ -174,11 +174,11 @@ void CThreadDigital::execute()
|
|||||||
{
|
{
|
||||||
switch (nMsgType)
|
switch (nMsgType)
|
||||||
{
|
{
|
||||||
case kbd_idlfile::MT_OPT2APP_VIRT_CTRL_DIG_REQUEST:
|
case iot_idl::MT_OPT2APP_VIRT_CTRL_DIG_REQUEST:
|
||||||
handleOptCtrlReq(objMbMsgRcv);
|
handleOptCtrlReq(objMbMsgRcv);
|
||||||
break;
|
break;
|
||||||
case kbd_idlfile::MT_OPT2APP_VIRT_CTRL_ANA_REQUEST:
|
case iot_idl::MT_OPT2APP_VIRT_CTRL_ANA_REQUEST:
|
||||||
case kbd_idlfile::MT_OPT2APP_VIRT_CTRL_MIX_REQUEST:
|
case iot_idl::MT_OPT2APP_VIRT_CTRL_MIX_REQUEST:
|
||||||
//< 无需处理
|
//< 无需处理
|
||||||
break;
|
break;
|
||||||
default: LOGERROR("execute(): 无效的消息类型 nMsgType = %d ,忽略消息!", nMsgType);
|
default: LOGERROR("execute(): 无效的消息类型 nMsgType = %d ,忽略消息!", nMsgType);
|
||||||
@ -198,10 +198,10 @@ void CThreadDigital::execute()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool CThreadDigital::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
bool CThreadDigital::handleOptCtrlReq(const iot_net::CMbMessage &objMbMsgRcv)
|
||||||
{
|
{
|
||||||
//< 反序列化
|
//< 反序列化
|
||||||
kbd_idlfile::SOptVirtCtrlRequest objRequest;
|
iot_idl::SOptVirtCtrlRequest objRequest;
|
||||||
bool bRc = objRequest.ParseFromArray(objMbMsgRcv.getDataPtr(), (int) objMbMsgRcv.getDataSize());
|
bool bRc = objRequest.ParseFromArray(objMbMsgRcv.getDataPtr(), (int) objMbMsgRcv.getDataSize());
|
||||||
if (!bRc)
|
if (!bRc)
|
||||||
{
|
{
|
||||||
@ -226,7 +226,7 @@ bool CThreadDigital::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
|
|
||||||
{
|
{
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_digital);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_digital);
|
||||||
|
|
||||||
const int nRcdIndex = m_objRtdb_apc_digital.searchRecordByKey(strKeyIdTag.c_str());
|
const int nRcdIndex = m_objRtdb_apc_digital.searchRecordByKey(strKeyIdTag.c_str());
|
||||||
if (nRcdIndex < 0)
|
if (nRcdIndex < 0)
|
||||||
@ -243,8 +243,8 @@ bool CThreadDigital::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
||||||
|
|
||||||
//< 预设置回复消息
|
//< 预设置回复消息
|
||||||
kbd_idlfile::SOptVirtCtrlReply objReply;
|
iot_idl::SOptVirtCtrlReply objReply;
|
||||||
kbd_net::CMbMessage objMbMSgRep;
|
iot_net::CMbMessage objMbMSgRep;
|
||||||
{
|
{
|
||||||
objReply.set_str_tab_name(objRequest.str_tab_name());
|
objReply.set_str_tab_name(objRequest.str_tab_name());
|
||||||
objReply.set_str_tag_name(objRequest.str_tag_name());
|
objReply.set_str_tag_name(objRequest.str_tag_name());
|
||||||
@ -256,7 +256,7 @@ bool CThreadDigital::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
|
|
||||||
objReply.set_str_source_tag(g_pSzProcName);
|
objReply.set_str_source_tag(g_pSzProcName);
|
||||||
|
|
||||||
objMbMSgRep.setMsgType(kbd_idlfile::MT_APP2OPT_VIRT_CTRL_DIG_REPLY);
|
objMbMSgRep.setMsgType(iot_idl::MT_APP2OPT_VIRT_CTRL_DIG_REPLY);
|
||||||
objMbMSgRep.setSubject(objSrv.getAppID(),
|
objMbMSgRep.setSubject(objSrv.getAppID(),
|
||||||
CH_APP_TO_OPT_VIRT_CTRL);
|
CH_APP_TO_OPT_VIRT_CTRL);
|
||||||
//< 后续设置
|
//< 后续设置
|
||||||
@ -265,7 +265,7 @@ bool CThreadDigital::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 控制目标值
|
//< 控制目标值
|
||||||
if (kbd_idlfile::CN_DATATYPE_INT32 != objRequest.var_value().edatatype()
|
if (iot_idl::CN_DATATYPE_INT32 != objRequest.var_value().edatatype()
|
||||||
|| !(objRequest.var_value().has_nvalue()))
|
|| !(objRequest.var_value().has_nvalue()))
|
||||||
{
|
{
|
||||||
const std::string strErr = I18N("控制目标值非法,控制消息中var_value不是INT32或nValue未填充!");
|
const std::string strErr = I18N("控制目标值非法,控制消息中var_value不是INT32或nValue未填充!");
|
||||||
@ -291,7 +291,7 @@ bool CThreadDigital::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
//< 提交模型修改
|
//< 提交模型修改
|
||||||
{
|
{
|
||||||
bool bModelCommOk = true;
|
bool bModelCommOk = true;
|
||||||
kbd_dbms::CDbApi objDb( DB_CONN_MODEL_WRITE );
|
iot_dbms::CDbApi objDb( DB_CONN_MODEL_WRITE );
|
||||||
|
|
||||||
QString strSql;
|
QString strSql;
|
||||||
|
|
||||||
@ -325,19 +325,19 @@ bool CThreadDigital::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
//< 失败时的报警内容
|
//< 失败时的报警内容
|
||||||
if ( !bModelCommOk )
|
if ( !bModelCommOk )
|
||||||
{
|
{
|
||||||
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_OPERATE ); //< 人工操作
|
pAlmInfo->set_alm_type( iot_service::ALM_TYPE_OPERATE ); //< 人工操作
|
||||||
pAlmInfo->set_time_stamp( kbd_public::getUTCTimeMsec());
|
pAlmInfo->set_time_stamp( iot_public::getUTCTimeMsec());
|
||||||
pAlmInfo->set_status( kbd_service::ALM_STAT_OPT_MODEL_MODIFY ); //< 模型修改
|
pAlmInfo->set_status( iot_service::ALM_STAT_OPT_MODEL_MODIFY ); //< 模型修改
|
||||||
pAlmInfo->set_location_id( objSrv.getLocationID());
|
pAlmInfo->set_location_id( objSrv.getLocationID());
|
||||||
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( strSql.toStdString() + I18N( " 提交失败" ).str());
|
pAlmKeyword->set_value( strSql.toStdString() + I18N( " 提交失败" ).str());
|
||||||
|
|
||||||
objSrv.addAlarm( objAddAlm );
|
objSrv.addAlarm( objAddAlm );
|
||||||
@ -347,9 +347,9 @@ bool CThreadDigital::handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv)
|
|||||||
//< 更新实时库
|
//< 更新实时库
|
||||||
{
|
{
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_digital);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_digital);
|
||||||
|
|
||||||
kbd_dbms::CVarType varCtrlValue(nCtrlValue);
|
iot_dbms::CVarType varCtrlValue(nCtrlValue);
|
||||||
bRc = m_objRtdb_apc_digital.setColumnValueByKey(strKeyIdTag.c_str(), "value", varCtrlValue);
|
bRc = m_objRtdb_apc_digital.setColumnValueByKey(strKeyIdTag.c_str(), "value", varCtrlValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -394,7 +394,7 @@ void CThreadDigital::handleOutput()
|
|||||||
{
|
{
|
||||||
bool bFullOutput = false; //< 本次执行是否全输出
|
bool bFullOutput = false; //< 本次执行是否全输出
|
||||||
|
|
||||||
const boost::int64_t nTimeNow = kbd_public::getMonotonicMsec();
|
const boost::int64_t nTimeNow = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
const CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
const CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
||||||
|
|
||||||
@ -408,10 +408,10 @@ void CThreadDigital::handleOutput()
|
|||||||
//< 括号,控制锁表生命周期
|
//< 括号,控制锁表生命周期
|
||||||
{
|
{
|
||||||
bool bValChanged = false;
|
bool bValChanged = false;
|
||||||
kbd_dbms::CVarType objValue;
|
iot_dbms::CVarType objValue;
|
||||||
|
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_digital);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_digital);
|
||||||
|
|
||||||
const int nRcdCnt = m_objRtdb_apc_digital.getRecordCount();
|
const int nRcdCnt = m_objRtdb_apc_digital.getRecordCount();
|
||||||
for (int nRcdIdx = 0; nRcdIdx < nRcdCnt; ++nRcdIdx)
|
for (int nRcdIdx = 0; nRcdIdx < nRcdCnt; ++nRcdIdx)
|
||||||
@ -469,12 +469,12 @@ void CThreadDigital::handleOutput()
|
|||||||
LOGDEBUG("handleOutput(): DI量 [ %s ] 值变化,新值 [ %d ]", strTagName.c_str(), nValue);
|
LOGDEBUG("handleOutput(): DI量 [ %s ] 值变化,新值 [ %d ]", strTagName.c_str(), nValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_idlfile::SOptSetDataMsg *pSetData = m_objSetDataToDp.add_seq_set_data_info();
|
iot_idl::SOptSetDataMsg *pSetData = m_objSetDataToDp.add_seq_set_data_info();
|
||||||
pSetData->set_str_tag_name(strTagName);
|
pSetData->set_str_tag_name(strTagName);
|
||||||
pSetData->set_u_add_status(0);
|
pSetData->set_u_add_status(0);
|
||||||
pSetData->set_u_del_status(objSrv.getInvalidStatus_DI());
|
pSetData->set_u_del_status(objSrv.getInvalidStatus_DI());
|
||||||
|
|
||||||
pSetData->mutable_var_value()->set_edatatype(kbd_idlfile::CN_DATATYPE_INT32);
|
pSetData->mutable_var_value()->set_edatatype(iot_idl::CN_DATATYPE_INT32);
|
||||||
pSetData->mutable_var_value()->set_nvalue(nValue);
|
pSetData->mutable_var_value()->set_nvalue(nValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -485,15 +485,15 @@ void CThreadDigital::handleOutput()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
{
|
{
|
||||||
kbd_idlfile::SOptDataPkgHead *pHead = m_objSetDataToDp.mutable_package_head();
|
iot_idl::SOptDataPkgHead *pHead = m_objSetDataToDp.mutable_package_head();
|
||||||
//< 其他参数在构造函数已填充
|
//< 其他参数在构造函数已填充
|
||||||
pHead->set_n_opt_time(kbd_public::getUTCTimeMsec());
|
pHead->set_n_opt_time(iot_public::getUTCTimeMsec());
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_net::CMbMessage objMbMsgSend;
|
iot_net::CMbMessage objMbMsgSend;
|
||||||
if (objMbMsgSend.setData(m_objSetDataToDp))
|
if (objMbMsgSend.setData(m_objSetDataToDp))
|
||||||
{
|
{
|
||||||
objMbMsgSend.setMsgType(kbd_idlfile::MT_OPT_SET_CAL_DATA_DOWN);
|
objMbMsgSend.setMsgType(iot_idl::MT_OPT_SET_CAL_DATA_DOWN);
|
||||||
objMbMsgSend.setSubject(objSrv.getAppID(), CH_OPT_TO_SCADA_VALUE_SET);
|
objMbMsgSend.setSubject(objSrv.getAppID(), CH_OPT_TO_SCADA_VALUE_SET);
|
||||||
objMbMsgSend.setPara1(objSrv.getDomainID());
|
objMbMsgSend.setPara1(objSrv.getDomainID());
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ namespace kbd_application
|
|||||||
{
|
{
|
||||||
|
|
||||||
class CThreadDigital
|
class CThreadDigital
|
||||||
: private kbd_public::CTimerThreadBase
|
: private iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CThreadDigital();
|
CThreadDigital();
|
||||||
@ -37,7 +37,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void execute() override;
|
void execute() override;
|
||||||
|
|
||||||
bool handleOptCtrlReq(const kbd_net::CMbMessage &objMbMsgRcv);
|
bool handleOptCtrlReq(const iot_net::CMbMessage &objMbMsgRcv);
|
||||||
|
|
||||||
void handleOutput();
|
void handleOutput();
|
||||||
|
|
||||||
@ -48,12 +48,12 @@ private:
|
|||||||
//< 上一次输出完整断面的时间,开机后ms数
|
//< 上一次输出完整断面的时间,开机后ms数
|
||||||
boost::int64_t m_nLastFullOutputTime;
|
boost::int64_t m_nLastFullOutputTime;
|
||||||
|
|
||||||
kbd_net::CMbCommunicator *m_pMbComm;
|
iot_net::CMbCommunicator *m_pMbComm;
|
||||||
|
|
||||||
kbd_dbms::CRdbAccess m_objRtdb_apc_digital;
|
iot_dbms::CRdbAccess m_objRtdb_apc_digital;
|
||||||
|
|
||||||
//< 常驻有利于降低构造、释放开销
|
//< 常驻有利于降低构造、释放开销
|
||||||
kbd_idlfile::SOptSetDataPkg m_objSetDataToDp;
|
iot_idl::SOptSetDataPkg m_objSetDataToDp;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -66,7 +66,7 @@ CThreadLocalCurve::CThreadLocalCurve() :
|
|||||||
|
|
||||||
//< 初始化 m_objSetAiToDp Head 部分信息,不用运行时每次都填充,提高效率
|
//< 初始化 m_objSetAiToDp Head 部分信息,不用运行时每次都填充,提高效率
|
||||||
{
|
{
|
||||||
kbd_idlfile::SOptDataPkgHead* pHead = m_objSetAiToDp.mutable_package_head();
|
iot_idl::SOptDataPkgHead* pHead = m_objSetAiToDp.mutable_package_head();
|
||||||
|
|
||||||
pHead->set_str_src_tag(g_pSzProcName);
|
pHead->set_str_src_tag(g_pSzProcName);
|
||||||
pHead->set_b_not_alarm(false); //< 若是true,则DP不产生报警和事件
|
pHead->set_b_not_alarm(false); //< 若是true,则DP不产生报警和事件
|
||||||
@ -76,7 +76,7 @@ CThreadLocalCurve::CThreadLocalCurve() :
|
|||||||
//pHead->set_para1(CApcIfSrv::getInstance().getDomainID());
|
//pHead->set_para1(CApcIfSrv::getInstance().getDomainID());
|
||||||
|
|
||||||
//< 实际发送时填充
|
//< 实际发送时填充
|
||||||
//pHead->set_nopttime(kbd_public::getUTCTimeMsec());
|
//pHead->set_nopttime(iot_public::getUTCTimeMsec());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ bool CThreadLocalCurve::resumeThread()
|
|||||||
//< 构建通讯器
|
//< 构建通讯器
|
||||||
if (NULL == m_pMbComm)
|
if (NULL == m_pMbComm)
|
||||||
{
|
{
|
||||||
m_pMbComm = new kbd_net::CMbCommunicator();
|
m_pMbComm = new iot_net::CMbCommunicator();
|
||||||
}
|
}
|
||||||
|
|
||||||
const int nAppId = CApcIfSrv::getInstance().getAppID();
|
const int nAppId = CApcIfSrv::getInstance().getAppID();
|
||||||
@ -188,9 +188,9 @@ void CThreadLocalCurve::execute()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
//< 更新时间
|
//< 更新时间
|
||||||
m_nSteadyTimeNow = kbd_public::getMonotonicMsec();
|
m_nSteadyTimeNow = iot_public::getMonotonicMsec();
|
||||||
m_nUtcTimeNow = kbd_public::getUTCTimeMsec();
|
m_nUtcTimeNow = iot_public::getUTCTimeMsec();
|
||||||
kbd_public::getLocalSysTime(m_stLocalTimeNow);
|
iot_public::getLocalSysTime(m_stLocalTimeNow);
|
||||||
m_nSecondsOfDay = (m_stLocalTimeNow.wHour * 60 * 60) +
|
m_nSecondsOfDay = (m_stLocalTimeNow.wHour * 60 * 60) +
|
||||||
(m_stLocalTimeNow.wMinute * 60) +
|
(m_stLocalTimeNow.wMinute * 60) +
|
||||||
m_stLocalTimeNow.wSecond;
|
m_stLocalTimeNow.wSecond;
|
||||||
@ -209,10 +209,10 @@ void CThreadLocalCurve::execute()
|
|||||||
{
|
{
|
||||||
SCurve stCurve;
|
SCurve stCurve;
|
||||||
SYearWeekRule stYearWeekRule;
|
SYearWeekRule stYearWeekRule;
|
||||||
kbd_dbms::CVarType rtdbValue;
|
iot_dbms::CVarType rtdbValue;
|
||||||
|
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_curve);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_curve);
|
||||||
|
|
||||||
const int nRcdCnt = m_objRtdb_apc_curve.getRecordCount();
|
const int nRcdCnt = m_objRtdb_apc_curve.getRecordCount();
|
||||||
for (int nRcdIdx = 0; nRcdIdx < nRcdCnt; ++nRcdIdx)
|
for (int nRcdIdx = 0; nRcdIdx < nRcdCnt; ++nRcdIdx)
|
||||||
@ -324,12 +324,12 @@ void CThreadLocalCurve::execute()
|
|||||||
LOGDEBUG("execute(): AI量 [ %s ] 值变化,新值 [ %f ]", strTagName.c_str(), dValue);
|
LOGDEBUG("execute(): AI量 [ %s ] 值变化,新值 [ %f ]", strTagName.c_str(), dValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_idlfile::SOptSetDataMsg *pSetData = m_objSetAiToDp.add_seq_set_data_info();
|
iot_idl::SOptSetDataMsg *pSetData = m_objSetAiToDp.add_seq_set_data_info();
|
||||||
pSetData->set_str_tag_name(strTagName);
|
pSetData->set_str_tag_name(strTagName);
|
||||||
pSetData->set_u_add_status(0);
|
pSetData->set_u_add_status(0);
|
||||||
pSetData->set_u_del_status(objSrv.getInvalidStatus_AI());
|
pSetData->set_u_del_status(objSrv.getInvalidStatus_AI());
|
||||||
|
|
||||||
pSetData->mutable_var_value()->set_edatatype(kbd_idlfile::CN_DATATYPE_DOUBLE);
|
pSetData->mutable_var_value()->set_edatatype(iot_idl::CN_DATATYPE_DOUBLE);
|
||||||
pSetData->mutable_var_value()->set_dvalue(dValue);
|
pSetData->mutable_var_value()->set_dvalue(dValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -339,15 +339,15 @@ void CThreadLocalCurve::execute()
|
|||||||
if (m_objSetAiToDp.seq_set_data_info_size() > 0)
|
if (m_objSetAiToDp.seq_set_data_info_size() > 0)
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
kbd_idlfile::SOptDataPkgHead *pHead = m_objSetAiToDp.mutable_package_head();
|
iot_idl::SOptDataPkgHead *pHead = m_objSetAiToDp.mutable_package_head();
|
||||||
//< 其他参数在构造函数已填充
|
//< 其他参数在构造函数已填充
|
||||||
pHead->set_n_opt_time(m_nUtcTimeNow);
|
pHead->set_n_opt_time(m_nUtcTimeNow);
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_net::CMbMessage objMbMsgSend;
|
iot_net::CMbMessage objMbMsgSend;
|
||||||
if (objMbMsgSend.setData(m_objSetAiToDp))
|
if (objMbMsgSend.setData(m_objSetAiToDp))
|
||||||
{
|
{
|
||||||
objMbMsgSend.setMsgType(kbd_idlfile::MT_OPT_SET_CAL_DATA_DOWN);
|
objMbMsgSend.setMsgType(iot_idl::MT_OPT_SET_CAL_DATA_DOWN);
|
||||||
objMbMsgSend.setSubject(objSrv.getAppID(), CH_OPT_TO_SCADA_VALUE_SET);
|
objMbMsgSend.setSubject(objSrv.getAppID(), CH_OPT_TO_SCADA_VALUE_SET);
|
||||||
objMbMsgSend.setPara1(objSrv.getDomainID());
|
objMbMsgSend.setPara1(objSrv.getDomainID());
|
||||||
|
|
||||||
@ -381,7 +381,7 @@ void CThreadLocalCurve::execute()
|
|||||||
//< 本函数内部不锁 apc_curve 表,外部加锁
|
//< 本函数内部不锁 apc_curve 表,外部加锁
|
||||||
bool CThreadLocalCurve::getCurveByIndex(const int nIndex, SCurve &stCurve)
|
bool CThreadLocalCurve::getCurveByIndex(const int nIndex, SCurve &stCurve)
|
||||||
{
|
{
|
||||||
kbd_dbms::CVarType objValue;
|
iot_dbms::CVarType objValue;
|
||||||
|
|
||||||
if (!m_objRtdb_apc_curve.getColumnValueByIndex(nIndex, "key_id_tag", objValue))
|
if (!m_objRtdb_apc_curve.getColumnValueByIndex(nIndex, "key_id_tag", objValue))
|
||||||
{
|
{
|
||||||
@ -440,34 +440,34 @@ bool CThreadLocalCurve::getYearWeekRule(const int nTypeId, CThreadLocalCurve::SY
|
|||||||
CThreadLocalCurve::SYearWeekRule &stRuleInCache = m_mapYearWeekRuleCache[nTypeId];
|
CThreadLocalCurve::SYearWeekRule &stRuleInCache = m_mapYearWeekRuleCache[nTypeId];
|
||||||
stRule = stRuleInCache;
|
stRule = stRuleInCache;
|
||||||
|
|
||||||
kbd_dbms::CVarType rdbVal;
|
iot_dbms::CVarType rdbVal;
|
||||||
|
|
||||||
//< 找 apc_curve_year 表
|
//< 找 apc_curve_year 表
|
||||||
{
|
{
|
||||||
kbd_dbms::CRdbQueryResult rdbResult;
|
iot_dbms::CRdbQueryResult rdbResult;
|
||||||
|
|
||||||
std::vector<kbd_dbms::CONDINFO> vecCondInfo;
|
std::vector<iot_dbms::CONDINFO> vecCondInfo;
|
||||||
{
|
{
|
||||||
kbd_dbms::CRdbPublic::addCondInfo
|
iot_dbms::CRdbPublic::addCondInfo
|
||||||
(vecCondInfo, "type_id", nTypeId, ATTRCOND_EQU, ATTRCOND_AND);
|
(vecCondInfo, "type_id", nTypeId, ATTRCOND_EQU, ATTRCOND_AND);
|
||||||
|
|
||||||
//< 开始时间 小于等于 当前
|
//< 开始时间 小于等于 当前
|
||||||
kbd_dbms::CRdbPublic::addCondInfo
|
iot_dbms::CRdbPublic::addCondInfo
|
||||||
(vecCondInfo, "month_begin", m_stLocalTimeNow.wMonth, ATTRCOND_SMALLEQU, ATTRCOND_AND);
|
(vecCondInfo, "month_begin", m_stLocalTimeNow.wMonth, ATTRCOND_SMALLEQU, ATTRCOND_AND);
|
||||||
kbd_dbms::CRdbPublic::addCondInfo
|
iot_dbms::CRdbPublic::addCondInfo
|
||||||
(vecCondInfo, "day_begin", m_stLocalTimeNow.wDay, ATTRCOND_SMALLEQU, ATTRCOND_AND);
|
(vecCondInfo, "day_begin", m_stLocalTimeNow.wDay, ATTRCOND_SMALLEQU, ATTRCOND_AND);
|
||||||
|
|
||||||
//< 结束时间 大于等于 当前
|
//< 结束时间 大于等于 当前
|
||||||
kbd_dbms::CRdbPublic::addCondInfo
|
iot_dbms::CRdbPublic::addCondInfo
|
||||||
(vecCondInfo, "month_end", m_stLocalTimeNow.wMonth, ATTRCOND_LARGEEQU, ATTRCOND_AND);
|
(vecCondInfo, "month_end", m_stLocalTimeNow.wMonth, ATTRCOND_LARGEEQU, ATTRCOND_AND);
|
||||||
kbd_dbms::CRdbPublic::addCondInfo
|
iot_dbms::CRdbPublic::addCondInfo
|
||||||
(vecCondInfo, "day_end", m_stLocalTimeNow.wDay, ATTRCOND_LARGEEQU, ATTRCOND_AND);
|
(vecCondInfo, "day_end", m_stLocalTimeNow.wDay, ATTRCOND_LARGEEQU, ATTRCOND_AND);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const std::vector<std::string> vecSelectCol({"year_rule_id", "exctption"});
|
static const std::vector<std::string> vecSelectCol({"year_rule_id", "exctption"});
|
||||||
|
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_curve_year);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_curve_year);
|
||||||
|
|
||||||
if (!m_objRtdb_apc_curve_year.select(vecCondInfo, rdbResult, vecSelectCol))
|
if (!m_objRtdb_apc_curve_year.select(vecCondInfo, rdbResult, vecSelectCol))
|
||||||
{
|
{
|
||||||
@ -518,7 +518,7 @@ bool CThreadLocalCurve::getYearWeekRule(const int nTypeId, CThreadLocalCurve::SY
|
|||||||
objKey.m_nWeekDay = m_stLocalTimeNow.wDayOfWeek;
|
objKey.m_nWeekDay = m_stLocalTimeNow.wDayOfWeek;
|
||||||
|
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_curve_week);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_curve_week);
|
||||||
|
|
||||||
const int nRecIndex = m_objRtdb_apc_curve_week.searchRecordByKey(&objKey);
|
const int nRecIndex = m_objRtdb_apc_curve_week.searchRecordByKey(&objKey);
|
||||||
|
|
||||||
@ -559,10 +559,10 @@ int CThreadLocalCurve::getDayRuleId(const char *pSzKeyIdTag, const int nYearRule
|
|||||||
objKey.m_nYearRuleId = nYearRuleId;
|
objKey.m_nYearRuleId = nYearRuleId;
|
||||||
objKey.m_nWeekRuleId = nWeekRuleId;
|
objKey.m_nWeekRuleId = nWeekRuleId;
|
||||||
|
|
||||||
kbd_dbms::CVarType rdbVal;
|
iot_dbms::CVarType rdbVal;
|
||||||
|
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_curve_day_index);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_curve_day_index);
|
||||||
|
|
||||||
const int nRecIndex = m_objRtdb_apc_curve_day_index.searchRecordByKey(&objKey);
|
const int nRecIndex = m_objRtdb_apc_curve_day_index.searchRecordByKey(&objKey);
|
||||||
|
|
||||||
@ -593,23 +593,23 @@ bool CThreadLocalCurve::getCurveValue(const int nDayRuleId, double &dValue)
|
|||||||
//< 写入一个不会与实际ID冲突的记录,使map不为空
|
//< 写入一个不会与实际ID冲突的记录,使map不为空
|
||||||
m_mapDayValueCache[-999] = -999;
|
m_mapDayValueCache[-999] = -999;
|
||||||
|
|
||||||
kbd_dbms::CRdbQueryResult rdbResult;
|
iot_dbms::CRdbQueryResult rdbResult;
|
||||||
|
|
||||||
std::vector<kbd_dbms::CONDINFO> vecCondInfo;
|
std::vector<iot_dbms::CONDINFO> vecCondInfo;
|
||||||
{
|
{
|
||||||
//< 开始时间 小于等于 当前
|
//< 开始时间 小于等于 当前
|
||||||
kbd_dbms::CRdbPublic::addCondInfo
|
iot_dbms::CRdbPublic::addCondInfo
|
||||||
(vecCondInfo, "start_sec", m_nSecondsOfDay, ATTRCOND_SMALLEQU, ATTRCOND_AND);
|
(vecCondInfo, "start_sec", m_nSecondsOfDay, ATTRCOND_SMALLEQU, ATTRCOND_AND);
|
||||||
|
|
||||||
//< 结束时间 大于等于 当前
|
//< 结束时间 大于等于 当前
|
||||||
kbd_dbms::CRdbPublic::addCondInfo
|
iot_dbms::CRdbPublic::addCondInfo
|
||||||
(vecCondInfo, "end_sec", m_nSecondsOfDay, ATTRCOND_LARGEEQU, ATTRCOND_AND);
|
(vecCondInfo, "end_sec", m_nSecondsOfDay, ATTRCOND_LARGEEQU, ATTRCOND_AND);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const std::vector<std::string> vecSelectColumn = {"day_rule_id", "value"};
|
static const std::vector<std::string> vecSelectColumn = {"day_rule_id", "value"};
|
||||||
|
|
||||||
//< 锁表
|
//< 锁表
|
||||||
kbd_dbms::CTableLockGuard tableLock(m_objRtdb_apc_curve_day_value);
|
iot_dbms::CTableLockGuard tableLock(m_objRtdb_apc_curve_day_value);
|
||||||
|
|
||||||
if (!m_objRtdb_apc_curve_day_value.select(vecCondInfo, rdbResult, vecSelectColumn))
|
if (!m_objRtdb_apc_curve_day_value.select(vecCondInfo, rdbResult, vecSelectColumn))
|
||||||
{
|
{
|
||||||
@ -617,7 +617,7 @@ bool CThreadLocalCurve::getCurveValue(const int nDayRuleId, double &dValue)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_dbms::CVarType rdbVal_DayRuleId, rdbVal_Value;
|
iot_dbms::CVarType rdbVal_DayRuleId, rdbVal_Value;
|
||||||
|
|
||||||
const int nRowCnt = rdbResult.getRecordCount();
|
const int nRowCnt = rdbResult.getRecordCount();
|
||||||
for (int i = 0; i < nRowCnt; ++i)
|
for (int i = 0; i < nRowCnt; ++i)
|
||||||
@ -671,21 +671,21 @@ void CThreadLocalCurve::sendCfgErrAlarm(const std::string &strErr)
|
|||||||
|
|
||||||
LOGERROR("sendCfgErrAlarm(): %s", strErr.c_str());
|
LOGERROR("sendCfgErrAlarm(): %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();
|
||||||
|
|
||||||
CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
||||||
|
|
||||||
// 报警参数-必填项目
|
// 报警参数-必填项目
|
||||||
pAlmInfo->set_alm_type(kbd_service::ALM_TYPE_SYSTEM); //< 系统事件
|
pAlmInfo->set_alm_type(iot_service::ALM_TYPE_SYSTEM); //< 系统事件
|
||||||
pAlmInfo->set_time_stamp(m_nUtcTimeNow);
|
pAlmInfo->set_time_stamp(m_nUtcTimeNow);
|
||||||
pAlmInfo->set_status(kbd_service::ALM_STAT_SYS_PROC_ERROR); //< 进程故障
|
pAlmInfo->set_status(iot_service::ALM_STAT_SYS_PROC_ERROR); //< 进程故障
|
||||||
pAlmInfo->set_location_id(objSrv.getLocationID());
|
pAlmInfo->set_location_id(objSrv.getLocationID());
|
||||||
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);
|
||||||
|
|
||||||
objSrv.addAlarm(objAddAlm);
|
objSrv.addAlarm(objAddAlm);
|
||||||
@ -704,7 +704,7 @@ void CThreadLocalCurve::updateModelCurrentDayRuleId(const char *pSzKeyIdTag, con
|
|||||||
CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
CApcIfSrv &objSrv = CApcIfSrv::getInstance();
|
||||||
|
|
||||||
bool bModelCommOk = true;
|
bool bModelCommOk = true;
|
||||||
kbd_dbms::CDbApi objDb( DB_CONN_MODEL_WRITE );
|
iot_dbms::CDbApi objDb( DB_CONN_MODEL_WRITE );
|
||||||
|
|
||||||
QString strSql;
|
QString strSql;
|
||||||
|
|
||||||
@ -737,19 +737,19 @@ void CThreadLocalCurve::updateModelCurrentDayRuleId(const char *pSzKeyIdTag, con
|
|||||||
{
|
{
|
||||||
m_nLastUpdateModelAddAlmTime = m_nSteadyTimeNow;
|
m_nLastUpdateModelAddAlmTime = m_nSteadyTimeNow;
|
||||||
|
|
||||||
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_OPERATE ); //< 人工操作
|
pAlmInfo->set_alm_type( iot_service::ALM_TYPE_OPERATE ); //< 人工操作
|
||||||
pAlmInfo->set_time_stamp( kbd_public::getUTCTimeMsec());
|
pAlmInfo->set_time_stamp( iot_public::getUTCTimeMsec());
|
||||||
pAlmInfo->set_status( kbd_service::ALM_STAT_OPT_MODEL_MODIFY ); //< 模型修改
|
pAlmInfo->set_status( iot_service::ALM_STAT_OPT_MODEL_MODIFY ); //< 模型修改
|
||||||
pAlmInfo->set_location_id( objSrv.getLocationID());
|
pAlmInfo->set_location_id( objSrv.getLocationID());
|
||||||
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( strSql.toStdString() + I18N( " 提交失败" ).str());
|
pAlmKeyword->set_value( strSql.toStdString() + I18N( " 提交失败" ).str());
|
||||||
|
|
||||||
objSrv.addAlarm( objAddAlm );
|
objSrv.addAlarm( objAddAlm );
|
||||||
|
|||||||
@ -22,7 +22,7 @@ namespace kbd_application
|
|||||||
{
|
{
|
||||||
|
|
||||||
class CThreadLocalCurve
|
class CThreadLocalCurve
|
||||||
: private kbd_public::CTimerThreadBase
|
: private iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CThreadLocalCurve();
|
CThreadLocalCurve();
|
||||||
@ -95,9 +95,9 @@ private:
|
|||||||
//< 当前 UTC ms 时间
|
//< 当前 UTC ms 时间
|
||||||
boost::uint64_t m_nUtcTimeNow;
|
boost::uint64_t m_nUtcTimeNow;
|
||||||
|
|
||||||
kbd_net::CMbCommunicator *m_pMbComm;
|
iot_net::CMbCommunicator *m_pMbComm;
|
||||||
|
|
||||||
kbd_public::LOCALTIME m_stLocalTimeNow;
|
iot_public::LOCALTIME m_stLocalTimeNow;
|
||||||
|
|
||||||
//< 年、周规则缓存,kye 为 type_id,一个执行周期清空一次
|
//< 年、周规则缓存,kye 为 type_id,一个执行周期清空一次
|
||||||
std::map<int, SYearWeekRule> m_mapYearWeekRuleCache;
|
std::map<int, SYearWeekRule> m_mapYearWeekRuleCache;
|
||||||
@ -105,14 +105,14 @@ private:
|
|||||||
//< 日内数值缓存,kye 为 day_rule_id,value 为曲线当前值,一个执行周期清空一次
|
//< 日内数值缓存,kye 为 day_rule_id,value 为曲线当前值,一个执行周期清空一次
|
||||||
std::map<int, double> m_mapDayValueCache;
|
std::map<int, double> m_mapDayValueCache;
|
||||||
|
|
||||||
kbd_dbms::CRdbAccess m_objRtdb_apc_curve;
|
iot_dbms::CRdbAccess m_objRtdb_apc_curve;
|
||||||
kbd_dbms::CRdbAccess m_objRtdb_apc_curve_day_index;
|
iot_dbms::CRdbAccess m_objRtdb_apc_curve_day_index;
|
||||||
kbd_dbms::CRdbAccess m_objRtdb_apc_curve_day_value;
|
iot_dbms::CRdbAccess m_objRtdb_apc_curve_day_value;
|
||||||
kbd_dbms::CRdbAccess m_objRtdb_apc_curve_week;
|
iot_dbms::CRdbAccess m_objRtdb_apc_curve_week;
|
||||||
kbd_dbms::CRdbAccess m_objRtdb_apc_curve_year;
|
iot_dbms::CRdbAccess m_objRtdb_apc_curve_year;
|
||||||
|
|
||||||
//< 常驻有利于降低构造、释放开销
|
//< 常驻有利于降低构造、释放开销
|
||||||
kbd_idlfile::SOptSetDataPkg m_objSetAiToDp;
|
iot_idl::SOptSetDataPkg m_objSetAiToDp;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -3,8 +3,8 @@
|
|||||||
#include "pub_utility_api/SingleProcInstance.h"
|
#include "pub_utility_api/SingleProcInstance.h"
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
#define OPT_DESC_APP "app"
|
#define OPT_DESC_APP "app"
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CAtsTimeTable : public kbd_public::CBaseService, public kbd_sys::CProcessQuitInterface
|
class CAtsTimeTable : public iot_public::CBaseService, public iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CAtsTimeTable();
|
CAtsTimeTable();
|
||||||
@ -90,12 +90,12 @@ namespace kbd_app
|
|||||||
|
|
||||||
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; //< 冗余管理类
|
||||||
CAtsTimeTableRedundantSwitchPtr m_ptrAtsTimeTableRedundantSwitchMng; //< ats时间表服务管理类
|
CAtsTimeTableRedundantSwitchPtr m_ptrAtsTimeTableRedundantSwitchMng; //< ats时间表服务管理类
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
#include "CAtsTimeTableRedundantSwitch.h"
|
#include "CAtsTimeTableRedundantSwitch.h"
|
||||||
#include "pub_logger_api/logger.h"
|
#include "pub_logger_api/logger.h"
|
||||||
|
|
||||||
kbd_app::CAtsTimeTableRedundantSwitch::CAtsTimeTableRedundantSwitch(const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CAtsTimeTableRedundantSwitch::CAtsTimeTableRedundantSwitch(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_ptrAtsTimeTableThread(NULL)
|
m_ptrAtsTimeTableThread(NULL)
|
||||||
|
|||||||
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CAtsTimeTableRedundantSwitch : public kbd_sys::CRedundantSwitchInterface
|
class CAtsTimeTableRedundantSwitch : public iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CAtsTimeTableRedundantSwitch(const kbd_public::SRunAppInfo &stRunAppInfo,
|
CAtsTimeTableRedundantSwitch(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_sys::CProcMngInterfacePtr &ptrProcMng);
|
const iot_sys::CProcMngInterfacePtr &ptrProcMng);
|
||||||
virtual ~CAtsTimeTableRedundantSwitch();
|
virtual ~CAtsTimeTableRedundantSwitch();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -32,8 +32,8 @@ namespace kbd_app
|
|||||||
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; //< 进程管理访问库智能指针
|
||||||
CAtsTimeTableThreadPtr m_ptrAtsTimeTableThread; //< 定时更新ats时间表线程
|
CAtsTimeTableThreadPtr m_ptrAtsTimeTableThread; //< 定时更新ats时间表线程
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -8,8 +8,8 @@
|
|||||||
#include "pub_logger_api/logger.h"
|
#include "pub_logger_api/logger.h"
|
||||||
#include "CAtsTimeTableThread.h"
|
#include "CAtsTimeTableThread.h"
|
||||||
|
|
||||||
kbd_app::CAtsTimeTableThread::CAtsTimeTableThread(const kbd_public::SRunAppInfo &stRunAppInfo)
|
kbd_app::CAtsTimeTableThread::CAtsTimeTableThread(const iot_public::SRunAppInfo &stRunAppInfo)
|
||||||
:kbd_public::CTimerThreadBase("CAtsTimeTableThread", 10000),
|
:iot_public::CTimerThreadBase("CAtsTimeTableThread", 10000),
|
||||||
m_stRunAppInfo(stRunAppInfo),
|
m_stRunAppInfo(stRunAppInfo),
|
||||||
m_pDb(NULL)
|
m_pDb(NULL)
|
||||||
{
|
{
|
||||||
@ -24,7 +24,7 @@ kbd_app::CAtsTimeTableThread::~CAtsTimeTableThread()
|
|||||||
/* @brief 初始化 */
|
/* @brief 初始化 */
|
||||||
int kbd_app::CAtsTimeTableThread::initialize()
|
int kbd_app::CAtsTimeTableThread::initialize()
|
||||||
{
|
{
|
||||||
m_pDb = new kbd_dbms::CDbApi(DB_CONN_MODEL_WRITE);
|
m_pDb = new iot_dbms::CDbApi(DB_CONN_MODEL_WRITE);
|
||||||
if ( m_pDb->open() )
|
if ( m_pDb->open() )
|
||||||
{
|
{
|
||||||
LOGINFO("初始化数据链接并打开成功");
|
LOGINFO("初始化数据链接并打开成功");
|
||||||
@ -39,7 +39,7 @@ int kbd_app::CAtsTimeTableThread::initialize()
|
|||||||
LOGINFO("UserName: [%s]", m_pDb->getCurrentDbPara().getUserName().toStdString().c_str());
|
LOGINFO("UserName: [%s]", m_pDb->getCurrentDbPara().getUserName().toStdString().c_str());
|
||||||
|
|
||||||
// 初始化路径配置
|
// 初始化路径配置
|
||||||
boost::filesystem::path cfgPath( kbd_public::CFileUtil::getPathOfCfgFile("app_ats_timetable.cfg") );
|
boost::filesystem::path cfgPath( iot_public::CFileUtil::getPathOfCfgFile("app_ats_timetable.cfg") );
|
||||||
boost::filesystem::fstream objStream( cfgPath, std::ios_base::in );
|
boost::filesystem::fstream objStream( cfgPath, std::ios_base::in );
|
||||||
m_sDirectoryPath = "";
|
m_sDirectoryPath = "";
|
||||||
objStream >> m_sDirectoryPath;
|
objStream >> m_sDirectoryPath;
|
||||||
|
|||||||
@ -7,10 +7,10 @@
|
|||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
|
|
||||||
class CAtsTimeTableThread : public kbd_public::CTimerThreadBase
|
class CAtsTimeTableThread : public iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CAtsTimeTableThread(const kbd_public::SRunAppInfo &stRunAppInfo);
|
CAtsTimeTableThread(const iot_public::SRunAppInfo &stRunAppInfo);
|
||||||
virtual ~CAtsTimeTableThread();
|
virtual ~CAtsTimeTableThread();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -25,9 +25,9 @@ public:
|
|||||||
int initialize();
|
int initialize();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
std::string m_sDirectoryPath; // 待处理文件夹的路径
|
std::string m_sDirectoryPath; // 待处理文件夹的路径
|
||||||
kbd_dbms::CDbApi* m_pDb; // 数据库接口
|
iot_dbms::CDbApi* m_pDb; // 数据库接口
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::shared_ptr<CAtsTimeTableThread> CAtsTimeTableThreadPtr;
|
typedef boost::shared_ptr<CAtsTimeTableThread> CAtsTimeTableThreadPtr;
|
||||||
|
|||||||
@ -12,13 +12,13 @@
|
|||||||
#include "AlarmMessage.pb.h"
|
#include "AlarmMessage.pb.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_service;
|
using namespace iot_service;
|
||||||
using namespace kbd_idlfile;
|
using namespace iot_idl;
|
||||||
|
|
||||||
kbd_app::CBasicOperation::CBasicOperation(const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CBasicOperation::CBasicOperation(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_public::CSysInfoInterfacePtr &ptrSysInfo,
|
const iot_public::CSysInfoInterfacePtr &ptrSysInfo,
|
||||||
const CParamMngPtr &ptrParamMng,
|
const CParamMngPtr &ptrParamMng,
|
||||||
const CTimetableMsgBusMngPtr &ptrMsgMng)
|
const CTimetableMsgBusMngPtr &ptrMsgMng)
|
||||||
:m_stRunAppInfo(stRunAppInfo),
|
:m_stRunAppInfo(stRunAppInfo),
|
||||||
@ -90,7 +90,7 @@ bool kbd_app::CBasicOperation::sendAlarm(const STimetableCmd &stCmd)
|
|||||||
|
|
||||||
int nAlmStatus = stCmd.bIsSuccess ? ALM_STAT_OPT_BAS_TT_SUCCESS : ALM_STAT_OPT_BAS_TT_FAILED;
|
int nAlmStatus = stCmd.bIsSuccess ? ALM_STAT_OPT_BAS_TT_SUCCESS : ALM_STAT_OPT_BAS_TT_FAILED;
|
||||||
|
|
||||||
kbd_idlfile::SAppAddAlm objAlarm;
|
iot_idl::SAppAddAlm objAlarm;
|
||||||
SAlmInfoFromApp *pAlmInfo = objAlarm.add_alm_info();
|
SAlmInfoFromApp *pAlmInfo = objAlarm.add_alm_info();
|
||||||
pAlmInfo->set_alm_type(ALM_TYPE_OPERATE); //报警类型
|
pAlmInfo->set_alm_type(ALM_TYPE_OPERATE); //报警类型
|
||||||
pAlmInfo->set_status(nAlmStatus); //报警状态
|
pAlmInfo->set_status(nAlmStatus); //报警状态
|
||||||
|
|||||||
@ -17,8 +17,8 @@ namespace kbd_app
|
|||||||
class CBasicOperation
|
class CBasicOperation
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CBasicOperation(const kbd_public::SRunAppInfo &stRunAppInfo,
|
CBasicOperation(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_public::CSysInfoInterfacePtr &ptrSysInfo,
|
const iot_public::CSysInfoInterfacePtr &ptrSysInfo,
|
||||||
const CParamMngPtr &ptrParamMng,
|
const CParamMngPtr &ptrParamMng,
|
||||||
const CTimetableMsgBusMngPtr &ptrMsgMng);
|
const CTimetableMsgBusMngPtr &ptrMsgMng);
|
||||||
virtual ~CBasicOperation();
|
virtual ~CBasicOperation();
|
||||||
@ -154,12 +154,12 @@ namespace kbd_app
|
|||||||
bool getLocationIdByKeyIdTag(const std::string &strKeyIdTag, int &nLocationId);
|
bool getLocationIdByKeyIdTag(const std::string &strKeyIdTag, int &nLocationId);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
kbd_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
|
iot_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
|
||||||
CParamMngPtr m_ptrParamMng; //< 参数信息管理类
|
CParamMngPtr m_ptrParamMng; //< 参数信息管理类
|
||||||
CTimetableMsgBusMngPtr m_ptrMsgMng; //< 消息管理类
|
CTimetableMsgBusMngPtr m_ptrMsgMng; //< 消息管理类
|
||||||
CRtdbTableOperatePtr m_ptrTableOpt; //< 时间表相关内存表操作类
|
CRtdbTableOperatePtr m_ptrTableOpt; //< 时间表相关内存表操作类
|
||||||
kbd_service::CAlmApiForAppPtr m_ptrAlarmApi; //< 报警接口
|
iot_service::CAlmApiForAppPtr m_ptrAlarmApi; //< 报警接口
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::shared_ptr<CBasicOperation> CBasicOperationPtr;
|
typedef boost::shared_ptr<CBasicOperation> CBasicOperationPtr;
|
||||||
|
|||||||
@ -7,12 +7,12 @@
|
|||||||
#include "ParamMng.h"
|
#include "ParamMng.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
// using namespace kbd_net;
|
// using namespace iot_net;
|
||||||
// using namespace kbd_dbms;
|
// using namespace iot_dbms;
|
||||||
|
|
||||||
kbd_app::CDownloadTimetable::CDownloadTimetable(const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CDownloadTimetable::CDownloadTimetable(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const CParamMngPtr &ptrParamMng,
|
const CParamMngPtr &ptrParamMng,
|
||||||
const CTimetableMsgBusMngPtr &ptrMsgMng,
|
const CTimetableMsgBusMngPtr &ptrMsgMng,
|
||||||
const CBasicOperationPtr &ptrBasicOpt)
|
const CBasicOperationPtr &ptrBasicOpt)
|
||||||
|
|||||||
@ -16,7 +16,7 @@ namespace kbd_app
|
|||||||
class CDownloadTimetable
|
class CDownloadTimetable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CDownloadTimetable(const kbd_public::SRunAppInfo &stRunAppInfo,
|
CDownloadTimetable(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const CParamMngPtr &ptrParamMng,
|
const CParamMngPtr &ptrParamMng,
|
||||||
const CTimetableMsgBusMngPtr &ptrMsgMng,
|
const CTimetableMsgBusMngPtr &ptrMsgMng,
|
||||||
const CBasicOperationPtr &ptrBasicOpt);
|
const CBasicOperationPtr &ptrBasicOpt);
|
||||||
@ -119,7 +119,7 @@ namespace kbd_app
|
|||||||
bool makeDownloadMsg(const STimetableCmd &stCmd, std::string &strMsg);
|
bool makeDownloadMsg(const STimetableCmd &stCmd, std::string &strMsg);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
CParamMngPtr m_ptrParamMng; //< 参数信息管理类
|
CParamMngPtr m_ptrParamMng; //< 参数信息管理类
|
||||||
CTimetableMsgBusMngPtr m_ptrMsgMng; //< 消息管理类
|
CTimetableMsgBusMngPtr m_ptrMsgMng; //< 消息管理类
|
||||||
CBasicOperationPtr m_ptrBasicOpt; //< 基础操作类
|
CBasicOperationPtr m_ptrBasicOpt; //< 基础操作类
|
||||||
|
|||||||
@ -3,11 +3,11 @@
|
|||||||
#include "pub_sysinfo_api/SysInfoApi.h"
|
#include "pub_sysinfo_api/SysInfoApi.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
|
|
||||||
kbd_app::CParamMng::CParamMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CParamMng::CParamMng(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_public::CSysInfoInterfacePtr &ptrSysInfo)
|
const iot_public::CSysInfoInterfacePtr &ptrSysInfo)
|
||||||
:m_stRunAppInfo(stRunAppInfo),
|
:m_stRunAppInfo(stRunAppInfo),
|
||||||
m_ptrSysInfo(ptrSysInfo)
|
m_ptrSysInfo(ptrSysInfo)
|
||||||
{
|
{
|
||||||
@ -39,7 +39,7 @@ int kbd_app::CParamMng::initialize()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* @brief 通过车站ID获取车站信息 */
|
/* @brief 通过车站ID获取车站信息 */
|
||||||
bool kbd_app::CParamMng::getLocationInfoById(const int nLocationId, kbd_public::SLocationInfo &stLocationInfo)
|
bool kbd_app::CParamMng::getLocationInfoById(const int nLocationId, iot_public::SLocationInfo &stLocationInfo)
|
||||||
{
|
{
|
||||||
BOOST_AUTO(pIter, m_mapLocationInfo.find(nLocationId));
|
BOOST_AUTO(pIter, m_mapLocationInfo.find(nLocationId));
|
||||||
if (pIter != m_mapLocationInfo.end())
|
if (pIter != m_mapLocationInfo.end())
|
||||||
|
|||||||
@ -13,8 +13,8 @@ namespace kbd_app
|
|||||||
class CParamMng
|
class CParamMng
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CParamMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
CParamMng(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_public::CSysInfoInterfacePtr &ptrSysInfo);
|
const iot_public::CSysInfoInterfacePtr &ptrSysInfo);
|
||||||
virtual ~CParamMng();
|
virtual ~CParamMng();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -26,10 +26,10 @@ namespace kbd_app
|
|||||||
/*
|
/*
|
||||||
@brief 通过车站ID获取车站信息
|
@brief 通过车站ID获取车站信息
|
||||||
@param const int nLocationId 车站ID
|
@param const int nLocationId 车站ID
|
||||||
@param kbd_public::SLocationInfo & stLocationInfo 返回的车站信息
|
@param iot_public::SLocationInfo & stLocationInfo 返回的车站信息
|
||||||
@return 成功返回true,失败返回false
|
@return 成功返回true,失败返回false
|
||||||
*/
|
*/
|
||||||
bool getLocationInfoById(const int nLocationId, kbd_public::SLocationInfo &stLocationInfo);
|
bool getLocationInfoById(const int nLocationId, iot_public::SLocationInfo &stLocationInfo);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@brief 通过车站ID获取控制参数信息
|
@brief 通过车站ID获取控制参数信息
|
||||||
@ -93,8 +93,8 @@ namespace kbd_app
|
|||||||
void clearLocationCtrlParam();
|
void clearLocationCtrlParam();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo;
|
iot_public::SRunAppInfo m_stRunAppInfo;
|
||||||
kbd_public::CSysInfoInterfacePtr m_ptrSysInfo;
|
iot_public::CSysInfoInterfacePtr m_ptrSysInfo;
|
||||||
|
|
||||||
LocationIdToInfoMAP m_mapLocationInfo; //< 本域的车站列表<车站ID,车站信息>
|
LocationIdToInfoMAP m_mapLocationInfo; //< 本域的车站列表<车站ID,车站信息>
|
||||||
LocationIdToCtrlParamMAP m_mapLocationIdToCtrlParam; //< 车站下载配置参数,每天读取一次
|
LocationIdToCtrlParamMAP m_mapLocationIdToCtrlParam; //< 车站下载配置参数,每天读取一次
|
||||||
|
|||||||
@ -5,10 +5,10 @@
|
|||||||
#include "ParamMng.h"
|
#include "ParamMng.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
|
|
||||||
|
|
||||||
kbd_app::CReadTimetable::CReadTimetable(const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CReadTimetable::CReadTimetable(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const CParamMngPtr &ptrParamMng,
|
const CParamMngPtr &ptrParamMng,
|
||||||
const CTimetableMsgBusMngPtr &ptrMsgMng,
|
const CTimetableMsgBusMngPtr &ptrMsgMng,
|
||||||
const CBasicOperationPtr &ptrBasicOpt)
|
const CBasicOperationPtr &ptrBasicOpt)
|
||||||
|
|||||||
@ -9,7 +9,7 @@ namespace kbd_app
|
|||||||
class CReadTimetable
|
class CReadTimetable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CReadTimetable(const kbd_public::SRunAppInfo &stRunAppInfo,
|
CReadTimetable(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const CParamMngPtr &ptrParamMng,
|
const CParamMngPtr &ptrParamMng,
|
||||||
const CTimetableMsgBusMngPtr &ptrMsgMng,
|
const CTimetableMsgBusMngPtr &ptrMsgMng,
|
||||||
const CBasicOperationPtr &ptrBasicOpt);
|
const CBasicOperationPtr &ptrBasicOpt);
|
||||||
@ -64,7 +64,7 @@ namespace kbd_app
|
|||||||
bool makeReadMsg(const STimetableCmd &stCmd, std::string &strMsg);
|
bool makeReadMsg(const STimetableCmd &stCmd, std::string &strMsg);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
CParamMngPtr m_ptrParamMng; //< 参数信息管理类
|
CParamMngPtr m_ptrParamMng; //< 参数信息管理类
|
||||||
CTimetableMsgBusMngPtr m_ptrMsgMng; //< 消息管理类
|
CTimetableMsgBusMngPtr m_ptrMsgMng; //< 消息管理类
|
||||||
CBasicOperationPtr m_ptrBasicOpt; //< 基础操作类
|
CBasicOperationPtr m_ptrBasicOpt; //< 基础操作类
|
||||||
|
|||||||
@ -151,5 +151,5 @@ namespace kbd_app
|
|||||||
typedef std::map<STimetableCmdKey, SOptCustCtrlReply> SCustomRepMAP; //< 自定义命令的反馈缓冲区
|
typedef std::map<STimetableCmdKey, SOptCustCtrlReply> SCustomRepMAP; //< 自定义命令的反馈缓冲区
|
||||||
typedef std::map<STimetableCmdKey, SOptCtrlReply> SPntRepMAP; //< 通用命令的反馈缓冲区
|
typedef std::map<STimetableCmdKey, SOptCtrlReply> SPntRepMAP; //< 通用命令的反馈缓冲区
|
||||||
typedef std::map<int, STimetableCmd> LocationToTimetableCmdMAP; //< 时间表命令缓冲区<车站ID,命令>
|
typedef std::map<int, STimetableCmd> LocationToTimetableCmdMAP; //< 时间表命令缓冲区<车站ID,命令>
|
||||||
typedef std::map<int, kbd_public::SLocationInfo> LocationIdToInfoMAP; //< 本域的车站列表<车站ID,车站信息>
|
typedef std::map<int, iot_public::SLocationInfo> LocationIdToInfoMAP; //< 本域的车站列表<车站ID,车站信息>
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,14 +11,14 @@
|
|||||||
#include "TimetableCommon.h"
|
#include "TimetableCommon.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
using namespace kbd_net;
|
using namespace iot_net;
|
||||||
|
|
||||||
|
|
||||||
kbd_app::CTimetableMsgBusMng::CTimetableMsgBusMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CTimetableMsgBusMng::CTimetableMsgBusMng(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_public::CSysInfoInterfacePtr &ptrSysInfo)
|
const iot_public::CSysInfoInterfacePtr &ptrSysInfo)
|
||||||
:m_stRunAppInfo(stRunAppInfo),
|
:m_stRunAppInfo(stRunAppInfo),
|
||||||
m_ptrSysInfo(ptrSysInfo)
|
m_ptrSysInfo(ptrSysInfo)
|
||||||
{
|
{
|
||||||
@ -85,7 +85,7 @@ int kbd_app::CTimetableMsgBusMng::initialize()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* @brief 接收消息 */
|
/* @brief 接收消息 */
|
||||||
bool kbd_app::CTimetableMsgBusMng::recvMsg(kbd_net::CMbMessage &objMsg, int nTimeoutMsec /*= 0*/)
|
bool kbd_app::CTimetableMsgBusMng::recvMsg(iot_net::CMbMessage &objMsg, int nTimeoutMsec /*= 0*/)
|
||||||
{
|
{
|
||||||
return m_objCommunicator.recvMsg(objMsg, nTimeoutMsec);
|
return m_objCommunicator.recvMsg(objMsg, nTimeoutMsec);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,8 +14,8 @@ namespace kbd_app
|
|||||||
class CTimetableMsgBusMng
|
class CTimetableMsgBusMng
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTimetableMsgBusMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
CTimetableMsgBusMng(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_public::CSysInfoInterfacePtr &ptrSysInfo);
|
const iot_public::CSysInfoInterfacePtr &ptrSysInfo);
|
||||||
virtual ~CTimetableMsgBusMng();
|
virtual ~CTimetableMsgBusMng();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -35,11 +35,11 @@ namespace kbd_app
|
|||||||
int unsubscribeMessage();
|
int unsubscribeMessage();
|
||||||
/*
|
/*
|
||||||
@brief 接收消息
|
@brief 接收消息
|
||||||
@param kbd_net::CMbMessage & objMsg 返回的消息
|
@param iot_net::CMbMessage & objMsg 返回的消息
|
||||||
@param int nTimeoutMsec 超时时间
|
@param int nTimeoutMsec 超时时间
|
||||||
@return 成功返回true,失败返回false
|
@return 成功返回true,失败返回false
|
||||||
*/
|
*/
|
||||||
bool recvMsg(kbd_net::CMbMessage &objMsg, int nTimeoutMsec = 0);
|
bool recvMsg(iot_net::CMbMessage &objMsg, int nTimeoutMsec = 0);
|
||||||
/*
|
/*
|
||||||
@brief 发送消息
|
@brief 发送消息
|
||||||
@param const std::string & strMsg 消息内容
|
@param const std::string & strMsg 消息内容
|
||||||
@ -58,9 +58,9 @@ namespace kbd_app
|
|||||||
std::string getCommunicatorName();
|
std::string getCommunicatorName();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_net::CMbCommunicator m_objCommunicator; //< 消息总线通信器
|
iot_net::CMbCommunicator m_objCommunicator; //< 消息总线通信器
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
kbd_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
|
iot_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::shared_ptr<CTimetableMsgBusMng> CTimetableMsgBusMngPtr;
|
typedef boost::shared_ptr<CTimetableMsgBusMng> CTimetableMsgBusMngPtr;
|
||||||
|
|||||||
@ -3,12 +3,12 @@
|
|||||||
#include "ParamMng.h"
|
#include "ParamMng.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
using namespace kbd_service;
|
using namespace iot_service;
|
||||||
|
|
||||||
kbd_app::CTimetableRtdbTableOperate::CTimetableRtdbTableOperate(const kbd_public::SRunAppInfo &stRunAppInfo)
|
kbd_app::CTimetableRtdbTableOperate::CTimetableRtdbTableOperate(const iot_public::SRunAppInfo &stRunAppInfo)
|
||||||
:m_stRunAppInfo(stRunAppInfo),
|
:m_stRunAppInfo(stRunAppInfo),
|
||||||
m_ptrTableMng(NULL),
|
m_ptrTableMng(NULL),
|
||||||
m_ptrDpApi(NULL)
|
m_ptrDpApi(NULL)
|
||||||
|
|||||||
@ -20,7 +20,7 @@ namespace kbd_app
|
|||||||
class CTimetableRtdbTableOperate
|
class CTimetableRtdbTableOperate
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTimetableRtdbTableOperate(const kbd_public::SRunAppInfo &stRunAppInfo);
|
CTimetableRtdbTableOperate(const iot_public::SRunAppInfo &stRunAppInfo);
|
||||||
virtual ~CTimetableRtdbTableOperate();
|
virtual ~CTimetableRtdbTableOperate();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -80,14 +80,14 @@ namespace kbd_app
|
|||||||
int getModeInfo(int nLocationId, int nCraftId, int nModeId, STableModeDef &stModeInfo);
|
int getModeInfo(int nLocationId, int nCraftId, int nModeId, STableModeDef &stModeInfo);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
kbd_dbms::CRdbAccessEx m_objScheduleTable; //< BAS_TIMETABLE_SCHEDULE内存表
|
iot_dbms::CRdbAccessEx m_objScheduleTable; //< BAS_TIMETABLE_SCHEDULE内存表
|
||||||
kbd_dbms::CRdbAccessEx m_objCtrlParamTable; //< BAS_TIMETABLE_CTRL_PARAM内存表
|
iot_dbms::CRdbAccessEx m_objCtrlParamTable; //< BAS_TIMETABLE_CTRL_PARAM内存表
|
||||||
kbd_dbms::CRdbAccessEx m_objTimetableDefTable; //< BAS_TIMETABLE_DEF内存表
|
iot_dbms::CRdbAccessEx m_objTimetableDefTable; //< BAS_TIMETABLE_DEF内存表
|
||||||
kbd_dbms::CRdbAccessEx m_objTimetableInfoTable; //< BAS_TIMETABLE_INFO内存表
|
iot_dbms::CRdbAccessEx m_objTimetableInfoTable; //< BAS_TIMETABLE_INFO内存表
|
||||||
kbd_dbms::CRdbAccessEx m_objModeDefTable; //< BAS_TIMETABLE_INFO内存表
|
iot_dbms::CRdbAccessEx m_objModeDefTable; //< BAS_TIMETABLE_INFO内存表
|
||||||
kbd_dbms::CRdbTableMngPtr m_ptrTableMng; //< 测点表内存表管理类
|
iot_dbms::CRdbTableMngPtr m_ptrTableMng; //< 测点表内存表管理类
|
||||||
kbd_service::CDataProcessApiPtr m_ptrDpApi; //< 用来判断状态字是否正常
|
iot_service::CDataProcessApiPtr m_ptrDpApi; //< 用来判断状态字是否正常
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::shared_ptr<CTimetableRtdbTableOperate> CRtdbTableOperatePtr;
|
typedef boost::shared_ptr<CTimetableRtdbTableOperate> CRtdbTableOperatePtr;
|
||||||
|
|||||||
@ -11,10 +11,10 @@
|
|||||||
#include "TimetableCommon.h"
|
#include "TimetableCommon.h"
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
#define OPT_DESC_APP "app"
|
#define OPT_DESC_APP "app"
|
||||||
#define OPT_DESC_HELP "help"
|
#define OPT_DESC_HELP "help"
|
||||||
@ -34,7 +34,7 @@ kbd_app::CTimetableServerApp::~CTimetableServerApp()
|
|||||||
|
|
||||||
bool kbd_app::CTimetableServerApp::start(int argc, char *argv[], int &/*nStatus*/)
|
bool kbd_app::CTimetableServerApp::start(int argc, char *argv[], int &/*nStatus*/)
|
||||||
{
|
{
|
||||||
kbd_public::initI18N(".", "", "");
|
iot_public::initI18N(".", "", "");
|
||||||
//1.解析启动参数
|
//1.解析启动参数
|
||||||
if (!parseCmdLine(argc, argv))
|
if (!parseCmdLine(argc, argv))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CTimetableServerApp : public kbd_public::CBaseService, public kbd_sys::CProcessQuitInterface
|
class CTimetableServerApp : public iot_public::CBaseService, public iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTimetableServerApp();
|
CTimetableServerApp();
|
||||||
@ -90,12 +90,12 @@ namespace kbd_app
|
|||||||
|
|
||||||
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; //< 冗余管理类
|
||||||
CPaServerMngPtr m_ptrTimetableSrvMng; //< 时间表服务管理类
|
CPaServerMngPtr m_ptrTimetableSrvMng; //< 时间表服务管理类
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -6,9 +6,9 @@
|
|||||||
#include "TimetableServerMng.h"
|
#include "TimetableServerMng.h"
|
||||||
#include "pub_logger_api/logger.h"
|
#include "pub_logger_api/logger.h"
|
||||||
|
|
||||||
kbd_app::CTimetableServerMng::CTimetableServerMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CTimetableServerMng::CTimetableServerMng(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_public::CSysInfoInterfacePtr &ptrSysInfo,
|
const iot_public::CSysInfoInterfacePtr &ptrSysInfo,
|
||||||
const kbd_sys::CProcMngInterfacePtr &ptrProcMng)
|
const iot_sys::CProcMngInterfacePtr &ptrProcMng)
|
||||||
:m_stRunAppInfo(stRunAppInfo),
|
:m_stRunAppInfo(stRunAppInfo),
|
||||||
m_ptrSysInfo(ptrSysInfo),
|
m_ptrSysInfo(ptrSysInfo),
|
||||||
m_ptrProcMng(ptrProcMng),
|
m_ptrProcMng(ptrProcMng),
|
||||||
|
|||||||
@ -10,12 +10,12 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CTimetableServerMng : public kbd_sys::CRedundantSwitchInterface
|
class CTimetableServerMng : public iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTimetableServerMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
CTimetableServerMng(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_public::CSysInfoInterfacePtr &ptrSysInfo,
|
const iot_public::CSysInfoInterfacePtr &ptrSysInfo,
|
||||||
const kbd_sys::CProcMngInterfacePtr &ptrProcMng);
|
const iot_sys::CProcMngInterfacePtr &ptrProcMng);
|
||||||
virtual ~CTimetableServerMng();
|
virtual ~CTimetableServerMng();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -33,9 +33,9 @@ namespace kbd_app
|
|||||||
int initialize();
|
int initialize();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
kbd_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
|
iot_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
|
||||||
kbd_sys::CProcMngInterfacePtr m_ptrProcMng; //< 进程管理访问库智能指针
|
iot_sys::CProcMngInterfacePtr m_ptrProcMng; //< 进程管理访问库智能指针
|
||||||
CTimetableThreadPtr m_ptrTimetableThread; //< 时间表下载线程
|
CTimetableThreadPtr m_ptrTimetableThread; //< 时间表下载线程
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -9,14 +9,14 @@
|
|||||||
#include "TimetableCommon.h"
|
#include "TimetableCommon.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
using namespace kbd_net;
|
using namespace iot_net;
|
||||||
|
|
||||||
kbd_app::CTimetableThread::CTimetableThread(const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CTimetableThread::CTimetableThread(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_public::CSysInfoInterfacePtr &ptrSysInfo)
|
const iot_public::CSysInfoInterfacePtr &ptrSysInfo)
|
||||||
:kbd_public::CTimerThreadBase("CTimetableThread", 0),
|
:iot_public::CTimerThreadBase("CTimetableThread", 0),
|
||||||
m_ptrSysInfo(ptrSysInfo),
|
m_ptrSysInfo(ptrSysInfo),
|
||||||
m_stRunAppInfo(stRunAppInfo),
|
m_stRunAppInfo(stRunAppInfo),
|
||||||
m_ptrParamMng(NULL),
|
m_ptrParamMng(NULL),
|
||||||
@ -270,7 +270,7 @@ bool kbd_app::CTimetableThread::needDownload(const STableTimetableSchedule &stSc
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* @brief 添加人工操作命令到命令缓冲区 */
|
/* @brief 添加人工操作命令到命令缓冲区 */
|
||||||
bool kbd_app::CTimetableThread::addManualCmd(const kbd_net::CMbMessage &objMsg)
|
bool kbd_app::CTimetableThread::addManualCmd(const iot_net::CMbMessage &objMsg)
|
||||||
{
|
{
|
||||||
if (objMsg.getMsgType() != MT_OPT_TIMETABLE_DOWNLOAD_DOWN &&
|
if (objMsg.getMsgType() != MT_OPT_TIMETABLE_DOWNLOAD_DOWN &&
|
||||||
objMsg.getMsgType() != MT_OPT_TIMETABLE_READ_DOWN)
|
objMsg.getMsgType() != MT_OPT_TIMETABLE_READ_DOWN)
|
||||||
@ -316,7 +316,7 @@ bool kbd_app::CTimetableThread::addManualCmd(const kbd_net::CMbMessage &objMsg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* @brief 添加命令反馈到缓冲区 */
|
/* @brief 添加命令反馈到缓冲区 */
|
||||||
bool kbd_app::CTimetableThread::dispatchResponse(const kbd_net::CMbMessage &objMsg)
|
bool kbd_app::CTimetableThread::dispatchResponse(const iot_net::CMbMessage &objMsg)
|
||||||
{
|
{
|
||||||
bool bRet = false;
|
bool bRet = false;
|
||||||
switch (objMsg.getMsgType())
|
switch (objMsg.getMsgType())
|
||||||
@ -334,7 +334,7 @@ bool kbd_app::CTimetableThread::dispatchResponse(const kbd_net::CMbMessage &objM
|
|||||||
return bRet;
|
return bRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_app::CTimetableThread::addCustomResponse(const kbd_net::CMbMessage &objMsg)
|
bool kbd_app::CTimetableThread::addCustomResponse(const iot_net::CMbMessage &objMsg)
|
||||||
{
|
{
|
||||||
COptCustCtrlReply objParse;
|
COptCustCtrlReply objParse;
|
||||||
SOptCustCtrlReply stRep;
|
SOptCustCtrlReply stRep;
|
||||||
@ -357,7 +357,7 @@ bool kbd_app::CTimetableThread::addCustomResponse(const kbd_net::CMbMessage &obj
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool kbd_app::CTimetableThread::addPntResponse(const kbd_net::CMbMessage &objMsg)
|
bool kbd_app::CTimetableThread::addPntResponse(const iot_net::CMbMessage &objMsg)
|
||||||
{
|
{
|
||||||
COptCtrlReply objParse;
|
COptCtrlReply objParse;
|
||||||
SOptCtrlReply stRep;
|
SOptCtrlReply stRep;
|
||||||
|
|||||||
@ -15,11 +15,11 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CTimetableThread : public kbd_public::CTimerThreadBase
|
class CTimetableThread : public iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTimetableThread(const kbd_public::SRunAppInfo &stRunAppInfo,
|
CTimetableThread(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_public::CSysInfoInterfacePtr &ptrSysInfo);
|
const iot_public::CSysInfoInterfacePtr &ptrSysInfo);
|
||||||
virtual ~CTimetableThread();
|
virtual ~CTimetableThread();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -61,22 +61,22 @@ namespace kbd_app
|
|||||||
bool addScheduleCmd(const STableTimetableSchedule &stSchedule);
|
bool addScheduleCmd(const STableTimetableSchedule &stSchedule);
|
||||||
/*
|
/*
|
||||||
@brief 添加命令反馈到缓冲区
|
@brief 添加命令反馈到缓冲区
|
||||||
@param const kbd_net::CMbMessage & objMsg 反馈消息
|
@param const iot_net::CMbMessage & objMsg 反馈消息
|
||||||
@return 成功返回true,失败返回false
|
@return 成功返回true,失败返回false
|
||||||
*/
|
*/
|
||||||
bool dispatchResponse(const kbd_net::CMbMessage &objMsg);
|
bool dispatchResponse(const iot_net::CMbMessage &objMsg);
|
||||||
bool addCustomResponse(const kbd_net::CMbMessage &objMsg);
|
bool addCustomResponse(const iot_net::CMbMessage &objMsg);
|
||||||
bool addPntResponse(const kbd_net::CMbMessage &objMsg);
|
bool addPntResponse(const iot_net::CMbMessage &objMsg);
|
||||||
/*
|
/*
|
||||||
@brief 添加人工操作命令到命令缓冲区
|
@brief 添加人工操作命令到命令缓冲区
|
||||||
@param const kbd_net::CMbMessage & objMsg
|
@param const iot_net::CMbMessage & objMsg
|
||||||
@return 成功返回true,失败返回false
|
@return 成功返回true,失败返回false
|
||||||
*/
|
*/
|
||||||
bool addManualCmd(const kbd_net::CMbMessage &objMsg);
|
bool addManualCmd(const iot_net::CMbMessage &objMsg);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
|
iot_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
|
|
||||||
boost::gregorian::date m_readCfgDate; //< 最后一次读取配置文件的日期
|
boost::gregorian::date m_readCfgDate; //< 最后一次读取配置文件的日期
|
||||||
boost::posix_time::ptime m_curTime; //< 当前时间,单位秒(线程每次循环获取一次)
|
boost::posix_time::ptime m_curTime; //< 当前时间,单位秒(线程每次循环获取一次)
|
||||||
|
|||||||
@ -82,7 +82,7 @@ int CAlarmDelay::init(const SFbdModKey &stModuleKey, const std::string &)
|
|||||||
LOGERROR( "获取模块[%s]的延迟时间失败", stModuleKey.toString().c_str());
|
LOGERROR( "获取模块[%s]的延迟时间失败", stModuleKey.toString().c_str());
|
||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
m_nDelayTime = kbd_public::StringToInt(sDelayTime);
|
m_nDelayTime = iot_public::StringToInt(sDelayTime);
|
||||||
|
|
||||||
//5.初始化fbd告警接口指针
|
//5.初始化fbd告警接口指针
|
||||||
m_fbdAlarmCltApi = getFbdAlarmCltApi();
|
m_fbdAlarmCltApi = getFbdAlarmCltApi();
|
||||||
@ -129,7 +129,7 @@ int CAlarmDelay::calculate()
|
|||||||
{
|
{
|
||||||
AlarmInfoToTimePair attpair;
|
AlarmInfoToTimePair attpair;
|
||||||
attpair.almInfoVec = almValAndSta.m_vecValue;
|
attpair.almInfoVec = almValAndSta.m_vecValue;
|
||||||
attpair.nTime = kbd_public::getUTCTimeSec();
|
attpair.nTime = iot_public::getUTCTimeSec();
|
||||||
m_almList.push_back(attpair);
|
m_almList.push_back(attpair);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -223,7 +223,7 @@ int CAlarmDelay::setAllOutputInvalid()
|
|||||||
int CAlarmDelay::handleDelay()
|
int CAlarmDelay::handleDelay()
|
||||||
{
|
{
|
||||||
m_AlmInfoVec.clear();
|
m_AlmInfoVec.clear();
|
||||||
uint64 nCurTime = kbd_public::getUTCTimeSec();
|
uint64 nCurTime = iot_public::getUTCTimeSec();
|
||||||
std::list<AlarmInfoToTimePair>::iterator it = m_almList.begin();
|
std::list<AlarmInfoToTimePair>::iterator it = m_almList.begin();
|
||||||
while (it != m_almList.end()) {
|
while (it != m_almList.end()) {
|
||||||
if((*it).nTime + m_nDelayTime <= nCurTime)
|
if((*it).nTime + m_nDelayTime <= nCurTime)
|
||||||
|
|||||||
@ -35,15 +35,15 @@ static const int cn_nTopoClusterTimeout_Max = 100 * 1000; //< 100s
|
|||||||
/***********************************************************************************************/
|
/***********************************************************************************************/
|
||||||
CAlarmPush::CAlarmPush()
|
CAlarmPush::CAlarmPush()
|
||||||
{
|
{
|
||||||
m_rtdbRmUserDef = new kbd_dbms::CRdbAccess();
|
m_rtdbRmUserDef = new iot_dbms::CRdbAccess();
|
||||||
m_rtdbRmUserDef->open("base", "rm_user_def");
|
m_rtdbRmUserDef->open("base", "rm_user_def");
|
||||||
m_rtdbAlarmLevelDef = new kbd_dbms::CRdbAccess();
|
m_rtdbAlarmLevelDef = new iot_dbms::CRdbAccess();
|
||||||
m_rtdbAlarmLevelDef->open("base", "alarm_level_define");
|
m_rtdbAlarmLevelDef->open("base", "alarm_level_define");
|
||||||
m_rtdbAlarmStatusDef = new kbd_dbms::CRdbAccess();
|
m_rtdbAlarmStatusDef = new iot_dbms::CRdbAccess();
|
||||||
m_rtdbAlarmStatusDef->open("base", "alarm_status_define");
|
m_rtdbAlarmStatusDef->open("base", "alarm_status_define");
|
||||||
m_rtdbRegionInfo = new kbd_dbms::CRdbAccess();
|
m_rtdbRegionInfo = new iot_dbms::CRdbAccess();
|
||||||
m_rtdbRegionInfo->open("base", "region_info");
|
m_rtdbRegionInfo->open("base", "region_info");
|
||||||
m_rtdbDevGroup = new kbd_dbms::CRdbAccess();
|
m_rtdbDevGroup = new iot_dbms::CRdbAccess();
|
||||||
m_rtdbDevGroup->open("base", "dev_group");
|
m_rtdbDevGroup->open("base", "dev_group");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,7 +145,7 @@ int CAlarmPush::init(const SFbdModKey &stModuleKey, const std::string &)
|
|||||||
//4.加载配置是否启用了智能告警
|
//4.加载配置是否启用了智能告警
|
||||||
//< 加载 intelli_alm_cfg.xml
|
//< 加载 intelli_alm_cfg.xml
|
||||||
{
|
{
|
||||||
const std::string strFileName = kbd_public::CFileUtil::getPathOfCfgFile("intelli_alm_cfg.xml",CN_DIR_PLATFORM);
|
const std::string strFileName = iot_public::CFileUtil::getPathOfCfgFile("intelli_alm_cfg.xml",CN_DIR_PLATFORM);
|
||||||
boost::property_tree::ptree pt;
|
boost::property_tree::ptree pt;
|
||||||
|
|
||||||
try
|
try
|
||||||
@ -217,7 +217,7 @@ int CAlarmPush::calculate()
|
|||||||
|
|
||||||
if ( isValidOfStatus( almValAndSta.m_nStatus ))
|
if ( isValidOfStatus( almValAndSta.m_nStatus ))
|
||||||
{
|
{
|
||||||
uint64 nTime = kbd_public::getUTCTimeMsec();
|
uint64 nTime = iot_public::getUTCTimeMsec();
|
||||||
SAlmPushAlmInfo almInfo;
|
SAlmPushAlmInfo almInfo;
|
||||||
almInfo.m_nTime = nTime+m_nOutTime*2;
|
almInfo.m_nTime = nTime+m_nOutTime*2;
|
||||||
almInfo.m_almInfoVec = almValAndSta.m_vecValue;
|
almInfo.m_almInfoVec = almValAndSta.m_vecValue;
|
||||||
@ -372,7 +372,7 @@ int CAlarmPush::setAllOutputInvalid()
|
|||||||
int CAlarmPush::handlePush()
|
int CAlarmPush::handlePush()
|
||||||
{
|
{
|
||||||
m_almInfoVec.clear();
|
m_almInfoVec.clear();
|
||||||
uint64 nCurTime = kbd_public::getUTCTimeMsec();
|
uint64 nCurTime = iot_public::getUTCTimeMsec();
|
||||||
if(m_nIsAi == EN_PUSH_ALARM_AI)
|
if(m_nIsAi == EN_PUSH_ALARM_AI)
|
||||||
{
|
{
|
||||||
while (!m_almInfoQueue.empty()) {
|
while (!m_almInfoQueue.empty()) {
|
||||||
@ -416,7 +416,7 @@ int CAlarmPush::handleAiAlm(SFbdAlarmInfo &almInfo)
|
|||||||
{
|
{
|
||||||
SFbdItlAlmInfo itlInfo;
|
SFbdItlAlmInfo itlInfo;
|
||||||
|
|
||||||
uint64 nTime = kbd_public::getUTCTimeMsec();
|
uint64 nTime = iot_public::getUTCTimeMsec();
|
||||||
if(m_fbdAlarmCltApi->getItlAlmByRawAlm(almInfo,itlInfo) == kbdSuccess)
|
if(m_fbdAlarmCltApi->getItlAlmByRawAlm(almInfo,itlInfo) == kbdSuccess)
|
||||||
{
|
{
|
||||||
std::string itluuid = itlInfo.getUuidBase64();
|
std::string itluuid = itlInfo.getUuidBase64();
|
||||||
@ -562,7 +562,7 @@ std::string CAlarmPush::previewRepeat(const std::string &text)
|
|||||||
return showText;
|
return showText;
|
||||||
}
|
}
|
||||||
std::string numText =vecParam[1];
|
std::string numText =vecParam[1];
|
||||||
int num = kbd_public::StringToInt(numText);
|
int num = iot_public::StringToInt(numText);
|
||||||
std::string repeatText = text.substr(6+numText.length());
|
std::string repeatText = text.substr(6+numText.length());
|
||||||
if(num > m_evts_cnt)
|
if(num > m_evts_cnt)
|
||||||
{
|
{
|
||||||
@ -580,27 +580,27 @@ std::string CAlarmPush::getText(const std::string &key, int index)
|
|||||||
{
|
{
|
||||||
if(key == "evts_cnt")
|
if(key == "evts_cnt")
|
||||||
{
|
{
|
||||||
return kbd_public::IntToString(m_evts_cnt);
|
return iot_public::IntToString(m_evts_cnt);
|
||||||
}
|
}
|
||||||
if(key == "evts_1_priority")
|
if(key == "evts_1_priority")
|
||||||
{
|
{
|
||||||
return kbd_public::IntToString(m_evts_1_priority);
|
return iot_public::IntToString(m_evts_1_priority);
|
||||||
}
|
}
|
||||||
if(key == "evts_2_priority")
|
if(key == "evts_2_priority")
|
||||||
{
|
{
|
||||||
return kbd_public::IntToString(m_evts_2_priority);
|
return iot_public::IntToString(m_evts_2_priority);
|
||||||
}
|
}
|
||||||
if(key == "evts_3_priority")
|
if(key == "evts_3_priority")
|
||||||
{
|
{
|
||||||
return kbd_public::IntToString(m_evts_3_priority);
|
return iot_public::IntToString(m_evts_3_priority);
|
||||||
}
|
}
|
||||||
if(key == "evts_4_priority")
|
if(key == "evts_4_priority")
|
||||||
{
|
{
|
||||||
return kbd_public::IntToString(m_evts_4_priority);
|
return iot_public::IntToString(m_evts_4_priority);
|
||||||
}
|
}
|
||||||
if(key == "evts_5_priority")
|
if(key == "evts_5_priority")
|
||||||
{
|
{
|
||||||
return kbd_public::IntToString(m_evts_5_priority);
|
return iot_public::IntToString(m_evts_5_priority);
|
||||||
}
|
}
|
||||||
if(key == "time")
|
if(key == "time")
|
||||||
{
|
{
|
||||||
@ -660,7 +660,7 @@ std::string CAlarmPush::timeText(int index)
|
|||||||
if(index == -1)
|
if(index == -1)
|
||||||
{
|
{
|
||||||
//返回主告警时间。
|
//返回主告警时间。
|
||||||
kbd_public::LOCALTIME locTime = kbd_public::convertUTCMsecToLocalTime(m_mainEvtInfo.getTimeStamp());
|
iot_public::LOCALTIME locTime = iot_public::convertUTCMsecToLocalTime(m_mainEvtInfo.getTimeStamp());
|
||||||
getTime(locTime,time);
|
getTime(locTime,time);
|
||||||
|
|
||||||
}else
|
}else
|
||||||
@ -673,7 +673,7 @@ std::string CAlarmPush::timeText(int index)
|
|||||||
{
|
{
|
||||||
return " ";
|
return " ";
|
||||||
}
|
}
|
||||||
kbd_public::LOCALTIME locTime = kbd_public::convertUTCMsecToLocalTime(timeStamp);
|
iot_public::LOCALTIME locTime = iot_public::convertUTCMsecToLocalTime(timeStamp);
|
||||||
getTime(locTime,time);
|
getTime(locTime,time);
|
||||||
}
|
}
|
||||||
return time;
|
return time;
|
||||||
@ -691,7 +691,7 @@ std::string CAlarmPush::domain_descText(int index)
|
|||||||
domainId = m_almInfoVec.at(index).getDomainId();
|
domainId = m_almInfoVec.at(index).getDomainId();
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::SDomainInfo stDomainInfo;
|
iot_public::SDomainInfo stDomainInfo;
|
||||||
CFbdSysInfoApiPtr ptrSysInfo = getFbdSysInfoApi();
|
CFbdSysInfoApiPtr ptrSysInfo = getFbdSysInfoApi();
|
||||||
if ( ptrSysInfo == nullptr )
|
if ( ptrSysInfo == nullptr )
|
||||||
{
|
{
|
||||||
@ -722,7 +722,7 @@ std::string CAlarmPush::locationText(int index)
|
|||||||
locId = m_almInfoVec.at(index).getLocationId();
|
locId = m_almInfoVec.at(index).getLocationId();
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::SLocationInfo stLocationInfo;
|
iot_public::SLocationInfo stLocationInfo;
|
||||||
CFbdSysInfoApiPtr ptrSysInfo = getFbdSysInfoApi();
|
CFbdSysInfoApiPtr ptrSysInfo = getFbdSysInfoApi();
|
||||||
if ( ptrSysInfo == nullptr )
|
if ( ptrSysInfo == nullptr )
|
||||||
{
|
{
|
||||||
@ -751,7 +751,7 @@ std::string CAlarmPush::appText(int index)
|
|||||||
{
|
{
|
||||||
appId = m_almInfoVec.at(index).getAppId();
|
appId = m_almInfoVec.at(index).getAppId();
|
||||||
}
|
}
|
||||||
kbd_public::SAppInfo stAppInfo;
|
iot_public::SAppInfo stAppInfo;
|
||||||
CFbdSysInfoApiPtr ptrSysInfo = getFbdSysInfoApi();
|
CFbdSysInfoApiPtr ptrSysInfo = getFbdSysInfoApi();
|
||||||
if ( ptrSysInfo == nullptr )
|
if ( ptrSysInfo == nullptr )
|
||||||
{
|
{
|
||||||
@ -780,8 +780,8 @@ std::string CAlarmPush::priorityText(int index)
|
|||||||
priorityId = m_almInfoVec.at(index).getPriority();
|
priorityId = m_almInfoVec.at(index).getPriority();
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_dbms::CTableLockGuard locker(*m_rtdbAlarmLevelDef);
|
iot_dbms::CTableLockGuard locker(*m_rtdbAlarmLevelDef);
|
||||||
kbd_dbms::CVarType value;
|
iot_dbms::CVarType value;
|
||||||
m_rtdbAlarmLevelDef->getColumnValueByKey((void*)&priorityId, "priority_name", value);
|
m_rtdbAlarmLevelDef->getColumnValueByKey((void*)&priorityId, "priority_name", value);
|
||||||
return value.toStdString();
|
return value.toStdString();
|
||||||
}
|
}
|
||||||
@ -809,8 +809,8 @@ std::string CAlarmPush::alm_statusText(int index)
|
|||||||
{
|
{
|
||||||
statusId = m_almInfoVec.at(index).getAlmStatus();
|
statusId = m_almInfoVec.at(index).getAlmStatus();
|
||||||
}
|
}
|
||||||
kbd_dbms::CTableLockGuard locker(*m_rtdbAlarmStatusDef);
|
iot_dbms::CTableLockGuard locker(*m_rtdbAlarmStatusDef);
|
||||||
kbd_dbms::CVarType value;
|
iot_dbms::CVarType value;
|
||||||
m_rtdbAlarmStatusDef->getColumnValueByKey((void*)&statusId, "display_name", value);
|
m_rtdbAlarmStatusDef->getColumnValueByKey((void*)&statusId, "display_name", value);
|
||||||
return value.toStdString();
|
return value.toStdString();
|
||||||
}
|
}
|
||||||
@ -827,7 +827,7 @@ std::string CAlarmPush::sub_systemText(int index)
|
|||||||
subId = m_almInfoVec.at(index).getSubSystem();
|
subId = m_almInfoVec.at(index).getSubSystem();
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd_public::SSubsystemInfo stSubsystemInfo;
|
iot_public::SSubsystemInfo stSubsystemInfo;
|
||||||
CFbdSysInfoApiPtr ptrSysInfo = getFbdSysInfoApi();
|
CFbdSysInfoApiPtr ptrSysInfo = getFbdSysInfoApi();
|
||||||
if ( ptrSysInfo == nullptr )
|
if ( ptrSysInfo == nullptr )
|
||||||
{
|
{
|
||||||
@ -855,8 +855,8 @@ std::string CAlarmPush::regionText(int index)
|
|||||||
{
|
{
|
||||||
regionId = m_almInfoVec.at(index).getRegionId();
|
regionId = m_almInfoVec.at(index).getRegionId();
|
||||||
}
|
}
|
||||||
kbd_dbms::CTableLockGuard locker(*m_rtdbRegionInfo);
|
iot_dbms::CTableLockGuard locker(*m_rtdbRegionInfo);
|
||||||
kbd_dbms::CVarType value;
|
iot_dbms::CVarType value;
|
||||||
m_rtdbRegionInfo->getColumnValueByKey((void*)®ionId, "description", value);
|
m_rtdbRegionInfo->getColumnValueByKey((void*)®ionId, "description", value);
|
||||||
return value.toStdString();
|
return value.toStdString();
|
||||||
}
|
}
|
||||||
@ -871,8 +871,8 @@ std::string CAlarmPush::dev_groupText(int index)
|
|||||||
{
|
{
|
||||||
devGtag = m_almInfoVec.at(index).getDevGroupTag();
|
devGtag = m_almInfoVec.at(index).getDevGroupTag();
|
||||||
}
|
}
|
||||||
kbd_dbms::CTableLockGuard locker(*m_rtdbDevGroup);
|
iot_dbms::CTableLockGuard locker(*m_rtdbDevGroup);
|
||||||
kbd_dbms::CVarType value;
|
iot_dbms::CVarType value;
|
||||||
m_rtdbDevGroup->getColumnValueByKey((void*)&devGtag, "description", value);
|
m_rtdbDevGroup->getColumnValueByKey((void*)&devGtag, "description", value);
|
||||||
return value.toStdString();
|
return value.toStdString();
|
||||||
}
|
}
|
||||||
@ -933,22 +933,22 @@ void CAlarmPush::makeUserInfo(std::vector<std::string> &userVec)
|
|||||||
|
|
||||||
std::string CAlarmPush::queryEmail(int id)
|
std::string CAlarmPush::queryEmail(int id)
|
||||||
{
|
{
|
||||||
kbd_dbms::CTableLockGuard locker(*m_rtdbRmUserDef);
|
iot_dbms::CTableLockGuard locker(*m_rtdbRmUserDef);
|
||||||
kbd_dbms::CVarType value;
|
iot_dbms::CVarType value;
|
||||||
m_rtdbRmUserDef->getColumnValueByKey((void*)&id, "email", value);
|
m_rtdbRmUserDef->getColumnValueByKey((void*)&id, "email", value);
|
||||||
return value.toStdString();
|
return value.toStdString();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CAlarmPush::queryPhone(int id)
|
std::string CAlarmPush::queryPhone(int id)
|
||||||
{
|
{
|
||||||
kbd_dbms::CTableLockGuard locker(*m_rtdbRmUserDef);
|
iot_dbms::CTableLockGuard locker(*m_rtdbRmUserDef);
|
||||||
kbd_dbms::CVarType value;
|
iot_dbms::CVarType value;
|
||||||
m_rtdbRmUserDef->getColumnValueByKey((void*)&id, "mobile_phone", value);
|
m_rtdbRmUserDef->getColumnValueByKey((void*)&id, "mobile_phone", value);
|
||||||
|
|
||||||
return value.toStdString();
|
return value.toStdString();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CAlarmPush::getTime(kbd_public::LOCALTIME locTime, std::string &time)
|
void CAlarmPush::getTime(iot_public::LOCALTIME locTime, std::string &time)
|
||||||
{
|
{
|
||||||
|
|
||||||
time += std::to_string((int) (locTime.wYear));
|
time += std::to_string((int) (locTime.wYear));
|
||||||
@ -969,7 +969,7 @@ void CAlarmPush::getTime(kbd_public::LOCALTIME locTime, std::string &time)
|
|||||||
void CAlarmPush::clearOutTimeCatch()
|
void CAlarmPush::clearOutTimeCatch()
|
||||||
{
|
{
|
||||||
//清除超时的缓存
|
//清除超时的缓存
|
||||||
uint64 nCurTime = kbd_public::getUTCTimeMsec();
|
uint64 nCurTime = iot_public::getUTCTimeMsec();
|
||||||
std::map<std::string,uint64>::iterator pos = m_itluuidTimeMap.begin();
|
std::map<std::string,uint64>::iterator pos = m_itluuidTimeMap.begin();
|
||||||
while (pos != m_itluuidTimeMap.end()) {
|
while (pos != m_itluuidTimeMap.end()) {
|
||||||
|
|
||||||
|
|||||||
@ -132,7 +132,7 @@ private:
|
|||||||
|
|
||||||
std::string queryPhone(int id);
|
std::string queryPhone(int id);
|
||||||
|
|
||||||
void getTime( kbd_public::LOCALTIME locTime,std::string &time);
|
void getTime( iot_public::LOCALTIME locTime,std::string &time);
|
||||||
|
|
||||||
void clearOutTimeCatch();
|
void clearOutTimeCatch();
|
||||||
|
|
||||||
@ -174,14 +174,14 @@ private:
|
|||||||
int m_evts_4_priority{};
|
int m_evts_4_priority{};
|
||||||
int m_evts_5_priority{};
|
int m_evts_5_priority{};
|
||||||
|
|
||||||
kbd_dbms::CRdbAccess * m_rtdbRmUserDef;
|
iot_dbms::CRdbAccess * m_rtdbRmUserDef;
|
||||||
kbd_dbms::CRdbAccess * m_rtdbAlarmLevelDef;
|
iot_dbms::CRdbAccess * m_rtdbAlarmLevelDef;
|
||||||
kbd_dbms::CRdbAccess * m_rtdbAlarmStatusDef;
|
iot_dbms::CRdbAccess * m_rtdbAlarmStatusDef;
|
||||||
kbd_dbms::CRdbAccess * m_rtdbRegionInfo;
|
iot_dbms::CRdbAccess * m_rtdbRegionInfo;
|
||||||
kbd_dbms::CRdbAccess * m_rtdbDevGroup;
|
iot_dbms::CRdbAccess * m_rtdbDevGroup;
|
||||||
|
|
||||||
|
|
||||||
kbd_public::CSysInfoInterfacePtr m_ptrSysInfo;
|
iot_public::CSysInfoInterfacePtr m_ptrSysInfo;
|
||||||
CFbdAlarmCltApiPtr m_fbdAlarmCltApi = nullptr;
|
CFbdAlarmCltApiPtr m_fbdAlarmCltApi = nullptr;
|
||||||
};
|
};
|
||||||
BOOST_DLL_ALIAS(
|
BOOST_DLL_ALIAS(
|
||||||
|
|||||||
@ -60,7 +60,7 @@ int CAlarmSplit::init(const SFbdModKey &stModuleKey, const std::string &)
|
|||||||
LOGERROR( "获取模块[%s]的拆分个数失败", stModuleKey.toString().c_str());
|
LOGERROR( "获取模块[%s]的拆分个数失败", stModuleKey.toString().c_str());
|
||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
int outCount = kbd_public::StringToInt(sOutCount);
|
int outCount = iot_public::StringToInt(sOutCount);
|
||||||
for(int index(0);index<outCount;index++)
|
for(int index(0);index<outCount;index++)
|
||||||
{
|
{
|
||||||
SFbdValueKey key;
|
SFbdValueKey key;
|
||||||
@ -84,7 +84,7 @@ int CAlarmSplit::init(const SFbdModKey &stModuleKey, const std::string &)
|
|||||||
for(int index(0);index<outCount;index++)
|
for(int index(0);index<outCount;index++)
|
||||||
{
|
{
|
||||||
std::string value;
|
std::string value;
|
||||||
std::string stoutdata = "OutputData"+ kbd_public::IntToString(index+1);
|
std::string stoutdata = "OutputData"+ iot_public::IntToString(index+1);
|
||||||
const char *CN_OutData = stoutdata.c_str();
|
const char *CN_OutData = stoutdata.c_str();
|
||||||
if ( kbdSuccess != m_ptrDiagData->getModProperty( stModuleKey, CN_OutData, value ))
|
if ( kbdSuccess != m_ptrDiagData->getModProperty( stModuleKey, CN_OutData, value ))
|
||||||
{
|
{
|
||||||
@ -92,7 +92,7 @@ int CAlarmSplit::init(const SFbdModKey &stModuleKey, const std::string &)
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
m_nOutputType.push_back(kbd_public::StringToInt(value));
|
m_nOutputType.push_back(iot_public::StringToInt(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//5.检查
|
//5.检查
|
||||||
@ -233,7 +233,7 @@ void CAlarmSplit::pushSplit(SFbdAlarmInfo &info)
|
|||||||
{
|
{
|
||||||
if(m_nOutputType.at(index) == EN_ALARM_SPLIT_BLOCK_TIME)
|
if(m_nOutputType.at(index) == EN_ALARM_SPLIT_BLOCK_TIME)
|
||||||
{
|
{
|
||||||
stStringOutput.m_strValue = kbd_public::LongToString(info.getTimeStamp());
|
stStringOutput.m_strValue = iot_public::LongToString(info.getTimeStamp());
|
||||||
m_ptrDiagData->setStringValByKey( m_stOutputVec.at(index), stStringOutput );
|
m_ptrDiagData->setStringValByKey( m_stOutputVec.at(index), stStringOutput );
|
||||||
}else if(m_nOutputType.at(index) == EN_ALARM_SPLIT_BLOCK_DOMAINID)
|
}else if(m_nOutputType.at(index) == EN_ALARM_SPLIT_BLOCK_DOMAINID)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -190,7 +190,7 @@ int CAlarmSubscribe::calculate()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const boost::int64_t nTimeNow = kbd_public::getMonotonicMsec();
|
const boost::int64_t nTimeNow = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
//< 输出
|
//< 输出
|
||||||
if ( m_stOutValAlarm.m_vecValue.empty())
|
if ( m_stOutValAlarm.m_vecValue.empty())
|
||||||
|
|||||||
@ -206,7 +206,7 @@ void CApcPdGen::doRegulate()
|
|||||||
bool bApplyRegulate = false;
|
bool bApplyRegulate = false;
|
||||||
|
|
||||||
//< 当前时间,开机后时间
|
//< 当前时间,开机后时间
|
||||||
const boost::int64_t nTimeNow = kbd_public::getMonotonicMsec();
|
const boost::int64_t nTimeNow = iot_public::getMonotonicMsec();
|
||||||
//< 是否正在调节间隔时间内
|
//< 是否正在调节间隔时间内
|
||||||
const bool bInInterval = m_nLastRegTime + m_pGenGlobal->getGpMinInterval() >= nTimeNow;
|
const bool bInInterval = m_nLastRegTime + m_pGenGlobal->getGpMinInterval() >= nTimeNow;
|
||||||
|
|
||||||
|
|||||||
@ -567,7 +567,7 @@ void CGenUnit::correctInputValues()
|
|||||||
|
|
||||||
void CGenUnit::refreshStateMachine()
|
void CGenUnit::refreshStateMachine()
|
||||||
{
|
{
|
||||||
const boost::int64_t nTimeNow = kbd_public::getMonotonicMsec();
|
const boost::int64_t nTimeNow = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
EnUnitStateCode enStateTo = m_enStateCode;
|
EnUnitStateCode enStateTo = m_enStateCode;
|
||||||
|
|
||||||
@ -1103,7 +1103,7 @@ void CGenUnit::setStateCode( const EnUnitStateCode enCode )
|
|||||||
if ( enCode != m_enStateCode )
|
if ( enCode != m_enStateCode )
|
||||||
{
|
{
|
||||||
m_enStateCode = enCode;
|
m_enStateCode = enCode;
|
||||||
m_nStateStartTime = kbd_public::getMonotonicMsec();
|
m_nStateStartTime = iot_public::getMonotonicMsec();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -221,7 +221,7 @@ void CApcPdPcs::doRegulate()
|
|||||||
bool bApplyRegulate = false;
|
bool bApplyRegulate = false;
|
||||||
|
|
||||||
//< 当前时间,开机后时间
|
//< 当前时间,开机后时间
|
||||||
const boost::int64_t nTimeNow = kbd_public::getMonotonicMsec();
|
const boost::int64_t nTimeNow = iot_public::getMonotonicMsec();
|
||||||
//< 是否正在调节间隔时间内
|
//< 是否正在调节间隔时间内
|
||||||
const bool bInInterval = m_nLastRegTime + m_pPcsGlobal->getGpMinInterval() >= nTimeNow;
|
const bool bInInterval = m_nLastRegTime + m_pPcsGlobal->getGpMinInterval() >= nTimeNow;
|
||||||
|
|
||||||
|
|||||||
@ -611,7 +611,7 @@ void CPcsUnit::correctInputValues()
|
|||||||
|
|
||||||
void CPcsUnit::refreshStateMachine()
|
void CPcsUnit::refreshStateMachine()
|
||||||
{
|
{
|
||||||
const boost::int64_t nTimeNow = kbd_public::getMonotonicMsec();
|
const boost::int64_t nTimeNow = iot_public::getMonotonicMsec();
|
||||||
|
|
||||||
EnUnitStateCode enStateTo = m_enStateCode;
|
EnUnitStateCode enStateTo = m_enStateCode;
|
||||||
|
|
||||||
@ -1240,7 +1240,7 @@ void CPcsUnit::setStateCode( const EnUnitStateCode enCode )
|
|||||||
if ( enCode != m_enStateCode )
|
if ( enCode != m_enStateCode )
|
||||||
{
|
{
|
||||||
m_enStateCode = enCode;
|
m_enStateCode = enCode;
|
||||||
m_nStateStartTime = kbd_public::getMonotonicMsec();
|
m_nStateStartTime = iot_public::getMonotonicMsec();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -67,7 +67,7 @@ int CFmtText::init( const SFbdModKey &stModuleKey, const std::string & )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 检查输入端口个数合法性
|
// 检查输入端口个数合法性
|
||||||
m_nInputNum = kbd_public::StringToInt( sInputNum );
|
m_nInputNum = iot_public::StringToInt( sInputNum );
|
||||||
if ( m_nInputNum < CN_MinIONum || m_nInputNum > CN_MaxIONum ) //< 判断是否有效
|
if ( m_nInputNum < CN_MinIONum || m_nInputNum > CN_MaxIONum ) //< 判断是否有效
|
||||||
{
|
{
|
||||||
LOGERROR( "模块[%s]要求的输入端口个数最小=%d,最大=%d", stModuleKey.toString().c_str(), CN_MinIONum, CN_MaxIONum );
|
LOGERROR( "模块[%s]要求的输入端口个数最小=%d,最大=%d", stModuleKey.toString().c_str(), CN_MinIONum, CN_MaxIONum );
|
||||||
|
|||||||
@ -58,7 +58,7 @@ int MultiMap::init(const SFbdModKey &stModuleKey, const std::string &)
|
|||||||
LOGERROR( "获取模块[%s]的第一个输入类型失败", stModuleKey.toString().c_str());
|
LOGERROR( "获取模块[%s]的第一个输入类型失败", stModuleKey.toString().c_str());
|
||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
m_nFirstType = kbd_public::StringToInt(sFirstType);
|
m_nFirstType = iot_public::StringToInt(sFirstType);
|
||||||
|
|
||||||
//2.获取输入参数
|
//2.获取输入参数
|
||||||
if ( kbdSuccess != m_ptrDiagData->getValKeyByModInput( stModuleKey, 1, m_stInKey1 ) ||
|
if ( kbdSuccess != m_ptrDiagData->getValKeyByModInput( stModuleKey, 1, m_stInKey1 ) ||
|
||||||
@ -79,13 +79,13 @@ int MultiMap::init(const SFbdModKey &stModuleKey, const std::string &)
|
|||||||
LOGERROR( "模块[%s]未配置输出个数", stModuleKey.toString().c_str());
|
LOGERROR( "模块[%s]未配置输出个数", stModuleKey.toString().c_str());
|
||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
m_nOutputNum = kbd_public::StringToInt(sOutputNum);
|
m_nOutputNum = iot_public::StringToInt(sOutputNum);
|
||||||
|
|
||||||
//4.获取输出类型
|
//4.获取输出类型
|
||||||
for(int index(0);index<m_nOutputNum;index++)
|
for(int index(0);index<m_nOutputNum;index++)
|
||||||
{
|
{
|
||||||
std::string value;
|
std::string value;
|
||||||
std::string stoutdata = "OutputType"+ kbd_public::IntToString(index+1);
|
std::string stoutdata = "OutputType"+ iot_public::IntToString(index+1);
|
||||||
const char *CN_OutData = stoutdata.c_str();
|
const char *CN_OutData = stoutdata.c_str();
|
||||||
if ( kbdSuccess != m_ptrDiagData->getModProperty( stModuleKey, CN_OutData, value ))
|
if ( kbdSuccess != m_ptrDiagData->getModProperty( stModuleKey, CN_OutData, value ))
|
||||||
{
|
{
|
||||||
@ -93,7 +93,7 @@ int MultiMap::init(const SFbdModKey &stModuleKey, const std::string &)
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
m_outTypeVec.push_back(kbd_public::StringToInt(value));
|
m_outTypeVec.push_back(iot_public::StringToInt(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//5.获取输出参数
|
//5.获取输出参数
|
||||||
@ -279,7 +279,7 @@ bool MultiMap::fromMultiMapJson(const char *json)
|
|||||||
m_nRows = objDocRoot["multirows"].GetInt();
|
m_nRows = objDocRoot["multirows"].GetInt();
|
||||||
for(int index(0);index<m_nRows;index++)
|
for(int index(0);index<m_nRows;index++)
|
||||||
{
|
{
|
||||||
std::string curRow = "multirow"+kbd_public::IntToString(index);
|
std::string curRow = "multirow"+iot_public::IntToString(index);
|
||||||
if(objDocRoot.HasMember(curRow.c_str())
|
if(objDocRoot.HasMember(curRow.c_str())
|
||||||
&& objDocRoot[curRow.c_str()].IsObject())
|
&& objDocRoot[curRow.c_str()].IsObject())
|
||||||
{
|
{
|
||||||
@ -310,11 +310,11 @@ bool MultiMap::fromMultiMapJson(const char *json)
|
|||||||
switch (m_outTypeVec.at((int)size)) {
|
switch (m_outTypeVec.at((int)size)) {
|
||||||
case EN_Multi_Map_Int:
|
case EN_Multi_Map_Int:
|
||||||
multiValue.nType = EN_Multi_Map_Int;
|
multiValue.nType = EN_Multi_Map_Int;
|
||||||
multiValue.nValue = kbd_public::StringToInt(stValue);
|
multiValue.nValue = iot_public::StringToInt(stValue);
|
||||||
break;
|
break;
|
||||||
case EN_Multi_Map_Double:
|
case EN_Multi_Map_Double:
|
||||||
multiValue.nType = EN_Multi_Map_Double;
|
multiValue.nType = EN_Multi_Map_Double;
|
||||||
multiValue.dValue = kbd_public::StringToDouble(stValue);
|
multiValue.dValue = iot_public::StringToDouble(stValue);
|
||||||
break;
|
break;
|
||||||
case EN_Multi_Map_Bool:
|
case EN_Multi_Map_Bool:
|
||||||
multiValue.nType = EN_Multi_Map_Bool;
|
multiValue.nType = EN_Multi_Map_Bool;
|
||||||
@ -335,7 +335,7 @@ bool MultiMap::fromMultiMapJson(const char *json)
|
|||||||
std::vector<MultiMapValue> multiVec;
|
std::vector<MultiMapValue> multiVec;
|
||||||
switch (m_nFirstType) {
|
switch (m_nFirstType) {
|
||||||
case EN_Multi_Map_Int:
|
case EN_Multi_Map_Int:
|
||||||
nkey = kbd_public::StringToInt(rowKey);
|
nkey = iot_public::StringToInt(rowKey);
|
||||||
if(size == 0)
|
if(size == 0)
|
||||||
{
|
{
|
||||||
multiVec.push_back(multiValue);
|
multiVec.push_back(multiValue);
|
||||||
@ -346,7 +346,7 @@ bool MultiMap::fromMultiMapJson(const char *json)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EN_Multi_Map_Double:
|
case EN_Multi_Map_Double:
|
||||||
dkey = kbd_public::StringToDouble(rowKey);
|
dkey = iot_public::StringToDouble(rowKey);
|
||||||
if(size == 0)
|
if(size == 0)
|
||||||
{
|
{
|
||||||
multiVec.push_back(multiValue);
|
multiVec.push_back(multiValue);
|
||||||
|
|||||||
@ -170,7 +170,7 @@ int CCall::calculate()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 拼接参数
|
// 拼接参数
|
||||||
m_objVsmsMsg.set_time( kbd_public::getUTCTimeMsec() );
|
m_objVsmsMsg.set_time( iot_public::getUTCTimeMsec() );
|
||||||
m_objVsmsMsg.set_number(stRecipients.m_strValue );
|
m_objVsmsMsg.set_number(stRecipients.m_strValue );
|
||||||
m_objVsmsMsg.set_content( stContent.m_strValue);
|
m_objVsmsMsg.set_content( stContent.m_strValue);
|
||||||
|
|
||||||
@ -198,8 +198,8 @@ boost::shared_ptr<CCall> CCall::create()
|
|||||||
|
|
||||||
int CCall::sendToPushSrv( )
|
int CCall::sendToPushSrv( )
|
||||||
{
|
{
|
||||||
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(m_objVsmsMsg);
|
msg.setData(m_objVsmsMsg);
|
||||||
msg.setSubject(CN_AppId_COMAPP,CH_PSH_APP_TO_SRV_PRTBF);
|
msg.setSubject(CN_AppId_COMAPP,CH_PSH_APP_TO_SRV_PRTBF);
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@ private:
|
|||||||
private:
|
private:
|
||||||
CFbdDiagDataApiPtr m_ptrDiagData; // Diagram数据接口
|
CFbdDiagDataApiPtr m_ptrDiagData; // Diagram数据接口
|
||||||
SFbdModKey m_stModKey; // 模块标识
|
SFbdModKey m_stModKey; // 模块标识
|
||||||
kbd_net::CMbCommunicator m_objComm; // 通信器
|
iot_net::CMbCommunicator m_objComm; // 通信器
|
||||||
|
|
||||||
//< 每次caculate获取
|
//< 每次caculate获取
|
||||||
SFbdValueKey m_stInKeyRecipients; // 输入参数-收件人 ;分隔,结尾不要有分号 例如 15161133765;19928846021
|
SFbdValueKey m_stInKeyRecipients; // 输入参数-收件人 ;分隔,结尾不要有分号 例如 15161133765;19928846021
|
||||||
@ -62,7 +62,7 @@ private:
|
|||||||
std::string m_strPassword; //密码
|
std::string m_strPassword; //密码
|
||||||
//> init获取
|
//> init获取
|
||||||
|
|
||||||
kbd_idlfile::SBBNIOT_VSMS m_objVsmsMsg; // protobuf 消息 部分内容可以init时加载
|
iot_idl::SBBNIOT_VSMS m_objVsmsMsg; // protobuf 消息 部分内容可以init时加载
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -169,7 +169,7 @@ int CSms::calculate()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 拼接参数
|
// 拼接参数
|
||||||
m_objVsmsMsg.set_time( kbd_public::getUTCTimeMsec() );
|
m_objVsmsMsg.set_time( iot_public::getUTCTimeMsec() );
|
||||||
m_objVsmsMsg.set_number(stRecipients.m_strValue );
|
m_objVsmsMsg.set_number(stRecipients.m_strValue );
|
||||||
m_objVsmsMsg.set_content( stContent.m_strValue);
|
m_objVsmsMsg.set_content( stContent.m_strValue);
|
||||||
|
|
||||||
@ -198,8 +198,8 @@ boost::shared_ptr<CSms> CSms::create()
|
|||||||
|
|
||||||
int CSms::sendToPushSrv( )
|
int CSms::sendToPushSrv( )
|
||||||
{
|
{
|
||||||
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(m_objVsmsMsg);
|
msg.setData(m_objVsmsMsg);
|
||||||
msg.setSubject(CN_AppId_COMAPP,CH_PSH_APP_TO_SRV_PRTBF);
|
msg.setSubject(CN_AppId_COMAPP,CH_PSH_APP_TO_SRV_PRTBF);
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@ private:
|
|||||||
private:
|
private:
|
||||||
CFbdDiagDataApiPtr m_ptrDiagData; // Diagram数据接口
|
CFbdDiagDataApiPtr m_ptrDiagData; // Diagram数据接口
|
||||||
SFbdModKey m_stModKey; // 模块标识
|
SFbdModKey m_stModKey; // 模块标识
|
||||||
kbd_net::CMbCommunicator m_objComm; // 通信器
|
iot_net::CMbCommunicator m_objComm; // 通信器
|
||||||
|
|
||||||
//< 每次caculate获取
|
//< 每次caculate获取
|
||||||
SFbdValueKey m_stInKeyRecipients; // 输入参数-收件人 ;分隔,结尾不要有分号 例如 15161133765;19928846021
|
SFbdValueKey m_stInKeyRecipients; // 输入参数-收件人 ;分隔,结尾不要有分号 例如 15161133765;19928846021
|
||||||
@ -62,7 +62,7 @@ private:
|
|||||||
std::string m_strPassword; //密码
|
std::string m_strPassword; //密码
|
||||||
//> init获取
|
//> init获取
|
||||||
|
|
||||||
kbd_idlfile::SBBNIOT_VSMS m_objVsmsMsg; // protobuf 消息 部分内容可以init时加载
|
iot_idl::SBBNIOT_VSMS m_objVsmsMsg; // protobuf 消息 部分内容可以init时加载
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -97,21 +97,21 @@ int CSmtpMail::init( const SFbdModKey &stModuleKey, const std::string &/*strExtr
|
|||||||
}
|
}
|
||||||
int nConnType = std::stoi( strConnType );
|
int nConnType = std::stoi( strConnType );
|
||||||
|
|
||||||
if( !(nConnType == kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_TCP_CONNECTION
|
if( !(nConnType == iot_idl::SSMTP_MAIL_enConnectionType_CT_TCP_CONNECTION
|
||||||
|| nConnType == kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_SSL_CONNECTION
|
|| nConnType == iot_idl::SSMTP_MAIL_enConnectionType_CT_SSL_CONNECTION
|
||||||
|| nConnType == kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_TLS_CONNECTION)
|
|| nConnType == iot_idl::SSMTP_MAIL_enConnectionType_CT_TLS_CONNECTION)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
LOGERROR("unknown smtp connection type-[%d]",nConnType);
|
LOGERROR("unknown smtp connection type-[%d]",nConnType);
|
||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
if(nConnType == kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_TCP_CONNECTION){
|
if(nConnType == iot_idl::SSMTP_MAIL_enConnectionType_CT_TCP_CONNECTION){
|
||||||
m_emConnType = kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_TCP_CONNECTION;
|
m_emConnType = iot_idl::SSMTP_MAIL_enConnectionType_CT_TCP_CONNECTION;
|
||||||
}else if(nConnType == kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_SSL_CONNECTION){
|
}else if(nConnType == iot_idl::SSMTP_MAIL_enConnectionType_CT_SSL_CONNECTION){
|
||||||
m_emConnType = kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_SSL_CONNECTION;
|
m_emConnType = iot_idl::SSMTP_MAIL_enConnectionType_CT_SSL_CONNECTION;
|
||||||
}else{
|
}else{
|
||||||
m_emConnType = kbd_idlfile::SSMTP_MAIL_enConnectionType_CT_TLS_CONNECTION;
|
m_emConnType = iot_idl::SSMTP_MAIL_enConnectionType_CT_TLS_CONNECTION;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -227,7 +227,7 @@ int CSmtpMail::calculate()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 拼接参数
|
// 拼接参数
|
||||||
m_objMail.set_time( kbd_public::getUTCTimeMsec() );
|
m_objMail.set_time( iot_public::getUTCTimeMsec() );
|
||||||
|
|
||||||
m_objMail.set_recipients(stRecipients.m_strValue );
|
m_objMail.set_recipients(stRecipients.m_strValue );
|
||||||
m_objMail.set_subject( stSubject.m_strValue);
|
m_objMail.set_subject( stSubject.m_strValue);
|
||||||
@ -257,8 +257,8 @@ boost::shared_ptr<CSmtpMail> CSmtpMail::create()
|
|||||||
|
|
||||||
int CSmtpMail::sendToPushSrv( )
|
int CSmtpMail::sendToPushSrv( )
|
||||||
{
|
{
|
||||||
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(m_objMail);
|
msg.setData(m_objMail);
|
||||||
msg.setSubject(CN_AppId_COMAPP,CH_PSH_APP_TO_SRV_PRTBF);
|
msg.setSubject(CN_AppId_COMAPP,CH_PSH_APP_TO_SRV_PRTBF);
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@ private:
|
|||||||
private:
|
private:
|
||||||
CFbdDiagDataApiPtr m_ptrDiagData; // Diagram数据接口
|
CFbdDiagDataApiPtr m_ptrDiagData; // Diagram数据接口
|
||||||
SFbdModKey m_stModKey; // 模块标识
|
SFbdModKey m_stModKey; // 模块标识
|
||||||
kbd_net::CMbCommunicator m_objComm; // 通信器
|
iot_net::CMbCommunicator m_objComm; // 通信器
|
||||||
|
|
||||||
//< 每次caculate获取
|
//< 每次caculate获取
|
||||||
SFbdValueKey m_stInKeyRecipients; // 输入参数-收件人 ;分隔多收件邮箱结尾不要有分号 例如 ganyuhang@kbdct.com;chenlu@qq.com
|
SFbdValueKey m_stInKeyRecipients; // 输入参数-收件人 ;分隔多收件邮箱结尾不要有分号 例如 ganyuhang@kbdct.com;chenlu@qq.com
|
||||||
@ -60,13 +60,13 @@ private:
|
|||||||
//< init获取
|
//< init获取
|
||||||
std::string m_strSrvAddr; //服务器地址
|
std::string m_strSrvAddr; //服务器地址
|
||||||
std::string m_strPort; //smtp端口
|
std::string m_strPort; //smtp端口
|
||||||
kbd_idlfile::SSMTP_MAIL_enConnectionType m_emConnType; //链接方式
|
iot_idl::SSMTP_MAIL_enConnectionType m_emConnType; //链接方式
|
||||||
std::string m_strSender; //发件人
|
std::string m_strSender; //发件人
|
||||||
std::string m_strUsername; //用户名
|
std::string m_strUsername; //用户名
|
||||||
std::string m_strPassword; //密码
|
std::string m_strPassword; //密码
|
||||||
//> init获取
|
//> init获取
|
||||||
|
|
||||||
kbd_idlfile::SSMTP_MAIL m_objMail; // protobuf 消息 部分内容可以init时加载
|
iot_idl::SSMTP_MAIL m_objMail; // protobuf 消息 部分内容可以init时加载
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -64,7 +64,7 @@ int TimeTrigger::init(const SFbdModKey &stModuleKey, const std::string &)
|
|||||||
return kbdFailed;
|
return kbdFailed;
|
||||||
}
|
}
|
||||||
boost::posix_time::ptime curTime = boost::posix_time::second_clock::local_time();
|
boost::posix_time::ptime curTime = boost::posix_time::second_clock::local_time();
|
||||||
m_nLastTriggerTime = kbd_public::convertLocalTimeToUTC(curTime);
|
m_nLastTriggerTime = iot_public::convertLocalTimeToUTC(curTime);
|
||||||
//3.计算下次触发时间
|
//3.计算下次触发时间
|
||||||
if(calcNextTime(curTime) != kbdSuccess)
|
if(calcNextTime(curTime) != kbdSuccess)
|
||||||
{
|
{
|
||||||
@ -126,7 +126,7 @@ int TimeTrigger::setAllOutputInvalid()
|
|||||||
int TimeTrigger::handleTrigger()
|
int TimeTrigger::handleTrigger()
|
||||||
{
|
{
|
||||||
boost::posix_time::ptime curTime = boost::posix_time::second_clock::local_time();
|
boost::posix_time::ptime curTime = boost::posix_time::second_clock::local_time();
|
||||||
m_nCurTime = kbd_public::convertLocalTimeToUTC(curTime);
|
m_nCurTime = iot_public::convertLocalTimeToUTC(curTime);
|
||||||
if(m_nCurTime < m_nLastTriggerTime)
|
if(m_nCurTime < m_nLastTriggerTime)
|
||||||
{
|
{
|
||||||
//此处不打印日志,不然很多
|
//此处不打印日志,不然很多
|
||||||
@ -209,18 +209,18 @@ bool TimeTrigger::parseTime(const std::string &time)
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
int index0 = kbd_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_0));
|
int index0 = iot_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_0));
|
||||||
if(size == EConstOrIntervalSection)//定时或者间隔
|
if(size == EConstOrIntervalSection)//定时或者间隔
|
||||||
{
|
{
|
||||||
|
|
||||||
if( index0 == E_TIMETRIGGER_CONST) //定时
|
if( index0 == E_TIMETRIGGER_CONST) //定时
|
||||||
{
|
{
|
||||||
m_nTriggerType = E_TIMETRIGGER_CONST;
|
m_nTriggerType = E_TIMETRIGGER_CONST;
|
||||||
m_nConstTriggerTime = kbd_public::StringToLong(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_1));
|
m_nConstTriggerTime = iot_public::StringToLong(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_1));
|
||||||
}else if(index0 == E_TIMETRIGGER_INTERVAL)//间隔
|
}else if(index0 == E_TIMETRIGGER_INTERVAL)//间隔
|
||||||
{
|
{
|
||||||
m_nTriggerType = E_TIMETRIGGER_INTERVAL;
|
m_nTriggerType = E_TIMETRIGGER_INTERVAL;
|
||||||
m_nIntervalTime = kbd_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_1));
|
m_nIntervalTime = iot_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_1));
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
LOGERROR("第一个值错误[%d],在此处只能为[%d]或[%d]",index0,E_TIMETRIGGER_CONST,E_TIMETRIGGER_PERIOD);
|
LOGERROR("第一个值错误[%d],在此处只能为[%d]或[%d]",index0,E_TIMETRIGGER_CONST,E_TIMETRIGGER_PERIOD);
|
||||||
@ -228,10 +228,10 @@ bool TimeTrigger::parseTime(const std::string &time)
|
|||||||
}
|
}
|
||||||
}else if(size >= EPeriodSecondSection && size <= EPeriodYearSection)
|
}else if(size >= EPeriodSecondSection && size <= EPeriodYearSection)
|
||||||
{
|
{
|
||||||
m_nBeginTime = kbd_public::StringToLong(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_1));
|
m_nBeginTime = iot_public::StringToLong(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_1));
|
||||||
m_nEndTime = kbd_public::StringToLong(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_2));
|
m_nEndTime = iot_public::StringToLong(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_2));
|
||||||
LOGDEBUG("模块[%s],BEGING:%ld,END:%ld",m_stModKey.toString().c_str(),m_nBeginTime,m_nEndTime);
|
LOGDEBUG("模块[%s],BEGING:%ld,END:%ld",m_stModKey.toString().c_str(),m_nBeginTime,m_nEndTime);
|
||||||
int iperiod = kbd_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_3));
|
int iperiod = iot_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_3));
|
||||||
m_nTriggerType = E_TIMETRIGGER_PERIOD;
|
m_nTriggerType = E_TIMETRIGGER_PERIOD;
|
||||||
switch (iperiod) {
|
switch (iperiod) {
|
||||||
case E_TIMETRIGGER_PERIOD_SECOND://每秒触发
|
case E_TIMETRIGGER_PERIOD_SECOND://每秒触发
|
||||||
@ -310,7 +310,7 @@ bool TimeTrigger::parseSecond(const std::vector<std::string> &)
|
|||||||
|
|
||||||
bool TimeTrigger::parseMinute(const std::vector<std::string> &vecParam)
|
bool TimeTrigger::parseMinute(const std::vector<std::string> &vecParam)
|
||||||
{
|
{
|
||||||
m_nSecond =kbd_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_4));
|
m_nSecond =iot_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_4));
|
||||||
if(m_nSecond<0 || m_nSecond >60)
|
if(m_nSecond<0 || m_nSecond >60)
|
||||||
{
|
{
|
||||||
LOGERROR("模块[%s]秒配置[%d]不可大于60或小于0",m_stModKey.toString().c_str(),m_nSecond);
|
LOGERROR("模块[%s]秒配置[%d]不可大于60或小于0",m_stModKey.toString().c_str(),m_nSecond);
|
||||||
@ -326,7 +326,7 @@ bool TimeTrigger::parseHour(const std::vector<std::string> &vecParam)
|
|||||||
return false;
|
return false;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
m_nMinute =kbd_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_5));
|
m_nMinute =iot_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_5));
|
||||||
if(m_nMinute<0 || m_nMinute >60)
|
if(m_nMinute<0 || m_nMinute >60)
|
||||||
{
|
{
|
||||||
LOGERROR("模块[%s]分钟配置[%d]不可大于60或小于0",m_stModKey.toString().c_str(),m_nSecond);
|
LOGERROR("模块[%s]分钟配置[%d]不可大于60或小于0",m_stModKey.toString().c_str(),m_nSecond);
|
||||||
@ -343,7 +343,7 @@ bool TimeTrigger::parseDay(const std::vector<std::string> &vecParam)
|
|||||||
return false;
|
return false;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
m_nHour =kbd_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_6));
|
m_nHour =iot_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_6));
|
||||||
if(m_nHour<0 || m_nHour >23)
|
if(m_nHour<0 || m_nHour >23)
|
||||||
{
|
{
|
||||||
LOGERROR("模块[%s]小时配置[%d]不可大于23或小于0",m_stModKey.toString().c_str(),m_nHour);
|
LOGERROR("模块[%s]小时配置[%d]不可大于23或小于0",m_stModKey.toString().c_str(),m_nHour);
|
||||||
@ -360,7 +360,7 @@ bool TimeTrigger::parseWeek(const std::vector<std::string> &vecParam)
|
|||||||
return false;
|
return false;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
m_nWeek =kbd_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_7));
|
m_nWeek =iot_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_7));
|
||||||
if(m_nWeek<0 || m_nWeek >6)
|
if(m_nWeek<0 || m_nWeek >6)
|
||||||
{
|
{
|
||||||
LOGERROR("模块[%s]星期配置[%d]不可大于6或小于0",m_stModKey.toString().c_str(),m_nWeek);
|
LOGERROR("模块[%s]星期配置[%d]不可大于6或小于0",m_stModKey.toString().c_str(),m_nWeek);
|
||||||
@ -377,7 +377,7 @@ bool TimeTrigger::parseMonth(const std::vector<std::string> &vecParam)
|
|||||||
return false;
|
return false;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
m_nDay =kbd_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_7));
|
m_nDay =iot_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_7));
|
||||||
if(m_nDay<1 || m_nDay >31)
|
if(m_nDay<1 || m_nDay >31)
|
||||||
{
|
{
|
||||||
LOGERROR("模块[%s]日期配置[%d]不可大于31或小于1",m_stModKey.toString().c_str(),m_nDay);
|
LOGERROR("模块[%s]日期配置[%d]不可大于31或小于1",m_stModKey.toString().c_str(),m_nDay);
|
||||||
@ -394,7 +394,7 @@ bool TimeTrigger::parseYear(const std::vector<std::string> &vecParam)
|
|||||||
return false;
|
return false;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
m_nMonth =kbd_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_8));
|
m_nMonth =iot_public::StringToInt(vecParam.at(E_TIMETRIGGER_SPLIT_INDEX_8));
|
||||||
if(m_nMonth<1|| m_nMonth >12)
|
if(m_nMonth<1|| m_nMonth >12)
|
||||||
{
|
{
|
||||||
LOGERROR("模块[%s]月份配置[%d]不可大于12或小于1",m_stModKey.toString().c_str(),m_nMonth);
|
LOGERROR("模块[%s]月份配置[%d]不可大于12或小于1",m_stModKey.toString().c_str(),m_nMonth);
|
||||||
@ -417,7 +417,7 @@ bool TimeTrigger::parseYear(const std::vector<std::string> &vecParam)
|
|||||||
void TimeTrigger::updateLastTime()
|
void TimeTrigger::updateLastTime()
|
||||||
{
|
{
|
||||||
boost::posix_time::ptime curTime = boost::posix_time::second_clock::local_time();
|
boost::posix_time::ptime curTime = boost::posix_time::second_clock::local_time();
|
||||||
m_nLastTriggerTime = kbd_public::convertLocalTimeToUTC(curTime);
|
m_nLastTriggerTime = iot_public::convertLocalTimeToUTC(curTime);
|
||||||
if(kbdSuccess != calcNextTime(curTime))
|
if(kbdSuccess != calcNextTime(curTime))
|
||||||
{
|
{
|
||||||
LOGERROR( "模块[%s]计算下次计算时间出错",m_stModKey.toString().c_str());
|
LOGERROR( "模块[%s]计算下次计算时间出错",m_stModKey.toString().c_str());
|
||||||
@ -507,7 +507,7 @@ int TimeTrigger::calcYear(int year)
|
|||||||
return calcYear(year+1);
|
return calcYear(year+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_nNextTriggerTime = kbd_public::convertLocalTimeToUTC(t1);
|
m_nNextTriggerTime = iot_public::convertLocalTimeToUTC(t1);
|
||||||
if(m_nNextTriggerTime <= m_nLastTriggerTime)
|
if(m_nNextTriggerTime <= m_nLastTriggerTime)
|
||||||
{
|
{
|
||||||
return calcYear(year+1);
|
return calcYear(year+1);
|
||||||
@ -532,7 +532,7 @@ int TimeTrigger::calcMonth(int year,int month)
|
|||||||
return calcMonth(year,month+1);
|
return calcMonth(year,month+1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_nNextTriggerTime = kbd_public::convertLocalTimeToUTC(t1);
|
m_nNextTriggerTime = iot_public::convertLocalTimeToUTC(t1);
|
||||||
if(m_nNextTriggerTime <= m_nLastTriggerTime)
|
if(m_nNextTriggerTime <= m_nLastTriggerTime)
|
||||||
{
|
{
|
||||||
if(month == 12)
|
if(month == 12)
|
||||||
@ -553,8 +553,8 @@ int TimeTrigger::calcWeek(int year, int month, int day, int week, int hour, int
|
|||||||
ptime t1(date(year,month,day),time_duration(m_nHour,m_nMinute,m_nSecond));
|
ptime t1(date(year,month,day),time_duration(m_nHour,m_nMinute,m_nSecond));
|
||||||
|
|
||||||
int nMsec = 0;
|
int nMsec = 0;
|
||||||
uint64 last =kbd_public::getUTCMsecFromLocalTime(year,month,day,hour,minute,second,nMsec);
|
uint64 last =iot_public::getUTCMsecFromLocalTime(year,month,day,hour,minute,second,nMsec);
|
||||||
uint64 now =kbd_public::getUTCMsecFromLocalTime(year,month,day,m_nHour,m_nMinute,m_nSecond,nMsec);
|
uint64 now =iot_public::getUTCMsecFromLocalTime(year,month,day,m_nHour,m_nMinute,m_nSecond,nMsec);
|
||||||
if(now <= last)
|
if(now <= last)
|
||||||
{
|
{
|
||||||
days dd(7);
|
days dd(7);
|
||||||
@ -571,7 +571,7 @@ int TimeTrigger::calcWeek(int year, int month, int day, int week, int hour, int
|
|||||||
t1+=dd;
|
t1+=dd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_nNextTriggerTime = kbd_public::convertLocalTimeToUTC(t1);
|
m_nNextTriggerTime = iot_public::convertLocalTimeToUTC(t1);
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -581,12 +581,12 @@ int TimeTrigger::calcDay(int year, int month, int day)
|
|||||||
using namespace boost::posix_time;
|
using namespace boost::posix_time;
|
||||||
ptime t1(date(year,month,day),time_duration(m_nHour,m_nMinute,m_nSecond));
|
ptime t1(date(year,month,day),time_duration(m_nHour,m_nMinute,m_nSecond));
|
||||||
|
|
||||||
m_nNextTriggerTime = kbd_public::convertLocalTimeToUTC(t1);
|
m_nNextTriggerTime = iot_public::convertLocalTimeToUTC(t1);
|
||||||
if(m_nNextTriggerTime <= m_nLastTriggerTime)
|
if(m_nNextTriggerTime <= m_nLastTriggerTime)
|
||||||
{
|
{
|
||||||
days dd(1);
|
days dd(1);
|
||||||
t1+= dd;
|
t1+= dd;
|
||||||
m_nNextTriggerTime = kbd_public::convertLocalTimeToUTC(t1);
|
m_nNextTriggerTime = iot_public::convertLocalTimeToUTC(t1);
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
@ -598,12 +598,12 @@ int TimeTrigger::calcHour(int year, int month, int day, int hour)
|
|||||||
using namespace boost::posix_time;
|
using namespace boost::posix_time;
|
||||||
ptime t1(date(year,month,day),time_duration(hour,m_nMinute,m_nSecond));
|
ptime t1(date(year,month,day),time_duration(hour,m_nMinute,m_nSecond));
|
||||||
|
|
||||||
m_nNextTriggerTime = kbd_public::convertLocalTimeToUTC(t1);
|
m_nNextTriggerTime = iot_public::convertLocalTimeToUTC(t1);
|
||||||
if(m_nNextTriggerTime <= m_nLastTriggerTime)
|
if(m_nNextTriggerTime <= m_nLastTriggerTime)
|
||||||
{
|
{
|
||||||
hours hh(1);
|
hours hh(1);
|
||||||
t1+= hh;
|
t1+= hh;
|
||||||
m_nNextTriggerTime = kbd_public::convertLocalTimeToUTC(t1);
|
m_nNextTriggerTime = iot_public::convertLocalTimeToUTC(t1);
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
@ -615,12 +615,12 @@ int TimeTrigger::calcMinute(int year, int month, int day, int hour, int minute)
|
|||||||
using namespace boost::posix_time;
|
using namespace boost::posix_time;
|
||||||
ptime t1(date(year,month,day),time_duration(hour,minute,m_nSecond));
|
ptime t1(date(year,month,day),time_duration(hour,minute,m_nSecond));
|
||||||
|
|
||||||
m_nNextTriggerTime = kbd_public::convertLocalTimeToUTC(t1);
|
m_nNextTriggerTime = iot_public::convertLocalTimeToUTC(t1);
|
||||||
if(m_nNextTriggerTime <= m_nLastTriggerTime)
|
if(m_nNextTriggerTime <= m_nLastTriggerTime)
|
||||||
{
|
{
|
||||||
minutes mm(1);
|
minutes mm(1);
|
||||||
t1+= mm;
|
t1+= mm;
|
||||||
m_nNextTriggerTime = kbd_public::convertLocalTimeToUTC(t1);
|
m_nNextTriggerTime = iot_public::convertLocalTimeToUTC(t1);
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
|
|||||||
@ -154,9 +154,9 @@ int VideoControl::handleControl(const std::string &locTag, const std::string &ap
|
|||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
const kbd_public::SRunAppInfo &stRunAppInfo = getFbdSysInfoApi()->getCurrentRunAppInfo();
|
const iot_public::SRunAppInfo &stRunAppInfo = getFbdSysInfoApi()->getCurrentRunAppInfo();
|
||||||
|
|
||||||
kbd_public::SLocationInfo stLocationInfo;
|
iot_public::SLocationInfo stLocationInfo;
|
||||||
CFbdSysInfoApiPtr ptrSysInfo = getFbdSysInfoApi();
|
CFbdSysInfoApiPtr ptrSysInfo = getFbdSysInfoApi();
|
||||||
if ( ptrSysInfo == nullptr )
|
if ( ptrSysInfo == nullptr )
|
||||||
{
|
{
|
||||||
@ -169,29 +169,29 @@ int VideoControl::handleControl(const std::string &locTag, const std::string &ap
|
|||||||
LOGERROR("模块[%s]获取位置信息出错[%s]!",m_stModKey.toString().c_str(),locTag.c_str());
|
LOGERROR("模块[%s]获取位置信息出错[%s]!",m_stModKey.toString().c_str(),locTag.c_str());
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
kbd_public::SAppInfo stAppInfo;
|
iot_public::SAppInfo stAppInfo;
|
||||||
if(ptrSysInfo->getSysInfo().getAppInfoByName(app,stAppInfo))
|
if(ptrSysInfo->getSysInfo().getAppInfoByName(app,stAppInfo))
|
||||||
{
|
{
|
||||||
LOGERROR("模块[%s]获取应用信息出错[%s]!",m_stModKey.toString().c_str(),app.c_str());
|
LOGERROR("模块[%s]获取应用信息出错[%s]!",m_stModKey.toString().c_str(),app.c_str());
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
::kbd_idlfile::SVideoControlRequest videoControlRequest;
|
::iot_idl::SVideoControlRequest videoControlRequest;
|
||||||
|
|
||||||
videoControlRequest.set_strsourcetag(m_stModKey.toString());
|
videoControlRequest.set_strsourcetag(m_stModKey.toString());
|
||||||
videoControlRequest.set_nappid(stAppInfo.nId);//接收者所在应用
|
videoControlRequest.set_nappid(stAppInfo.nId);//接收者所在应用
|
||||||
videoControlRequest.set_strhostname(stRunAppInfo.strLocalNodeName);
|
videoControlRequest.set_strhostname(stRunAppInfo.strLocalNodeName);
|
||||||
videoControlRequest.set_nifneedreturn(0);
|
videoControlRequest.set_nifneedreturn(0);
|
||||||
videoControlRequest.set_ultime(kbd_public::getUTCTimeMsec());
|
videoControlRequest.set_ultime(iot_public::getUTCTimeMsec());
|
||||||
// 添加转到预置点命令
|
// 添加转到预置点命令
|
||||||
::kbd_idlfile::SVideoControlQueue *stKeyValue1 = videoControlRequest.add_seqcmddata();
|
::iot_idl::SVideoControlQueue *stKeyValue1 = videoControlRequest.add_seqcmddata();
|
||||||
stKeyValue1->set_strkeyname(KEY_CMD_TYPE);
|
stKeyValue1->set_strkeyname(KEY_CMD_TYPE);
|
||||||
stKeyValue1->set_strkeyvalue(CCTV_ONVIF_GOTOPRESET);
|
stKeyValue1->set_strkeyvalue(CCTV_ONVIF_GOTOPRESET);
|
||||||
// 添加摄像头标签
|
// 添加摄像头标签
|
||||||
::kbd_idlfile::SVideoControlQueue *stKeyValue2 = videoControlRequest.add_seqcmddata();
|
::iot_idl::SVideoControlQueue *stKeyValue2 = videoControlRequest.add_seqcmddata();
|
||||||
stKeyValue2->set_strkeyname(CAMERA_TAG);
|
stKeyValue2->set_strkeyname(CAMERA_TAG);
|
||||||
stKeyValue2->set_strkeyvalue(camera);
|
stKeyValue2->set_strkeyvalue(camera);
|
||||||
// 添加预置点标签
|
// 添加预置点标签
|
||||||
::kbd_idlfile::SVideoControlQueue *stKeyValue3 = videoControlRequest.add_seqcmddata();
|
::iot_idl::SVideoControlQueue *stKeyValue3 = videoControlRequest.add_seqcmddata();
|
||||||
stKeyValue3->set_strkeyname(PRESET_TAG);
|
stKeyValue3->set_strkeyname(PRESET_TAG);
|
||||||
stKeyValue3->set_strkeyvalue(preset);
|
stKeyValue3->set_strkeyvalue(preset);
|
||||||
|
|
||||||
@ -203,7 +203,7 @@ int VideoControl::handleControl(const std::string &locTag, const std::string &ap
|
|||||||
LOGERROR("模块[%s]生成控制命令失败",m_stModKey.toString().c_str());
|
LOGERROR("模块[%s]生成控制命令失败",m_stModKey.toString().c_str());
|
||||||
return kbdSuccess;
|
return kbdSuccess;
|
||||||
}
|
}
|
||||||
kbd_net::CMbMessage objMsg( strSendBuff, stRunAppInfo.nAppId, CH_APP_TO_VIDEO_CTRL_DOWN, ::kbd_idlfile::MT_VIDEO_CONTROL_MSG_FROM_FBD );
|
iot_net::CMbMessage objMsg( strSendBuff, stRunAppInfo.nAppId, CH_APP_TO_VIDEO_CTRL_DOWN, ::iot_idl::MT_VIDEO_CONTROL_MSG_FROM_FBD );
|
||||||
if ( !objMsg.isValid())
|
if ( !objMsg.isValid())
|
||||||
{
|
{
|
||||||
LOGERROR( "模块[%s]构造CMbMessage失败",m_stModKey.toString().c_str() );
|
LOGERROR( "模块[%s]构造CMbMessage失败",m_stModKey.toString().c_str() );
|
||||||
|
|||||||
@ -51,7 +51,7 @@ private:
|
|||||||
|
|
||||||
SFbdModKey m_stModKey; //< 模块标识
|
SFbdModKey m_stModKey; //< 模块标识
|
||||||
|
|
||||||
kbd_net::CMbCommunicator m_objCommon;
|
iot_net::CMbCommunicator m_objCommon;
|
||||||
};
|
};
|
||||||
BOOST_DLL_ALIAS(
|
BOOST_DLL_ALIAS(
|
||||||
VideoControl::create, // 要导出的函数
|
VideoControl::create, // 要导出的函数
|
||||||
|
|||||||
@ -15,12 +15,12 @@
|
|||||||
|
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_service;
|
using namespace iot_service;
|
||||||
using namespace kbd_idlfile;
|
using namespace iot_idl;
|
||||||
|
|
||||||
kbd_app::CBasicOperation::CBasicOperation(const kbd_public::SRunAppInfo &stRunAppInfo)
|
kbd_app::CBasicOperation::CBasicOperation(const iot_public::SRunAppInfo &stRunAppInfo)
|
||||||
:m_stRunAppInfo(stRunAppInfo),
|
:m_stRunAppInfo(stRunAppInfo),
|
||||||
m_ptrAlarmApi(NULL)
|
m_ptrAlarmApi(NULL)
|
||||||
{
|
{
|
||||||
@ -58,7 +58,7 @@ bool kbd_app::CBasicOperation::stopAlarmSvr()
|
|||||||
/* @brief 发送报警信息 */
|
/* @brief 发送报警信息 */
|
||||||
bool kbd_app::CBasicOperation::sendAlarm(const SConstPaCmdValue &sConstPaCmdValue,const std::string &resultStr)
|
bool kbd_app::CBasicOperation::sendAlarm(const SConstPaCmdValue &sConstPaCmdValue,const std::string &resultStr)
|
||||||
{
|
{
|
||||||
kbd_idlfile::SAppAddAlm objAlarm;
|
iot_idl::SAppAddAlm objAlarm;
|
||||||
SAlmInfoFromApp *pAlmInfo = objAlarm.add_alm_info();
|
SAlmInfoFromApp *pAlmInfo = objAlarm.add_alm_info();
|
||||||
pAlmInfo->set_alm_type(sConstPaCmdValue.sOptAlarmInfo.nAlarmType); //报警类型
|
pAlmInfo->set_alm_type(sConstPaCmdValue.sOptAlarmInfo.nAlarmType); //报警类型
|
||||||
pAlmInfo->set_status(sConstPaCmdValue.sOptAlarmInfo.nAlarmStatus); //报警状态
|
pAlmInfo->set_status(sConstPaCmdValue.sOptAlarmInfo.nAlarmStatus); //报警状态
|
||||||
@ -90,7 +90,7 @@ bool kbd_app::CBasicOperation::sendAlarm(const SConstPaCmdValue &sConstPaCmdValu
|
|||||||
}
|
}
|
||||||
bool kbd_app::CBasicOperation::sendAlarm(const std::string &resultStr,const SOptAlarmInfo &sOptAlarmInfo)
|
bool kbd_app::CBasicOperation::sendAlarm(const std::string &resultStr,const SOptAlarmInfo &sOptAlarmInfo)
|
||||||
{
|
{
|
||||||
kbd_idlfile::SAppAddAlm objAlarm;
|
iot_idl::SAppAddAlm objAlarm;
|
||||||
SAlmInfoFromApp *pAlmInfo = objAlarm.add_alm_info();
|
SAlmInfoFromApp *pAlmInfo = objAlarm.add_alm_info();
|
||||||
pAlmInfo->set_alm_type(sOptAlarmInfo.nAlarmType); //报警类型
|
pAlmInfo->set_alm_type(sOptAlarmInfo.nAlarmType); //报警类型
|
||||||
pAlmInfo->set_status(sOptAlarmInfo.nAlarmStatus); //报警状态
|
pAlmInfo->set_status(sOptAlarmInfo.nAlarmStatus); //报警状态
|
||||||
|
|||||||
@ -14,7 +14,7 @@ namespace kbd_app
|
|||||||
class CBasicOperation
|
class CBasicOperation
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CBasicOperation(const kbd_public::SRunAppInfo &stRunAppInfo);
|
CBasicOperation(const iot_public::SRunAppInfo &stRunAppInfo);
|
||||||
virtual ~CBasicOperation();
|
virtual ~CBasicOperation();
|
||||||
int initialize();
|
int initialize();
|
||||||
bool startAlarmSvr();
|
bool startAlarmSvr();
|
||||||
@ -22,8 +22,8 @@ namespace kbd_app
|
|||||||
bool sendAlarm(const std::string &resultStr,const SOptAlarmInfo &sOptAlarmInfo);
|
bool sendAlarm(const std::string &resultStr,const SOptAlarmInfo &sOptAlarmInfo);
|
||||||
bool sendAlarm(const SConstPaCmdValue &sConstPaCmdValue,const std::string &resultStr);
|
bool sendAlarm(const SConstPaCmdValue &sConstPaCmdValue,const std::string &resultStr);
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
kbd_service::CAlmApiForAppPtr m_ptrAlarmApi; //< 报警接口
|
iot_service::CAlmApiForAppPtr m_ptrAlarmApi; //< 报警接口
|
||||||
};
|
};
|
||||||
typedef boost::shared_ptr<CBasicOperation> CBasicOperationPtr;
|
typedef boost::shared_ptr<CBasicOperation> CBasicOperationPtr;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,13 +11,13 @@
|
|||||||
#include "PaServerCommon.h"
|
#include "PaServerCommon.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
using namespace kbd_net;
|
using namespace iot_net;
|
||||||
|
|
||||||
|
|
||||||
kbd_app::CPaMsgBusMng::CPaMsgBusMng(const kbd_public::SRunAppInfo &stRunAppInfo)
|
kbd_app::CPaMsgBusMng::CPaMsgBusMng(const iot_public::SRunAppInfo &stRunAppInfo)
|
||||||
:m_stRunAppInfo(stRunAppInfo)
|
:m_stRunAppInfo(stRunAppInfo)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ int kbd_app::CPaMsgBusMng::initialize()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* @brief 接收消息 */
|
/* @brief 接收消息 */
|
||||||
bool kbd_app::CPaMsgBusMng::recvMsg(kbd_net::CMbMessage &objMsg, int nTimeoutMsec /*= 0*/)
|
bool kbd_app::CPaMsgBusMng::recvMsg(iot_net::CMbMessage &objMsg, int nTimeoutMsec /*= 0*/)
|
||||||
{
|
{
|
||||||
return m_objCommunicator.recvMsg(objMsg, nTimeoutMsec);
|
return m_objCommunicator.recvMsg(objMsg, nTimeoutMsec);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,7 +11,7 @@ namespace kbd_app
|
|||||||
class CPaMsgBusMng
|
class CPaMsgBusMng
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPaMsgBusMng(const kbd_public::SRunAppInfo &stRunAppInfo);
|
CPaMsgBusMng(const iot_public::SRunAppInfo &stRunAppInfo);
|
||||||
virtual ~CPaMsgBusMng();
|
virtual ~CPaMsgBusMng();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -31,11 +31,11 @@ namespace kbd_app
|
|||||||
int unsubscribeMessage();
|
int unsubscribeMessage();
|
||||||
/*
|
/*
|
||||||
@brief 接收消息
|
@brief 接收消息
|
||||||
@param kbd_net::CMbMessage & objMsg 返回的消息
|
@param iot_net::CMbMessage & objMsg 返回的消息
|
||||||
@param int nTimeoutMsec 超时时间
|
@param int nTimeoutMsec 超时时间
|
||||||
@return 成功返回true,失败返回false
|
@return 成功返回true,失败返回false
|
||||||
*/
|
*/
|
||||||
bool recvMsg(kbd_net::CMbMessage &objMsg, int nTimeoutMsec = 0);
|
bool recvMsg(iot_net::CMbMessage &objMsg, int nTimeoutMsec = 0);
|
||||||
/*
|
/*
|
||||||
@brief 发送消息
|
@brief 发送消息
|
||||||
@param const std::string & strMsg 消息内容
|
@param const std::string & strMsg 消息内容
|
||||||
@ -52,8 +52,8 @@ namespace kbd_app
|
|||||||
std::string getCommunicatorName();
|
std::string getCommunicatorName();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_net::CMbCommunicator m_objCommunicator; //< 消息总线通信器
|
iot_net::CMbCommunicator m_objCommunicator; //< 消息总线通信器
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::shared_ptr<CPaMsgBusMng> CPaMsgBusMngPtr;
|
typedef boost::shared_ptr<CPaMsgBusMng> CPaMsgBusMngPtr;
|
||||||
|
|||||||
@ -6,11 +6,11 @@
|
|||||||
#include "PaRtdbTableOperate.h"
|
#include "PaRtdbTableOperate.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
|
|
||||||
kbd_app::CPaRtdbTableOperate::CPaRtdbTableOperate(const kbd_public::SRunAppInfo &stRunAppInfo)
|
kbd_app::CPaRtdbTableOperate::CPaRtdbTableOperate(const iot_public::SRunAppInfo &stRunAppInfo)
|
||||||
:m_stRunAppInfo(stRunAppInfo)
|
:m_stRunAppInfo(stRunAppInfo)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,7 +16,7 @@ namespace kbd_app
|
|||||||
class CPaRtdbTableOperate
|
class CPaRtdbTableOperate
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPaRtdbTableOperate(const kbd_public::SRunAppInfo &stRunAppInfo);
|
CPaRtdbTableOperate(const iot_public::SRunAppInfo &stRunAppInfo);
|
||||||
virtual ~CPaRtdbTableOperate();
|
virtual ~CPaRtdbTableOperate();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -70,11 +70,11 @@ namespace kbd_app
|
|||||||
int getPaOperatorId(int nUserGrpId, int &nOperatorId);
|
int getPaOperatorId(int nUserGrpId, int &nOperatorId);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
kbd_dbms::CRdbAccessEx m_objPaAudioInfoTable; //< PA_AUDIO_INFO内存表
|
iot_dbms::CRdbAccessEx m_objPaAudioInfoTable; //< PA_AUDIO_INFO内存表
|
||||||
kbd_dbms::CRdbAccessEx m_objPaTimedAudioTable; //< PA_TIMED_AUDIO内存表
|
iot_dbms::CRdbAccessEx m_objPaTimedAudioTable; //< PA_TIMED_AUDIO内存表
|
||||||
kbd_dbms::CRdbAccessEx m_objPaCtrlTagTable; //< PA_CTRL_TAG内存表
|
iot_dbms::CRdbAccessEx m_objPaCtrlTagTable; //< PA_CTRL_TAG内存表
|
||||||
kbd_dbms::CRdbAccessEx m_objPaOperatorMapTable;//< PA_OPERATOR_MAP内存表
|
iot_dbms::CRdbAccessEx m_objPaOperatorMapTable;//< PA_OPERATOR_MAP内存表
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::shared_ptr<CPaRtdbTableOperate> CPaRtdbTableOperatePtr;
|
typedef boost::shared_ptr<CPaRtdbTableOperate> CPaRtdbTableOperatePtr;
|
||||||
|
|||||||
@ -10,10 +10,10 @@
|
|||||||
#include "PaServerCommon.h"
|
#include "PaServerCommon.h"
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
#define OPT_DESC_APP "app"
|
#define OPT_DESC_APP "app"
|
||||||
#define OPT_DESC_HELP "help"
|
#define OPT_DESC_HELP "help"
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CPaServerApp : public kbd_public::CBaseService, public kbd_sys::CProcessQuitInterface
|
class CPaServerApp : public iot_public::CBaseService, public iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPaServerApp();
|
CPaServerApp();
|
||||||
@ -90,12 +90,12 @@ namespace kbd_app
|
|||||||
|
|
||||||
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; //< 冗余管理类
|
||||||
CPaServerMngPtr m_ptrPaSrvMng; //< 广播服务管理类
|
CPaServerMngPtr m_ptrPaSrvMng; //< 广播服务管理类
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -6,8 +6,8 @@
|
|||||||
#include "PaServerMng.h"
|
#include "PaServerMng.h"
|
||||||
#include "pub_logger_api/logger.h"
|
#include "pub_logger_api/logger.h"
|
||||||
|
|
||||||
kbd_app::CPaServerMng::CPaServerMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CPaServerMng::CPaServerMng(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_ptrTimedAudioThread(NULL)
|
m_ptrTimedAudioThread(NULL)
|
||||||
|
|||||||
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CPaServerMng : public kbd_sys::CRedundantSwitchInterface
|
class CPaServerMng : public iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPaServerMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
CPaServerMng(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_sys::CProcMngInterfacePtr &ptrProcMng);
|
const iot_sys::CProcMngInterfacePtr &ptrProcMng);
|
||||||
virtual ~CPaServerMng();
|
virtual ~CPaServerMng();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -32,8 +32,8 @@ namespace kbd_app
|
|||||||
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; //< 进程管理访问库智能指针
|
||||||
CPaTimedAudioThreadPtr m_ptrTimedAudioThread; //< 定时广播线程
|
CPaTimedAudioThreadPtr m_ptrTimedAudioThread; //< 定时广播线程
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -15,15 +15,15 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
using namespace kbd_net;
|
using namespace iot_net;
|
||||||
using namespace kbd_service;
|
using namespace iot_service;
|
||||||
using namespace kbd_idlfile;
|
using namespace iot_idl;
|
||||||
|
|
||||||
kbd_app::CPaTimedAudioThread::CPaTimedAudioThread(const kbd_public::SRunAppInfo &stRunAppInfo)
|
kbd_app::CPaTimedAudioThread::CPaTimedAudioThread(const iot_public::SRunAppInfo &stRunAppInfo)
|
||||||
:kbd_public::CTimerThreadBase("CPaTimedAudioThread", 100),
|
:iot_public::CTimerThreadBase("CPaTimedAudioThread", 100),
|
||||||
m_stRunAppInfo(stRunAppInfo),
|
m_stRunAppInfo(stRunAppInfo),
|
||||||
m_ptrPaTableOpt(NULL),
|
m_ptrPaTableOpt(NULL),
|
||||||
m_ptrBasicOpt(NULL),
|
m_ptrBasicOpt(NULL),
|
||||||
@ -228,7 +228,7 @@ int kbd_app::CPaTimedAudioThread::addCustCtrlAlarm(const int64 &nOptTime,const s
|
|||||||
}
|
}
|
||||||
|
|
||||||
//处理从hmi过来的消息
|
//处理从hmi过来的消息
|
||||||
void kbd_app::CPaTimedAudioThread::processHmiMessage(const kbd_net::CMbMessage &objMsg)
|
void kbd_app::CPaTimedAudioThread::processHmiMessage(const iot_net::CMbMessage &objMsg)
|
||||||
{
|
{
|
||||||
int nMessageType=objMsg.getMsgType();
|
int nMessageType=objMsg.getMsgType();
|
||||||
string strMessage((char*)objMsg.getDataPtr(),objMsg.getDataSize());
|
string strMessage((char*)objMsg.getDataPtr(),objMsg.getDataSize());
|
||||||
@ -267,7 +267,7 @@ void kbd_app::CPaTimedAudioThread::processHmiMessage(const kbd_net::CMbMessage &
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//处理从opt过来的消息
|
//处理从opt过来的消息
|
||||||
void kbd_app::CPaTimedAudioThread::processOptMessage(const kbd_net::CMbMessage &objMsg)
|
void kbd_app::CPaTimedAudioThread::processOptMessage(const iot_net::CMbMessage &objMsg)
|
||||||
{
|
{
|
||||||
int nMessageType=objMsg.getMsgType();
|
int nMessageType=objMsg.getMsgType();
|
||||||
string strMessage((char*)objMsg.getDataPtr(),objMsg.getDataSize());
|
string strMessage((char*)objMsg.getDataPtr(),objMsg.getDataSize());
|
||||||
|
|||||||
@ -14,10 +14,10 @@
|
|||||||
#include "BasicOperation.h"
|
#include "BasicOperation.h"
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CPaTimedAudioThread : public kbd_public::CTimerThreadBase
|
class CPaTimedAudioThread : public iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPaTimedAudioThread(const kbd_public::SRunAppInfo &stRunAppInfo);
|
CPaTimedAudioThread(const iot_public::SRunAppInfo &stRunAppInfo);
|
||||||
virtual ~CPaTimedAudioThread();
|
virtual ~CPaTimedAudioThread();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -51,12 +51,12 @@ namespace kbd_app
|
|||||||
* @brief processHmiMessage 处理从hmi过来的紧急广播
|
* @brief processHmiMessage 处理从hmi过来的紧急广播
|
||||||
* @param objMsg 接收到的消息
|
* @param objMsg 接收到的消息
|
||||||
*/
|
*/
|
||||||
void processHmiMessage(const kbd_net::CMbMessage &objMsg);
|
void processHmiMessage(const iot_net::CMbMessage &objMsg);
|
||||||
/**
|
/**
|
||||||
* @brief processOptMessage 处理从opt过来的反馈消息
|
* @brief processOptMessage 处理从opt过来的反馈消息
|
||||||
* @param objMsg 接收到的消息
|
* @param objMsg 接收到的消息
|
||||||
*/
|
*/
|
||||||
void processOptMessage(const kbd_net::CMbMessage &objMsg);
|
void processOptMessage(const iot_net::CMbMessage &objMsg);
|
||||||
/**
|
/**
|
||||||
* @brief addCustomAlarmRepMsg 添加紧急广播到缓冲队列中(map)
|
* @brief addCustomAlarmRepMsg 添加紧急广播到缓冲队列中(map)
|
||||||
* @param sPaCmdKey key
|
* @param sPaCmdKey key
|
||||||
@ -140,12 +140,12 @@ namespace kbd_app
|
|||||||
bool getAlarmInfo(SOptAlarmInfo &sOptAlarmInfo,const std::string &name);
|
bool getAlarmInfo(SOptAlarmInfo &sOptAlarmInfo,const std::string &name);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
CPaRtdbTableOperatePtr m_ptrPaTableOpt; //< PA相关内存表操作类
|
CPaRtdbTableOperatePtr m_ptrPaTableOpt; //< PA相关内存表操作类
|
||||||
CBasicOperationPtr m_ptrBasicOpt; //基础操作类
|
CBasicOperationPtr m_ptrBasicOpt; //基础操作类
|
||||||
//uint32 m_uLastTimeMsec; //< 上一次播放时间
|
//uint32 m_uLastTimeMsec; //< 上一次播放时间
|
||||||
//uint32 m_uDurationMsec; //< 语音持续时间,包括语音时间 + 间隔时间
|
//uint32 m_uDurationMsec; //< 语音持续时间,包括语音时间 + 间隔时间
|
||||||
//kbd_net::CMbCommunicator m_objCommunicator; //< 消息总线通信器
|
//iot_net::CMbCommunicator m_objCommunicator; //< 消息总线通信器
|
||||||
CPaMsgBusMngPtr m_ptrMsgbusMng; //消息总线管理类
|
CPaMsgBusMngPtr m_ptrMsgbusMng; //消息总线管理类
|
||||||
SCustomRepMAP sCustomRepMAP; //储存信息,以便于收到opt反馈时能够处理紧急广播报警
|
SCustomRepMAP sCustomRepMAP; //储存信息,以便于收到opt反馈时能够处理紧急广播报警
|
||||||
SConstCustomRepMAP sConstCustomRepMAP;//储存信息,以便于收到opt反馈时能够处理定时广播报警
|
SConstCustomRepMAP sConstCustomRepMAP;//储存信息,以便于收到opt反馈时能够处理定时广播报警
|
||||||
|
|||||||
@ -10,10 +10,10 @@
|
|||||||
#include "SafetyDayCommon.h"
|
#include "SafetyDayCommon.h"
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
#define OPT_DESC_APP "app"
|
#define OPT_DESC_APP "app"
|
||||||
#define OPT_DESC_HELP "help"
|
#define OPT_DESC_HELP "help"
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CSafetyDayApp : public kbd_public::CBaseService, public kbd_sys::CProcessQuitInterface
|
class CSafetyDayApp : public iot_public::CBaseService, public iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CSafetyDayApp();
|
CSafetyDayApp();
|
||||||
@ -90,12 +90,12 @@ namespace kbd_app
|
|||||||
|
|
||||||
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; //< 冗余管理类
|
||||||
CSafetyDayMngPtr m_ptrSafetyDayMng; //< 安全天数服务管理类
|
CSafetyDayMngPtr m_ptrSafetyDayMng; //< 安全天数服务管理类
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -6,8 +6,8 @@
|
|||||||
#include "SafetyDayMng.h"
|
#include "SafetyDayMng.h"
|
||||||
#include "pub_logger_api/logger.h"
|
#include "pub_logger_api/logger.h"
|
||||||
|
|
||||||
kbd_app::CSafetyDayMng::CSafetyDayMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
kbd_app::CSafetyDayMng::CSafetyDayMng(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_ptrSafetyDayThread(NULL)
|
m_ptrSafetyDayThread(NULL)
|
||||||
|
|||||||
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CSafetyDayMng : public kbd_sys::CRedundantSwitchInterface
|
class CSafetyDayMng : public iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CSafetyDayMng(const kbd_public::SRunAppInfo &stRunAppInfo,
|
CSafetyDayMng(const iot_public::SRunAppInfo &stRunAppInfo,
|
||||||
const kbd_sys::CProcMngInterfacePtr &ptrProcMng);
|
const iot_sys::CProcMngInterfacePtr &ptrProcMng);
|
||||||
virtual ~CSafetyDayMng();
|
virtual ~CSafetyDayMng();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -32,8 +32,8 @@ namespace kbd_app
|
|||||||
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; //< 进程管理访问库智能指针
|
||||||
CSafetyDayThreadPtr m_ptrSafetyDayThread; //< 定时更新安全天数线程
|
CSafetyDayThreadPtr m_ptrSafetyDayThread; //< 定时更新安全天数线程
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -16,13 +16,13 @@
|
|||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
using namespace kbd_net;
|
using namespace iot_net;
|
||||||
|
|
||||||
kbd_app::CSafetyDayThread::CSafetyDayThread(const kbd_public::SRunAppInfo &stRunAppInfo)
|
kbd_app::CSafetyDayThread::CSafetyDayThread(const iot_public::SRunAppInfo &stRunAppInfo)
|
||||||
:kbd_public::CTimerThreadBase("CSafetyDayThread", 2000),
|
:iot_public::CTimerThreadBase("CSafetyDayThread", 2000),
|
||||||
m_stRunAppInfo(stRunAppInfo)
|
m_stRunAppInfo(stRunAppInfo)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -96,7 +96,7 @@ void kbd_app::CSafetyDayThread::updateSafetyDay()
|
|||||||
objCondition.m_value = vecSafetyDay[i].szTagName;
|
objCondition.m_value = vecSafetyDay[i].szTagName;
|
||||||
objCondition.m_eCompare = CDbCondition::COMPARE_EQ;
|
objCondition.m_eCompare = CDbCondition::COMPARE_EQ;
|
||||||
objCondition.m_eLogic = CDbCondition::LOGIC_AND;
|
objCondition.m_eLogic = CDbCondition::LOGIC_AND;
|
||||||
kbd_dbms::CDbApi objDbWrite(DB_CONN_MODEL_WRITE);
|
iot_dbms::CDbApi objDbWrite(DB_CONN_MODEL_WRITE);
|
||||||
if(objDbWrite.open())
|
if(objDbWrite.open())
|
||||||
{
|
{
|
||||||
if(objDbWrite.update(QString::fromStdString(CN_TN_SafetyDay), listColName, listVal, objCondition))
|
if(objDbWrite.update(QString::fromStdString(CN_TN_SafetyDay), listColName, listVal, objCondition))
|
||||||
|
|||||||
@ -11,10 +11,10 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CSafetyDayThread : public kbd_public::CTimerThreadBase
|
class CSafetyDayThread : public iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CSafetyDayThread(const kbd_public::SRunAppInfo &stRunAppInfo);
|
CSafetyDayThread(const iot_public::SRunAppInfo &stRunAppInfo);
|
||||||
virtual ~CSafetyDayThread();
|
virtual ~CSafetyDayThread();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -37,8 +37,8 @@ namespace kbd_app
|
|||||||
void updateSafetyDay();
|
void updateSafetyDay();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
|
||||||
kbd_dbms::CRdbAccessEx m_objSafetyDayTable; //< safety_day内存表
|
iot_dbms::CRdbAccessEx m_objSafetyDayTable; //< safety_day内存表
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef boost::shared_ptr<CSafetyDayThread> CSafetyDayThreadPtr;
|
typedef boost::shared_ptr<CSafetyDayThread> CSafetyDayThreadPtr;
|
||||||
|
|||||||
@ -12,9 +12,9 @@
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_net;
|
using namespace iot_net;
|
||||||
using namespace kbd_sys;
|
using namespace iot_sys;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
|
|
||||||
CTopoServer::CTopoServer()
|
CTopoServer::CTopoServer()
|
||||||
{
|
{
|
||||||
@ -81,7 +81,7 @@ bool CTopoServer::isAlreadyRunning(std::string strProcessName)
|
|||||||
m_strInstName += " -a ";
|
m_strInstName += " -a ";
|
||||||
m_strInstName += m_strAppName;
|
m_strInstName += m_strAppName;
|
||||||
|
|
||||||
return kbd_public::CSingleProcInstance::hasInstanceRunning(m_strInstName);
|
return iot_public::CSingleProcInstance::hasInstanceRunning(m_strInstName);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CTopoServer::start(int argc, char *argv[], int &)
|
bool CTopoServer::start(int argc, char *argv[], int &)
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CTopoServer : public kbd_public::CBaseService,kbd_sys::CProcessQuitInterface
|
class CTopoServer : public iot_public::CBaseService,iot_sys::CProcessQuitInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTopoServer();
|
CTopoServer();
|
||||||
@ -32,15 +32,15 @@ public:
|
|||||||
bool loadSeqData();
|
bool loadSeqData();
|
||||||
private:
|
private:
|
||||||
std::string m_strStartArgs;
|
std::string m_strStartArgs;
|
||||||
kbd_sys::CProcMngInterfacePtr m_ptrProcManage;
|
iot_sys::CProcMngInterfacePtr m_ptrProcManage;
|
||||||
kbd_sys::CRedundantMngInterfacePtr m_ptrRedundantMng;
|
iot_sys::CRedundantMngInterfacePtr m_ptrRedundantMng;
|
||||||
kbd_app::CRedundantSwitchPtr m_ptrRedundantSwitch;
|
kbd_app::CRedundantSwitchPtr m_ptrRedundantSwitch;
|
||||||
|
|
||||||
|
|
||||||
std::string m_strAppName;
|
std::string m_strAppName;
|
||||||
std::string m_strProcessName;
|
std::string m_strProcessName;
|
||||||
std::string m_strInstName;
|
std::string m_strInstName;
|
||||||
kbd_public::SRunAppInfo m_stRunAppInfo;
|
iot_public::SRunAppInfo m_stRunAppInfo;
|
||||||
|
|
||||||
CTopoThreadPtr m_ptrThread;
|
CTopoThreadPtr m_ptrThread;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -4,10 +4,10 @@
|
|||||||
#include "pub_logger_api/logger.h"
|
#include "pub_logger_api/logger.h"
|
||||||
#include "../../idl_files/DataProcMessage.pb.h"
|
#include "../../idl_files/DataProcMessage.pb.h"
|
||||||
|
|
||||||
using namespace kbd_dbms;
|
using namespace iot_dbms;
|
||||||
using namespace kbd_public;
|
using namespace iot_public;
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_idlfile;
|
using namespace iot_idl;
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
#define STIME 50 //周期(ms)
|
#define STIME 50 //周期(ms)
|
||||||
@ -79,7 +79,7 @@ bool CTopoThread::init()
|
|||||||
void CTopoThread::initCommon()
|
void CTopoThread::initCommon()
|
||||||
{
|
{
|
||||||
m_rdbAccess = new CRdbAccessEx;
|
m_rdbAccess = new CRdbAccessEx;
|
||||||
m_communicator = new kbd_net::CMbCommunicator("topo");
|
m_communicator = new iot_net::CMbCommunicator("topo");
|
||||||
//m_communicator->addSub(0, CH_SCADA_TO_HMI_DATA_CHANGE);
|
//m_communicator->addSub(0, CH_SCADA_TO_HMI_DATA_CHANGE);
|
||||||
|
|
||||||
m_vecDomain.push_back(m_nDomainID);
|
m_vecDomain.push_back(m_nDomainID);
|
||||||
@ -88,7 +88,7 @@ void CTopoThread::initCommon()
|
|||||||
//nodeInfo.getDomainID(m_vecDomain);
|
//nodeInfo.getDomainID(m_vecDomain);
|
||||||
|
|
||||||
m_rdbAccess->open("base", "sys_model_sub_system_info");
|
m_rdbAccess->open("base", "sys_model_sub_system_info");
|
||||||
kbd_dbms::CONDINFO stCondInfo;
|
iot_dbms::CONDINFO stCondInfo;
|
||||||
CRdbQueryResult rdbResult;
|
CRdbQueryResult rdbResult;
|
||||||
std::vector<std::string> colunmVec;
|
std::vector<std::string> colunmVec;
|
||||||
colunmVec.push_back("sub_system_id");
|
colunmVec.push_back("sub_system_id");
|
||||||
@ -131,12 +131,12 @@ void CTopoThread::execute()
|
|||||||
cycCaculate();
|
cycCaculate();
|
||||||
return;
|
return;
|
||||||
int nRet = 0;
|
int nRet = 0;
|
||||||
::kbd_idlfile::SRealTimeDataPkg chgDataPkg;
|
::iot_idl::SRealTimeDataPkg chgDataPkg;
|
||||||
int nDiNum = 0;
|
int nDiNum = 0;
|
||||||
int nAiNum = 0;
|
int nAiNum = 0;
|
||||||
|
|
||||||
unsigned int msgType = 0;
|
unsigned int msgType = 0;
|
||||||
kbd_net::CMbMessage msg;
|
iot_net::CMbMessage msg;
|
||||||
if(m_communicator && m_communicator->recvMsg(msg, 500))
|
if(m_communicator && m_communicator->recvMsg(msg, 500))
|
||||||
{
|
{
|
||||||
msgType = msg.getMsgType();
|
msgType = msg.getMsgType();
|
||||||
@ -150,14 +150,14 @@ void CTopoThread::execute()
|
|||||||
}
|
}
|
||||||
|
|
||||||
int nIndex = 0;
|
int nIndex = 0;
|
||||||
::kbd_idlfile::SRealTimePkgHead head = chgDataPkg.sthead();
|
::iot_idl::SRealTimePkgHead head = chgDataPkg.sthead();
|
||||||
nAiNum = chgDataPkg.stairtd_size();
|
nAiNum = chgDataPkg.stairtd_size();
|
||||||
nDiNum = chgDataPkg.stdirtd_size();
|
nDiNum = chgDataPkg.stdirtd_size();
|
||||||
std::string strDevTag;
|
std::string strDevTag;
|
||||||
std::string strTableName;
|
std::string strTableName;
|
||||||
for(nIndex = 0;nIndex < nDiNum; nIndex++)//有一个cb动作, 全部重算
|
for(nIndex = 0;nIndex < nDiNum; nIndex++)//有一个cb动作, 全部重算
|
||||||
{
|
{
|
||||||
::kbd_idlfile::SDiRealTimeData diStru = chgDataPkg.stdirtd(nIndex);
|
::iot_idl::SDiRealTimeData diStru = chgDataPkg.stdirtd(nIndex);
|
||||||
|
|
||||||
if(diStru.nsubsystem() != m_nAppID || find(m_vecDomain.begin(), m_vecDomain.end(), diStru.nlocation()) == m_vecDomain.end())
|
if(diStru.nsubsystem() != m_nAppID || find(m_vecDomain.begin(), m_vecDomain.end(), diStru.nlocation()) == m_vecDomain.end())
|
||||||
{
|
{
|
||||||
@ -211,7 +211,7 @@ void CTopoThread::execute()
|
|||||||
{
|
{
|
||||||
for(int i = 0;i < nAiNum; i++)//进线线电压变化,paint
|
for(int i = 0;i < nAiNum; i++)//进线线电压变化,paint
|
||||||
{
|
{
|
||||||
::kbd_idlfile::SAiRealTimeData aiStru = chgDataPkg.stairtd(i);
|
::iot_idl::SAiRealTimeData aiStru = chgDataPkg.stairtd(i);
|
||||||
if(aiStru.nsubsystem() != m_nAppID || find(m_vecDomain.begin(), m_vecDomain.end(), aiStru.nlocation()) == m_vecDomain.end())
|
if(aiStru.nsubsystem() != m_nAppID || find(m_vecDomain.begin(), m_vecDomain.end(), aiStru.nlocation()) == m_vecDomain.end())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@ -260,8 +260,8 @@ bool CTopoThread::loadDevType()
|
|||||||
std::vector<PscadaDevTypeStru> vecDevTypeInfo;
|
std::vector<PscadaDevTypeStru> vecDevTypeInfo;
|
||||||
std::vector<std::string> vecColunm = {"dev_type_id", "tag_name", "description"};
|
std::vector<std::string> vecColunm = {"dev_type_id", "tag_name", "description"};
|
||||||
m_rdbAccess->open("base", "dev_type_def");
|
m_rdbAccess->open("base", "dev_type_def");
|
||||||
kbd_dbms::CONDINFO stCondSub;
|
iot_dbms::CONDINFO stCondSub;
|
||||||
std::vector<kbd_dbms::CONDINFO> vecCondInfo;
|
std::vector<iot_dbms::CONDINFO> vecCondInfo;
|
||||||
stCondSub.relationop = ATTRCOND_EQU;
|
stCondSub.relationop = ATTRCOND_EQU;
|
||||||
stCondSub.conditionval = CVarType(m_nSubSystem);
|
stCondSub.conditionval = CVarType(m_nSubSystem);
|
||||||
strcpy(stCondSub.name, "sub_system");
|
strcpy(stCondSub.name, "sub_system");
|
||||||
@ -331,9 +331,9 @@ bool CTopoThread::loadData()
|
|||||||
|
|
||||||
//按电力专业过滤和DOMAIN过滤设备
|
//按电力专业过滤和DOMAIN过滤设备
|
||||||
m_rdbAccess->open("pscada", "dev_info");
|
m_rdbAccess->open("pscada", "dev_info");
|
||||||
std::vector<kbd_dbms::CONDINFO> vecCondInfo;
|
std::vector<iot_dbms::CONDINFO> vecCondInfo;
|
||||||
kbd_dbms::CONDINFO stCondSub;
|
iot_dbms::CONDINFO stCondSub;
|
||||||
kbd_dbms::CONDINFO stCondDomain;
|
iot_dbms::CONDINFO stCondDomain;
|
||||||
stCondSub.relationop = ATTRCOND_EQU;
|
stCondSub.relationop = ATTRCOND_EQU;
|
||||||
stCondSub.conditionval = CVarType(m_nSubSystem);
|
stCondSub.conditionval = CVarType(m_nSubSystem);
|
||||||
strcpy(stCondSub.name, "sub_system");
|
strcpy(stCondSub.name, "sub_system");
|
||||||
@ -868,9 +868,9 @@ int CTopoThread::paint(bool bColor)
|
|||||||
void CTopoThread::sendChange()
|
void CTopoThread::sendChange()
|
||||||
{
|
{
|
||||||
std::string strContent = "topo";
|
std::string strContent = "topo";
|
||||||
kbd_net::CMbMessage msg;
|
iot_net::CMbMessage msg;
|
||||||
msg.setData(strContent);
|
msg.setData(strContent);
|
||||||
msg.setMsgType(kbd_idlfile::MT_TOPO_QCOLOR_NOTIFY);
|
msg.setMsgType(iot_idl::MT_TOPO_QCOLOR_NOTIFY);
|
||||||
msg.setSubject(m_nAppID, CH_SCADA_TO_HMI_DATA_CHANGE);
|
msg.setSubject(m_nAppID, CH_SCADA_TO_HMI_DATA_CHANGE);
|
||||||
|
|
||||||
if(m_communicator->sendMsgToDomain(msg, -1))
|
if(m_communicator->sendMsgToDomain(msg, -1))
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CTopoThread : public kbd_public::CTimerThreadBase
|
class CTopoThread : public iot_public::CTimerThreadBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTopoThread(const std::string &strName, int nDomain, int nAppID, int nLocationId);
|
CTopoThread(const std::string &strName, int nDomain, int nAppID, int nLocationId);
|
||||||
@ -68,9 +68,9 @@ private:
|
|||||||
CDevTypeInfo m_devTypeInfo;
|
CDevTypeInfo m_devTypeInfo;
|
||||||
int m_nLocation;
|
int m_nLocation;
|
||||||
int m_nSubSystem;//电力所在专业
|
int m_nSubSystem;//电力所在专业
|
||||||
kbd_dbms::CRdbAccessEx *m_rdbAccess;
|
iot_dbms::CRdbAccessEx *m_rdbAccess;
|
||||||
kbd_net::CMbCommunicator * m_communicator;
|
iot_net::CMbCommunicator * m_communicator;
|
||||||
kbd_public::CSysInfoInterfacePtr m_sysInfo;
|
iot_public::CSysInfoInterfacePtr m_sysInfo;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -6,9 +6,9 @@
|
|||||||
#include "RedundantSwitch.h"
|
#include "RedundantSwitch.h"
|
||||||
|
|
||||||
using namespace kbd_app;
|
using namespace kbd_app;
|
||||||
using namespace kbd_sys;
|
using namespace iot_sys;
|
||||||
|
|
||||||
CRedundantSwitch::CRedundantSwitch(kbd_sys::CProcMngInterfacePtr ptrProc)
|
CRedundantSwitch::CRedundantSwitch(iot_sys::CProcMngInterfacePtr ptrProc)
|
||||||
{
|
{
|
||||||
m_ptrProcManage = ptrProc;
|
m_ptrProcManage = ptrProc;
|
||||||
m_ptrMainWorkThread = NULL;
|
m_ptrMainWorkThread = NULL;
|
||||||
|
|||||||
@ -13,14 +13,14 @@
|
|||||||
namespace kbd_app
|
namespace kbd_app
|
||||||
{
|
{
|
||||||
class CRedundantSwitch :
|
class CRedundantSwitch :
|
||||||
public ::kbd_sys::CRedundantSwitchInterface
|
public ::iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CRedundantSwitch(kbd_sys::CProcMngInterfacePtr ptrProc);
|
CRedundantSwitch(iot_sys::CProcMngInterfacePtr ptrProc);
|
||||||
~CRedundantSwitch(void);
|
~CRedundantSwitch(void);
|
||||||
private:
|
private:
|
||||||
CTopoThreadPtr m_ptrMainWorkThread;
|
CTopoThreadPtr m_ptrMainWorkThread;
|
||||||
kbd_sys::CProcMngInterfacePtr m_ptrProcManage;
|
iot_sys::CProcMngInterfacePtr m_ptrProcManage;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
namespace kbd_application
|
namespace kbd_application
|
||||||
{
|
{
|
||||||
|
|
||||||
class CFaultRecallRedunSw : public ::kbd_sys::CRedundantSwitchInterface
|
class CFaultRecallRedunSw : public ::iot_sys::CRedundantSwitchInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CFaultRecallRedunSw();
|
CFaultRecallRedunSw();
|
||||||
|
|||||||
@ -58,7 +58,7 @@ CFaultRecallSrv::~CFaultRecallSrv()
|
|||||||
{
|
{
|
||||||
CFaultRecallSrv::stop();
|
CFaultRecallSrv::stop();
|
||||||
|
|
||||||
kbd_public::StopLogSystem();
|
iot_public::StopLogSystem();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ bool CFaultRecallSrv::start(int argc, char *argv[], int& /*nStatus*/)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 启动日志
|
//< 启动日志
|
||||||
kbd_public::StartLogSystem(CN_AppName_COMAPP.c_str(), g_pSzProcName);
|
iot_public::StartLogSystem(CN_AppName_COMAPP.c_str(), g_pSzProcName);
|
||||||
|
|
||||||
LOGINFO("\n\n%s is now starting ...\n", g_pSzProcName);
|
LOGINFO("\n\n%s is now starting ...\n", g_pSzProcName);
|
||||||
|
|
||||||
@ -106,21 +106,21 @@ bool CFaultRecallSrv::start(int argc, char *argv[], int& /*nStatus*/)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 消息总线
|
//< 消息总线
|
||||||
if (!kbd_net::initMsgBus(g_pSzProcName, "", true))
|
if (!iot_net::initMsgBus(g_pSzProcName, "", true))
|
||||||
{
|
{
|
||||||
LOGFATAL("初始化消息总线失败,程序启动失败!");
|
LOGFATAL("初始化消息总线失败,程序启动失败!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//< 数据库历史提交API
|
//< 数据库历史提交API
|
||||||
if (!kbd_dbms::initDbSaveApi(m_nDomainID, CN_AppId_COMAPP))
|
if (!iot_dbms::initDbSaveApi(m_nDomainID, CN_AppId_COMAPP))
|
||||||
{
|
{
|
||||||
LOGFATAL("初始化数据库历史提交API失败,程序启动失败!");
|
LOGFATAL("初始化数据库历史提交API失败,程序启动失败!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//< 时序库接口库
|
//< 时序库接口库
|
||||||
if (!kbd_dbms::initTsdbApi())
|
if (!iot_dbms::initTsdbApi())
|
||||||
{
|
{
|
||||||
LOGFATAL("初始化时序库接口库失败,程序启动失败!");
|
LOGFATAL("初始化时序库接口库失败,程序启动失败!");
|
||||||
return false;
|
return false;
|
||||||
@ -148,7 +148,7 @@ bool CFaultRecallSrv::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;
|
||||||
@ -157,7 +157,7 @@ bool CFaultRecallSrv::start(int argc, char *argv[], int& /*nStatus*/)
|
|||||||
objProcInfo.strProcName = g_pSzProcName;
|
objProcInfo.strProcName = g_pSzProcName;
|
||||||
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 NULL");
|
LOGFATAL("getProcMngInstance return NULL");
|
||||||
@ -169,7 +169,7 @@ bool CFaultRecallSrv::start(int argc, char *argv[], int& /*nStatus*/)
|
|||||||
|
|
||||||
//< 冗余管理
|
//< 冗余管理
|
||||||
{
|
{
|
||||||
m_ptrRedundantMng = kbd_sys::getRedundantMngInstance(m_nDomainID,
|
m_ptrRedundantMng = iot_sys::getRedundantMngInstance(m_nDomainID,
|
||||||
CN_AppId_COMAPP,
|
CN_AppId_COMAPP,
|
||||||
m_strNodeName);
|
m_strNodeName);
|
||||||
if (!m_ptrRedundantMng)
|
if (!m_ptrRedundantMng)
|
||||||
@ -260,17 +260,17 @@ bool CFaultRecallSrv::stop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//< 停止数据库历史提交API
|
//< 停止数据库历史提交API
|
||||||
kbd_dbms::releaseDbSaveApi();
|
iot_dbms::releaseDbSaveApi();
|
||||||
|
|
||||||
//< 释放时序库接口库
|
//< 释放时序库接口库
|
||||||
kbd_dbms::releaseTsdbApi();
|
iot_dbms::releaseTsdbApi();
|
||||||
|
|
||||||
//< 停止消息总线
|
//< 停止消息总线
|
||||||
kbd_net::releaseMsgBus();
|
iot_net::releaseMsgBus();
|
||||||
|
|
||||||
//< 停止日志系统
|
//< 停止日志系统
|
||||||
//< 移到析构函数中,防止日志库停止后,又写日志,从而使log4cplus提示找不到logger
|
//< 移到析构函数中,防止日志库停止后,又写日志,从而使log4cplus提示找不到logger
|
||||||
//kbd_public::StopLogSystem();
|
//iot_public::StopLogSystem();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -308,7 +308,7 @@ const std::string& CFaultRecallSrv::getNodeName() const
|
|||||||
|
|
||||||
bool CFaultRecallSrv::isAlreadyRunning()
|
bool CFaultRecallSrv::isAlreadyRunning()
|
||||||
{
|
{
|
||||||
return kbd_public::CSingleProcInstance::hasInstanceRunning(g_pSzProcName);
|
return iot_public::CSingleProcInstance::hasInstanceRunning(g_pSzProcName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -384,14 +384,14 @@ bool CFaultRecallSrv::parseCommandLine(int argc, char *argv[])
|
|||||||
|
|
||||||
bool CFaultRecallSrv::loadSysInfo()
|
bool CFaultRecallSrv::loadSysInfo()
|
||||||
{
|
{
|
||||||
kbd_public::CSysInfoInterfacePtr sysInfoPtr;
|
iot_public::CSysInfoInterfacePtr sysInfoPtr;
|
||||||
if (kbd_public::createSysInfoInstance(sysInfoPtr) == false)
|
if (iot_public::createSysInfoInstance(sysInfoPtr) == false)
|
||||||
{
|
{
|
||||||
LOGERROR("createSysInfoInstance() return false !");
|
LOGERROR("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)
|
||||||
{
|
{
|
||||||
|
|||||||
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