Component.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @package RobotAPI::ArmarXObjects::RobotStatePredictionClientExample
17  * @author Rainer Kartmann ( rainer dot kartmann at kit dot edu )
18  * @date 2022
19  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20  * GNU General Public License
21  */
22 
23 
24 #pragma once
25 
26 #include <memory>
27 
29 
31 
33 
35 
36 // For some reason, the generated main requires Impl to be complete ...
37 #include "Impl.h"
38 
39 
41 {
42  class Impl;
43 
44 
45  /**
46  * @defgroup Component-ExampleClient ExampleClient
47  * @ingroup RobotAPI-Components
48  *
49  * An example for an ArMem Memory Client.
50  *
51  * @class ExampleClient
52  * @ingroup Component-ExampleClient
53  * @brief Brief description of class ExampleClient.
54  *
55  * Connects to the example memory, and commits and queries example data.
56  */
57  class Component :
58  virtual public armarx::Component
60  , virtual public armarx::ArVizComponentPluginUser
61  , virtual public armarx::armem::ClientPluginUser
62  {
63  public:
65 
66  Component();
67  virtual ~Component();
68 
69 
70  /// @see armarx::ManagedIceObject::getDefaultName()
71  std::string getDefaultName() const override;
72 
73 
74  // LightweightRemoteGuiComponentPluginUser interface
75  public:
76  void createRemoteGuiTab();
77  void RemoteGui_update() override;
78 
79 
80  protected:
81 
83 
84  void onInitComponent() override;
85  void onConnectComponent() override;
86  void onDisconnectComponent() override;
87  void onExitComponent() override;
88 
89 
90  private:
91 
92  std::unique_ptr<Impl> pimpl = nullptr;
93 
94  struct RemoteGuiTab : RemoteGui::Client::Tab
95  {
96  };
97  RemoteGuiTab tab;
98 
99  };
100 }
ArVizComponentPlugin.h
armarx::robot_state_prediction_client_example::Component::Component
Component()
Definition: Component.cpp:32
armarx::robot_state_prediction_client_example::Component::onInitComponent
void onInitComponent() override
Pure virtual hook for the subclass.
Definition: Component.cpp:57
armarx::robot_state_prediction_client_example::Component
Definition: Component.h:57
armarx::RemoteGui::Client::Tab
Definition: Tab.h:15
armarx::robot_state_prediction_client_example::Component::createPropertyDefinitions
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Definition: Component.cpp:45
armarx::robot_state_prediction_client_example::Component::onDisconnectComponent
void onDisconnectComponent() override
Hook for subclass.
Definition: Component.cpp:72
LightweightRemoteGuiComponentPlugin.h
armarx::armem::client::plugins::PluginUser
Adds the Memory Name System client component plugin.
Definition: PluginUser.h:29
armarx::ArVizComponentPluginUser
Provides a ready-to-use ArViz client arviz as member variable.
Definition: ArVizComponentPlugin.h:36
armarx::robot_state_prediction_client_example::Component::createRemoteGuiTab
void createRemoteGuiTab()
Definition: Component.cpp:83
armarx::robot_state_prediction_client_example::Component::getDefaultName
std::string getDefaultName() const override
Definition: Component.cpp:39
Impl.h
armarx::LightweightRemoteGuiComponentPluginUser
Definition: LightweightRemoteGuiComponentPlugin.h:73
armarx::robot_state_prediction_client_example::Component::onConnectComponent
void onConnectComponent() override
Pure virtual hook for the subclass.
Definition: Component.cpp:62
Component.h
armarx::Component
Baseclass for all ArmarX ManagedIceObjects requiring properties.
Definition: Component.h:95
armarx::robot_state_prediction_client_example::Component::onExitComponent
void onExitComponent() override
Hook for subclass.
Definition: Component.cpp:78
armarx::robot_state_prediction_client_example
Definition: Component.cpp:29
armarx::robot_state_prediction_client_example::Component::~Component
virtual ~Component()
armarx::robot_state_prediction_client_example::Impl
Definition: Impl.h:40
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::robot_state_prediction_client_example::Component::RemoteGui_update
void RemoteGui_update() override
Definition: Component.cpp:92
PluginUser.h