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
ManagedIceObject(ManagedIceObject const &other)
dto::RemoveServerResult removeServer(const dto::RemoveServerInput &input, const Ice::Current &=Ice::emptyCurrent) override
dto::GetAllRegisteredServersResult getAllRegisteredServers(const Ice::Current &) override
dto::RegisterServerResult registerServer(const dto::RegisterServerInput &input, const Ice::Current &=Ice::emptyCurrent) override
dto::ResolveServerResult resolveServer(const dto::ResolveServerInput &input, const Ice::Current &=Ice::emptyCurrent) override
void waitForServer_async(const AMD_MemoryNameSystemInterface_waitForServerPtr &future, const dto::WaitForServerInput &input, const Ice::Current &=Ice::emptyCurrent) override