Go to the documentation of this file.
28 #include <RobotAPI/interface/armem/mns/MemoryNameSystemInterface.h>
29 #include <RobotAPI/interface/armem/server/MemoryInterface.h>
38 class ManagedIceObject;
220 inline operator bool()
const
249 mns::dto::MemoryServerInterfaces useServer(
const std::string&
memoryName);
255 template <
class ClientT>
256 using ClientFactory = std::function<std::optional<ClientT>(
const mns::dto::MemoryServerInterfaces& server)>;
258 template <
class ClientT>
259 std::map<std::string, ClientT> _getAllClients(ClientFactory<ClientT>&& factory)
const;
263 mns::MemoryNameSystemInterfacePrx mns =
nullptr;
269 std::map<std::string, mns::dto::MemoryServerInterfaces> servers;
mns::dto::MemoryServerInterfaces resolveServer(const MemoryID &memoryID)
Resolve the given memory server for the given memory ID.
void removeServer(const MemoryID &memoryID)
Remove a memory server from the MNS.
Reads data from a memory server.
Client-side working entity instance.
std::map< std::string, Reader > getAllReaders() const
Get Readers for all registered servers (without updating).
Writer useWriter(const MemoryID &memoryID)
Use a memory server and get a writer for it.
std::map< std::string, Writer > getAllWriters() const
Get Writers for all registered servers (without updating).
This file is part of ArmarX.
void registerServer(const MemoryID &memoryID, mns::dto::MemoryServerInterfaces server)
Register a memory server in the MNS.
std::optional< wm::EntityInstance > resolveEntityInstance(const MemoryID &id)
Resolve a memory ID to an EntityInstance.
Writer getWriter(const MemoryID &memoryID)
Get a writer to the given memory name.
Reader useReader(const MemoryID &memoryID)
Use a memory server and get a reader for it.
Helps a memory client sending data to a memory.
mns::MemoryNameSystemInterfacePrx getMemoryNameSystem() const
std::map< MemoryID, wm::EntityInstance > resolveEntityInstances(const std::vector< MemoryID > &ids)
The ManagedIceObject is the base class for all ArmarX objects.
void setComponent(ManagedIceObject *component)
Handles update signals from the memory system and distributes it to its subsribers.
const std::string memoryName
void initialize(mns::MemoryNameSystemInterfacePrx mns, ManagedIceObject *component=nullptr)
The memory name system (MNS) client.
void update()
Update the internal registry to the data in the MNS.
Reader getReader(const MemoryID &memoryID)
Get a reader to the given memory name.
This file offers overloads of toIce() and fromIce() functions for STL container types.