68 lines
2.4 KiB
C
Raw Normal View History

/*
@file TimetableMsgBusMng.h
@brief
@author
*/
#pragma once
#include "pub_sysinfo_api/SysInfoApi.h"
#include "net_msg_bus_api/CMbCommunicator.h"
#include "rdb_api/CRdbAccessEx.h"
#include "TimetableRtdbTableOperate.h"
namespace kbd_app
{
class CTimetableMsgBusMng
{
public:
2025-03-12 14:17:53 +08:00
CTimetableMsgBusMng(const iot_public::SRunAppInfo &stRunAppInfo,
const iot_public::CSysInfoInterfacePtr &ptrSysInfo);
virtual ~CTimetableMsgBusMng();
/*
@brief
@return kbdSuccess,
*/
int initialize();
/*
@brief
@return kbdSuccess,
*/
int subscribeMessage();
/*
@brief
@return kbdSuccess,
*/
int unsubscribeMessage();
/*
@brief
2025-03-12 14:17:53 +08:00
@param iot_net::CMbMessage & objMsg
@param int nTimeoutMsec
@return truefalse
*/
2025-03-12 14:17:53 +08:00
bool recvMsg(iot_net::CMbMessage &objMsg, int nTimeoutMsec = 0);
/*
@brief
@param const std::string & strMsg
@param const int nChannel
@param const int nMsgType
@param const int nDstDomain strNodeName非空时使用sendtohost
@param const std::string & strNodeName 使sendtohost使sendtodomain
@return truefalse
*/
bool sendMsgToMsgBus(const std::string &strMsg,
const int nChannel,
const int nMsgType,
const int nDstDomain,
const std::string &strNodeName);
/* @brief 获取通信器名称 */
std::string getCommunicatorName();
private:
2025-03-12 14:17:53 +08:00
iot_net::CMbCommunicator m_objCommunicator; //< 消息总线通信器
iot_public::SRunAppInfo m_stRunAppInfo; //< 本应用相关运行参数
iot_public::CSysInfoInterfacePtr m_ptrSysInfo; //< 系统信息访问库智能指针
};
typedef boost::shared_ptr<CTimetableMsgBusMng> CTimetableMsgBusMngPtr;
}