PluginUser.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <mutex>
4 
6 
7 #include <RobotAPI/interface/armem/mns/MemoryNameSystemInterface.h>
9 
11 {
12  class Plugin;
13 
14  class PluginUser :
15  virtual public ManagedIceObject,
16  virtual public mns::MemoryNameSystemInterface
17  {
18  public:
19  PluginUser();
20 
21  // mns::MemoryNameSystemInterface interface
22  public:
23  dto::RegisterServerResult registerServer(const dto::RegisterServerInput& input,
24  const Ice::Current& = Ice::emptyCurrent) override;
25  dto::RemoveServerResult removeServer(const dto::RemoveServerInput& input,
26  const Ice::Current& = Ice::emptyCurrent) override;
27 
28  dto::GetAllRegisteredServersResult getAllRegisteredServers(const Ice::Current&) override;
29 
30  dto::ResolveServerResult resolveServer(const dto::ResolveServerInput& input,
31  const Ice::Current& = Ice::emptyCurrent) override;
32 
33  // Uses Asynchronous Method Dispatch (AMD)
34  void waitForServer_async(const AMD_MemoryNameSystemInterface_waitForServerPtr& future,
35  const dto::WaitForServerInput& input,
36  const Ice::Current& = Ice::emptyCurrent) override;
37 
38 
39  protected:
40  std::mutex mnsMutex;
42  const MemoryNameSystem& mns() const;
43 
44 
45  private:
46  plugins::Plugin* plugin = nullptr;
47  };
48 
49 } // namespace armarx::armem::mns::plugins
armarx::armem::mns::plugins::PluginUser::removeServer
dto::RemoveServerResult removeServer(const dto::RemoveServerInput &input, const Ice::Current &=Ice::emptyCurrent) override
Definition: PluginUser.cpp:22
armarx::armem::mns::plugins::PluginUser::registerServer
dto::RegisterServerResult registerServer(const dto::RegisterServerInput &input, const Ice::Current &=Ice::emptyCurrent) override
Definition: PluginUser.cpp:14
armarx::armem::mns::plugins::PluginUser::mns
MemoryNameSystem & mns()
Definition: PluginUser.cpp:56
ManagedIceObject.h
armarx::armem::mns::MemoryNameSystem
Definition: MemoryNameSystem.h:16
armarx::aron::input
ReaderT::InputType & input
Definition: rw.h:12
armarx::armem::mns::plugins::PluginUser
Definition: PluginUser.h:14
armarx::armem::mns::plugins::PluginUser::waitForServer_async
void waitForServer_async(const AMD_MemoryNameSystemInterface_waitForServerPtr &future, const dto::WaitForServerInput &input, const Ice::Current &=Ice::emptyCurrent) override
Definition: PluginUser.cpp:47
armarx::armem::mns::plugins::PluginUser::resolveServer
dto::ResolveServerResult resolveServer(const dto::ResolveServerInput &input, const Ice::Current &=Ice::emptyCurrent) override
Definition: PluginUser.cpp:38
MemoryNameSystem.h
armarx::armem::mns::plugins
Definition: Plugin.cpp:3
armarx::armem::mns::plugins::PluginUser::mnsMutex
std::mutex mnsMutex
Definition: PluginUser.h:40
armarx::ManagedIceObject
The ManagedIceObject is the base class for all ArmarX objects.
Definition: ManagedIceObject.h:162
armarx::armem::mns::plugins::PluginUser::getAllRegisteredServers
dto::GetAllRegisteredServersResult getAllRegisteredServers(const Ice::Current &) override
Definition: PluginUser.cpp:30
plugins::Plugin
armarx::armem::mns::plugins::PluginUser::PluginUser
PluginUser()
Definition: PluginUser.cpp:8