MemoryNameSystem.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <map>
4 #include <mutex>
5 #include <string>
6 
8 
9 #include <RobotAPI/interface/armem/mns/MemoryNameSystemInterface.h>
10 
11 #include "Registry.h"
12 
13 namespace armarx::armem::mns
14 {
15 
16  class MemoryNameSystem : public Registry
17  {
18  public:
19  using WaitForServerFuturePtr = AMD_MemoryNameSystemInterface_waitForServerPtr;
20 
21 
22  public:
23  /**
24  * @brief Store the call in a container for later response.
25  */
26  void waitForServer_async(const AMD_MemoryNameSystemInterface_waitForServerPtr& future,
27  const dto::WaitForServerInput& input);
28 
30 
31  dto::RegisterServerResult registerServer(const dto::RegisterServerInput& input) override;
32 
33 
34  /// Builds a RemoteGui grid containing information about registered memories.
36 
37 
38  private:
39  /// Queued calls to `waitForServer`.
40  std::map<std::string, std::vector<WaitForServerFuturePtr>> waitForServerFutures;
41 
42  std::mutex futuresMtx;
43  };
44 
45 } // namespace armarx::armem::mns
armarx::armem::mns::MemoryNameSystem::waitForServer_async
void waitForServer_async(const AMD_MemoryNameSystemInterface_waitForServerPtr &future, const dto::WaitForServerInput &input)
Store the call in a container for later response.
Definition: MemoryNameSystem.cpp:8
armarx::armem::mns::Registry
A registry for memory servers.
Definition: Registry.h:21
armarx::armem::mns::MemoryNameSystem::waitForServer_processOnce
void waitForServer_processOnce()
Definition: MemoryNameSystem.cpp:23
LightweightRemoteGuiComponentPlugin.h
armarx::RemoteGui::Client::GridLayout
Definition: Widgets.h:186
armarx::armem::mns::MemoryNameSystem
Definition: MemoryNameSystem.h:16
armarx::aron::input
ReaderT::InputType & input
Definition: rw.h:12
armarx::armem::mns::MemoryNameSystem::RemoteGui_buildInfoGrid
armarx::RemoteGui::Client::GridLayout RemoteGui_buildInfoGrid()
Builds a RemoteGui grid containing information about registered memories.
Definition: MemoryNameSystem.cpp:65
armarx::armem::mns::MemoryNameSystem::WaitForServerFuturePtr
AMD_MemoryNameSystemInterface_waitForServerPtr WaitForServerFuturePtr
Definition: MemoryNameSystem.h:19
armarx::armem::mns
Definition: MemoryNameSystem.cpp:3
Registry.h
armarx::armem::mns::MemoryNameSystem::registerServer
dto::RegisterServerResult registerServer(const dto::RegisterServerInput &input) override
Register a new memory server or update an existing entry.
Definition: MemoryNameSystem.cpp:56