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>
17
19{
20 class MemoryNameSystem;
21}
22
24{
25
26 class Navigator;
27
29 {
30 public:
33
34 ~ComponentPlugin() override;
35
37
38 void preOnInitComponent() override;
39
40 void preOnConnectComponent() override;
41
43 const std::string& configId);
44
45 IceNavigatorFactory& navigatorFactory() {return iceNavigatorFactory;}
46
47 private:
48 static constexpr const char* PROPERTY_NAME = "nav.NavigatorName";
49
50 client::NavigatorInterfacePrx navigatorPrx;
51 IceNavigatorFactory iceNavigatorFactory;
52 NavigatorHandlePtr iceNavigatorHandle;
53
54 std::unique_ptr<SimpleEventHandler> eventHandler;
55
56 public:
57 std::unique_ptr<Navigator> navigator;
58 };
59
61 {
62
63 public:
65
67
69
70 IceNavigatorFactory& navigatorFactory() {return plugin->navigatorFactory();}
71
72 // Non-API
74
75 private:
76 ComponentPlugin* plugin = nullptr;
77 };
78
79} // namespace armarx::navigation::client
const std::string & prefix() const
ManagedIceObject(ManagedIceObject const &other)
The memory name system (MNS) client.
void configureNavigator(const client::NavigationStackConfig &stackConfig)
ComponentPlugin(ManagedIceObject &parent, const std::string &prefix)
void configureNavigator(const client::NavigationStackConfig &stackConfig, const std::string &configId)
void postCreatePropertyDefinitions(armarx::PropertyDefinitionsPtr &properties) override
This file is part of ArmarX.
This file is part of ArmarX.
std::unique_ptr< core::NavigatorInterface > NavigatorHandlePtr
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.