Modify callbacks init

This commit is contained in:
Antonio cuadros
2021-07-26 13:43:57 +02:00
parent 7294ba66d7
commit 9564b943ee
2 changed files with 145 additions and 136 deletions
+1 -1
View File
@@ -51,7 +51,7 @@ public:
void stop(); void stop();
private: private:
bool initialized = false;
eprosima::uxr::AgentInstance& xrce_dds_agent_instance_; eprosima::uxr::AgentInstance& xrce_dds_agent_instance_;
std::map<eprosima::fastdds::dds::DomainId_t, std::shared_ptr<graph_manager::GraphManager>> graph_manager_map_; std::map<eprosima::fastdds::dds::DomainId_t, std::shared_ptr<graph_manager::GraphManager>> graph_manager_map_;
+22 -13
View File
@@ -23,6 +23,26 @@ namespace agent {
Agent::Agent() Agent::Agent()
: xrce_dds_agent_instance_(xrce_dds_agent_instance_.getInstance()) : xrce_dds_agent_instance_(xrce_dds_agent_instance_.getInstance())
{ {
}
Agent& Agent::getInstance()
{
static Agent instance;
return instance;
}
bool Agent::create(
int argc,
char** argv)
{
stop();
bool result = xrce_dds_agent_instance_.create(argc, argv);
if (result && !initialized)
{
initialized = true;
/** /**
* Add CREATE_PARTICIPANT callback. * Add CREATE_PARTICIPANT callback.
*/ */
@@ -157,20 +177,9 @@ Agent::Agent()
eprosima::uxr::Middleware::Kind::FASTDDS, eprosima::uxr::Middleware::Kind::FASTDDS,
eprosima::uxr::middleware::CallbackKind::DELETE_DATAREADER, eprosima::uxr::middleware::CallbackKind::DELETE_DATAREADER,
std::move(on_delete_datareader)); std::move(on_delete_datareader));
} }
Agent& Agent::getInstance() return result;
{
static Agent instance;
return instance;
}
bool Agent::create(
int argc,
char** argv)
{
stop();
return xrce_dds_agent_instance_.create(argc, argv);
} }
void Agent::run() void Agent::run()