30 if (not properties->hasDefinition(PROPERTY_NAME))
32 properties->defineOptionalProperty<std::string>(
33 PROPERTY_NAME,
"navigator",
"Name of the Navigator");
54 iceNavigatorFactory.setNavigatorComponent(navigatorPrx);
59 const std::string& configId)
65 eventHandler = [&]() -> std::unique_ptr<SimpleEventHandler>
73 auto& memoryNameSystem =
76 return std::make_unique<MemorySubscriber>(configId, memoryNameSystem);
80 <<
"Cannot use memory event callbacks as this component is not derived from "
81 "`armarx::armem::client::plugins::ListeningPluginUser`";
83 return std::make_unique<SimpleEventHandler>();
86 iceNavigatorHandle = iceNavigatorFactory.createConfig(stackConfig, configId);
89 .navigator = iceNavigatorHandle.get(), .subscriber = eventHandler.get()});
104 plugin->configureNavigator(stackConfig,
getName());
111 <<
"You need to call `configureNavigator()` before you can access the navigator!";
112 return *plugin->navigator;
bool parentDerives() const
ManagedIceObject & parent()
PluginT * addPlugin(const std::string prefix="", ParamsT &&... params)
std::string getName() const
Retrieve name of object.
void configureNavigator(const client::NavigationStackConfig &stackConfig)
Navigator & getNavigator()
~ComponentPluginUser() override
std::unique_ptr< Navigator > navigator
void preOnInitComponent() override
void configureNavigator(const client::NavigationStackConfig &stackConfig, const std::string &configId)
void preOnConnectComponent() override
~ComponentPlugin() override
void postCreatePropertyDefinitions(armarx::PropertyDefinitionsPtr &properties) override
#define ARMARX_CHECK_NOT_NULL(ptr)
This macro evaluates whether ptr is not null and if it turns out to be false it will throw an Express...
#define ARMARX_INFO
The normal logging level.
This file is part of ArmarX.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.