AuboCaps  0.6.0
tcp_model.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOP_TCP_MODEL_H
2 #define AUBO_SCOP_TCP_MODEL_H
3 
4 #include <vector>
5 #include <functional>
7 
8 namespace arcs {
9 namespace aubo_scope {
10 ARCS_CLASS_FORWARD(TcpModel);
11 
12 /**
13  * This interface provides access to the TCPs that are currently available in
14  * AuboScope.
15  */
17 {
18 public:
19  TcpModel(TcpModel &f);
20  TcpModel(TcpModel &&f);
21  virtual ~TcpModel();
22 
23  /**
24  * @return A collection of all the TCPs in AuboScope, including user-defined
25  * TCPs and TCPs added by AuboCaps.
26  */
27  std::vector<TCPPtr> getAll();
28  TCPPtr getTcp(const std::string &name);
29 
30  TCPPtr getDefaultTcp();
31 
32  std::string connectedTo(const std::string &receiver,
33  const std::function<void(TcpModel *)> &slot);
34 
35  void disconnectFrom(const std::string &receiver);
36 
37 private:
38  friend class DataSwitch;
39  TcpModel();
40  void *d_{ nullptr };
41 };
42 
43 } // namespace aubo_scope
44 } // namespace arcs
45 
46 #endif // AUBO_SCOP_TCP_MODEL_H
This interface provides access to the TCPs that are currently available in AuboScope.
Definition: tcp_model.h:16
ARCS_CLASS_FORWARD(GripForceCapability)
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16