AuboCaps  0.6.0
payload_model.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_PAYLOAD_MODEL_H
2 #define AUBO_SCOPE_PAYLOAD_MODEL_H
3 
4 #include <vector>
6 
7 namespace arcs {
8 namespace aubo_scope {
9 ARCS_CLASS_FORWARD(PayloadModel);
10 ARCS_CLASS_FORWARD(Payload);
11 
13 {
14 public:
17  virtual ~PayloadModel();
18 
19  /**
20  * @return A collection of all the payloads from the current
21  * installation in AuboScope, including user-defined payloads and
22  * payloads added by AuboCaps.
23  */
24  std::vector<PayloadPtr> getPayloads() const;
25 
26  PayloadPtr getPayload(const std::string &name) const;
27 
28  PayloadPtr getDefaultPayload() const;
29  PayloadPtr getCurrentPayload() const;
30 
31 private:
32  friend class DataSwitch;
33  PayloadModel();
34  void *d_{ nullptr };
35 };
36 } // namespace aubo_scope
37 } // namespace arcs
38 
39 #endif // PAYLOADMODEL_H
ARCS_CLASS_FORWARD(GripForceCapability)
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16