2025-04-28 12:25:20 +08:00
|
|
|
#include "XNDDSManager.h"
|
|
|
|
|
2025-05-20 15:39:40 +08:00
|
|
|
XNDDSManager::XNDDSManager() : XNBaseFrameObject(new XNDDSManagerPrivate())
|
2025-04-28 12:25:20 +08:00
|
|
|
{
|
2025-05-20 15:39:40 +08:00
|
|
|
SetUniqueId(8);
|
|
|
|
SetObjectName("XNDDSManager");
|
2025-04-28 12:25:20 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
XNDDSManager::~XNDDSManager()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2025-05-20 15:39:40 +08:00
|
|
|
XNDDSManager::XNDDSManager(PrivateType *p) : XNBaseFrameObject(p)
|
2025-04-28 12:25:20 +08:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2025-05-20 15:39:40 +08:00
|
|
|
bool XNDDSManager::Initialize()
|
2025-04-28 12:25:20 +08:00
|
|
|
{
|
2025-05-20 15:39:40 +08:00
|
|
|
T_D();
|
|
|
|
d->_status = XNFrameObjectStatus::Initialized;
|
|
|
|
d->participant_ = nullptr;
|
|
|
|
d->topics_.clear();
|
2025-06-06 17:03:35 +08:00
|
|
|
LOG_INFO("DDS管理器初始化成功!");
|
2025-05-20 15:39:40 +08:00
|
|
|
return true;
|
2025-04-28 12:25:20 +08:00
|
|
|
}
|
|
|
|
|
2025-05-20 15:39:40 +08:00
|
|
|
bool XNDDSManager::PrepareForExecute()
|
2025-04-28 12:25:20 +08:00
|
|
|
{
|
2025-05-20 15:39:40 +08:00
|
|
|
T_D();
|
2025-04-28 12:25:20 +08:00
|
|
|
d->_status = XNFrameObjectStatus::Ready;
|
2025-06-06 17:03:35 +08:00
|
|
|
LOG_INFO("DDS管理器准备就绪!");
|
2025-05-20 15:39:40 +08:00
|
|
|
return true;
|
2025-04-28 12:25:20 +08:00
|
|
|
}
|
|
|
|
|
2025-05-20 15:39:40 +08:00
|
|
|
void XNDDSManager::SetDomainID(uint32_t domainID)
|
2025-04-28 12:25:20 +08:00
|
|
|
{
|
2025-05-20 15:39:40 +08:00
|
|
|
T_D();
|
2025-04-28 12:25:20 +08:00
|
|
|
FAST_DDS_MACRO::DomainParticipantQos participantQos;
|
|
|
|
participantQos.name("XNDDSManager");
|
2025-05-20 15:39:40 +08:00
|
|
|
d->participant_ = FAST_DDS_MACRO::DomainParticipantFactory::get_instance()->create_participant(
|
2025-04-28 12:25:20 +08:00
|
|
|
domainID, participantQos);
|
2025-05-20 15:39:40 +08:00
|
|
|
if (d->participant_ == nullptr) {
|
2025-06-06 17:03:35 +08:00
|
|
|
LOG_ERROR("0x2130 DDS管理器创建域参与者失败!");
|
2025-04-28 12:25:20 +08:00
|
|
|
}
|
|
|
|
}
|