XNSim/XNCore_Win/XNDDSManager/XNDDSManager.cpp

40 lines
1.1 KiB
C++

#include "XNDDSManager.h"
namespace XNSim {
XNDDSManager::XNDDSManager() : XNBaseFrameObject(new XNDDSManagerPrivate()) {
SetUniqueId(enumValue(XNCoreObjectID::DDSManager));
SetObjectName("XNDDSManager");
}
XNDDSManager::~XNDDSManager() {}
XNDDSManager::XNDDSManager(PrivateType *p) : XNBaseFrameObject(p) {}
XN_BOOL XNDDSManager::Initialize() {
T_D();
d->_status = XNFrameObjectStatus::Initialized;
d->participant_ = nullptr;
d->topics_.clear();
LOG_INFO("DDS管理器初始化成功!");
return true;
}
XN_BOOL XNDDSManager::PrepareForExecute() {
T_D();
d->_status = XNFrameObjectStatus::Ready;
LOG_INFO("DDS管理器准备就绪!");
return true;
}
void XNDDSManager::SetDomainID(XN_UINT32 domainID) {
T_D();
XNDDSParticipantQos participantQos;
participantQos.name("XNDDSManager");
d->participant_ =
XN_DDS::DomainParticipantFactory::get_instance()->create_participant(
domainID, participantQos);
if (d->participant_ == nullptr) {
LOG_ERROR("0x2130 DDS管理器创建域参与者失败!");
}
}
} // namespace XNSim