ComponentPlugin.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 #include <memory>
5 #include <string>
6 
10 
13 #include <armarx/navigation/client/ice/NavigatorInterface.h>
16 
17 namespace armarx::armem::client
18 {
19  class MemoryNameSystem;
20 }
21 
23 {
24 
25  class Navigator;
26 
28  {
29  public:
32 
33  ~ComponentPlugin() override;
34 
36 
37  void preOnInitComponent() override;
38 
39  void preOnConnectComponent() override;
40 
41  void configureNavigator(const client::NavigationStackConfig& stackConfig,
42  const std::string& configId);
43 
44  private:
45  static constexpr const char* PROPERTY_NAME = "nav.NavigatorName";
46 
47  client::NavigatorInterfacePrx navigatorPrx;
48  IceNavigator iceNavigator;
49 
50  std::unique_ptr<SimpleEventHandler> eventHandler;
51 
52  public:
53  std::unique_ptr<Navigator> navigator;
54  };
55 
56  class ComponentPluginUser : virtual public ManagedIceObject
57  {
58 
59  public:
61 
62  void configureNavigator(const client::NavigationStackConfig& stackConfig);
63 
65 
66  // Non-API
67  ~ComponentPluginUser() override;
68 
69  private:
70  ComponentPlugin* plugin = nullptr;
71  };
72 
73 } // namespace armarx::navigation::client
Navigator.h
armarx::navigation::client::Navigator
Definition: Navigator.h:116
armarx::navigation::client::ComponentPlugin::configureNavigator
void configureNavigator(const client::NavigationStackConfig &stackConfig, const std::string &configId)
Definition: ComponentPlugin.cpp:57
armarx::ManagedIceObjectPlugin::prefix
const std::string & prefix() const
Definition: ManagedIceObjectPlugin.cpp:66
armarx::ManagedIceObjectPlugin::parent
ManagedIceObject & parent()
Definition: ManagedIceObjectPlugin.cpp:72
armarx::navigation::client::ComponentPlugin::~ComponentPlugin
~ComponentPlugin() override
armarx::navigation::client::ComponentPluginUser::getNavigator
Navigator & getNavigator()
Definition: ComponentPlugin.cpp:107
armarx::navigation::client::ComponentPluginUser
Definition: ComponentPlugin.h:56
armarx::armem::client
This file is part of ArmarX.
Definition: forward_declarations.h:6
armarx::navigation::client
This file is part of ArmarX.
Definition: ComponentPlugin.cpp:21
armarx::navigation::client::ComponentPluginUser::~ComponentPluginUser
~ComponentPluginUser() override
armarx::navigation::client::NavigationStackConfig
Definition: NavigationStackConfig.h:49
armarx::navigation::client::IceNavigator
Definition: IceNavigator.h:17
armarx::navigation::client::ComponentPluginUser::configureNavigator
void configureNavigator(const client::NavigationStackConfig &stackConfig)
Definition: ComponentPlugin.cpp:100
Navigator
Brief description of class Navigator.
NavigationStackConfig.h
ManagedIceObject.h
armarx::ComponentPlugin
Definition: ComponentPlugin.h:37
armarx::navigation::client::ComponentPlugin::ComponentPlugin
ComponentPlugin(ManagedIceObject &parent, const std::string &prefix)
Definition: ComponentPlugin.h:30
IceNavigator.h
SimpleEventHandler.h
armarx::navigation::client::ComponentPlugin::preOnConnectComponent
void preOnConnectComponent() override
Definition: ComponentPlugin.cpp:44
armarx::ManagedIceObject
The ManagedIceObject is the base class for all ArmarX objects.
Definition: ManagedIceObject.h:162
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::navigation::client::ComponentPlugin::navigator
std::unique_ptr< Navigator > navigator
Definition: ComponentPlugin.h:53
forward_declarations.h
armarx::navigation::client::ComponentPlugin
Definition: ComponentPlugin.h:27
ComponentPlugin.h
armarx::navigation::client::ComponentPlugin::preOnInitComponent
void preOnInitComponent() override
Definition: ComponentPlugin.cpp:37
armarx::navigation::client::ComponentPlugin::postCreatePropertyDefinitions
void postCreatePropertyDefinitions(armarx::PropertyDefinitionsPtr &properties) override
Definition: ComponentPlugin.cpp:27
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::navigation::client::ComponentPluginUser::ComponentPluginUser
ComponentPluginUser()
Definition: ComponentPlugin.cpp:93