AuboCaps  0.6.0
tcp.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_TCP_H
2 #define AUBO_SCOPE_TCP_H
3 
4 #include <string>
5 #include <vector>
7 
8 namespace arcs {
9 namespace aubo_scope {
11 
12 /**
13  * This interface represents a TCP in AuboScope. This can either be a
14  * user-defined TCP or a TCP added by a AuboCap.
15  */
17 {
18 public:
19  TCP(TCP &f);
20  TCP(TCP &&f);
21  ~TCP();
22 
23  /**
24  * @return The offset of the TCP with respect to the tool output flange, if
25  * the TCP is resolvable, otherwise null.
26  */
27  std::vector<double> getOffset();
28 
29  /**
30  * Note: The TCP can be renamed at any time
31  *
32  * @return The name of the TCP
33  */
34  std::string getDisplayName();
35 
36  /**
37  * A TCP cannot be guaranteed to be present in AuboScope. The end user can
38  * load a different installation (not containing the TCP) or the TCP was
39  * removed by the end user or the AuboCap that added the tcp/ This method
40  * can be used to determine, if the TCP is present.
41  *
42  * @return <code>true</code> if this TCP is present in AuboScope, otherwise
43  * <code>false</code>.
44  */
45  bool isResolvable();
46 
47  size_t hashCode();
48 
49 private:
50  friend class DataSwitch;
51  TCP();
52  void *d_{ nullptr };
53 };
54 
55 } // namespace aubo_scope
56 } // namespace arcs
57 
58 #endif // AUBO_SCOPE_TCP_H
ARCS_CLASS_FORWARD(GripForceCapability)
This interface represents a TCP in AuboScope.
Definition: tcp.h:16
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16