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