MemorySubscriber.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <vector>
5
9
11
13{
14 class MemoryNameSystem;
15}
16
18{
19
20 /**
21 * @brief Event-based delivery: subscribes to the requester's own slice of GazeTargetStatus.
22 *
23 * Needs a parent deriving from armem::client::plugins::ListeningPluginUser -- without one there
24 * is no memory update topic to subscribe to, and MemoryPolling is the alternative.
25 *
26 * Non-copyable and non-movable: it hands `this` to the subscription.
27 */
29 {
30 public:
31 /// @param providerSegmentName The provider segment the client commits its gaze targets to.
32 MemorySubscriber(const std::string& providerSegmentName,
34
39
41
42 private:
43 void onEntityUpdate(const std::vector<armem::MemoryID>& snapshotIDs);
44
45 const std::string providerSegmentName;
46
47 armem::client::MemoryNameSystem& memoryNameSystem;
48
49 armem::client::Reader memoryReader;
50
52 };
53
54} // namespace armarx::view_selection::client
The memory name system (MNS) client.
Reads data from a memory server.
Definition Reader.h:25
Turns a queried piece of the GazeTargetStatus core segment into dispatched updates.
MemorySubscriber(const MemorySubscriber &)=delete
MemorySubscriber & operator=(const MemorySubscriber &)=delete
MemorySubscriber(const std::string &providerSegmentName, armem::client::MemoryNameSystem &mns)
MemorySubscriber & operator=(MemorySubscriber &&)=delete
MemorySubscriber(MemorySubscriber &&)=delete
This file is part of ArmarX.