MemoryNameSystem.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::MemoryNameSystem
17  * @author Rainer Kartmann ( rainer dot kartmann at kit dot edu )
18  * @date 2020
19  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20  * GNU General Public License
21  */
22 
23 #pragma once
24 
26 #include <RobotAPI/interface/armem/mns/MemoryNameSystemInterface.h>
27 
29 
31 
32 
33 namespace armarx::armem
34 {
35  /**
36  * @defgroup Component-MemoryNameSystem MemoryNameSystem
37  * @ingroup RobotAPI-Components
38  * A description of the component MemoryNameSystem.
39  *
40  * @class MemoryNameSystem
41  * @ingroup Component-MemoryNameSystem
42  * @brief Brief description of class MemoryNameSystem.
43  *
44  * Detailed description of class MemoryNameSystem.
45  */
47  virtual public armarx::Component
48  , virtual public armem::mns::plugins::PluginUser
50  {
51  public:
52 
53  /// @see armarx::ManagedIceObject::getDefaultName()
54  std::string getDefaultName() const override;
55 
56 
57  // mns::MemoryNameSystemInterface interface
58  public:
59  mns::dto::RegisterServerResult registerServer(const mns::dto::RegisterServerInput& input, const Ice::Current&) override;
60  mns::dto::RemoveServerResult removeServer(const mns::dto::RemoveServerInput& input, const Ice::Current&) override;
61  // Others are inherited from ComponentPluginUser
62 
63 
64  // LightweightRemoteGuiComponentPluginUser interface
65  public:
66 
67  void createRemoteGuiTab();
68  void RemoteGui_update() override;
69 
70 
71  protected:
72 
73  /// @see PropertyUser::createPropertyDefinitions()
75 
76  /// @see armarx::ManagedIceObject::onInitComponent()
77  void onInitComponent() override;
78 
79  /// @see armarx::ManagedIceObject::onConnectComponent()
80  void onConnectComponent() override;
81 
82  /// @see armarx::ManagedIceObject::onDisconnectComponent()
83  void onDisconnectComponent() override;
84 
85  /// @see armarx::ManagedIceObject::onExitComponent()
86  void onExitComponent() override;
87 
88 
89  private:
90 
91  struct Properties
92  {
93  };
94  Properties properties;
95 
96 
97  struct RemoteGuiTab : RemoteGui::Client::Tab
98  {
99  std::atomic_bool rebuild = false;
100  };
101  RemoteGuiTab tab;
102 
103  };
104 }
armarx::armem::MemoryNameSystem::onInitComponent
void onInitComponent() override
Definition: MemoryNameSystem.cpp:50
armarx::armem::MemoryNameSystem::RemoteGui_update
void RemoteGui_update() override
Definition: MemoryNameSystem.cpp:105
armarx::RemoteGui::Client::Tab
Definition: Tab.h:15
armarx::armem
Definition: LegacyRobotStateMemoryAdapter.cpp:31
armarx::armem::MemoryNameSystem::createRemoteGuiTab
void createRemoteGuiTab()
Definition: MemoryNameSystem.cpp:93
armarx::armem::MemoryNameSystem::createPropertyDefinitions
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Definition: MemoryNameSystem.cpp:35
LightweightRemoteGuiComponentPlugin.h
armarx::armem::MemoryNameSystem
Brief description of class MemoryNameSystem.
Definition: MemoryNameSystem.h:46
armarx::armem::MemoryNameSystem::onConnectComponent
void onConnectComponent() override
Definition: MemoryNameSystem.cpp:55
armarx::armem::MemoryNameSystem::getDefaultName
std::string getDefaultName() const override
Definition: MemoryNameSystem.cpp:43
armarx::aron::input
ReaderT::InputType & input
Definition: rw.h:19
armarx::armem::mns::plugins::PluginUser
Definition: PluginUser.h:17
armarx::armem::MemoryNameSystem::onExitComponent
void onExitComponent() override
Definition: MemoryNameSystem.cpp:67
armarx::LightweightRemoteGuiComponentPluginUser
Definition: LightweightRemoteGuiComponentPlugin.h:73
Component.h
armarx::Component
Baseclass for all ArmarX ManagedIceObjects requiring properties.
Definition: Component.h:95
armarx::armem::MemoryNameSystem::registerServer
mns::dto::RegisterServerResult registerServer(const mns::dto::RegisterServerInput &input, const Ice::Current &) override
Definition: MemoryNameSystem.cpp:72
armarx::armem::MemoryNameSystem::removeServer
mns::dto::RemoveServerResult removeServer(const mns::dto::RemoveServerInput &input, const Ice::Current &) override
Definition: MemoryNameSystem.cpp:81
armarx::armem::MemoryNameSystem::onDisconnectComponent
void onDisconnectComponent() override
Definition: MemoryNameSystem.cpp:62
IceUtil::Handle< class PropertyDefinitionContainer >
PluginUser.h