AuboStudio SDK  0.6.3
screw_driver_parameters.h
浏览该文件的文档.
1#ifndef AUBO_SCOPE_SCREW_DIRVER_PARAMETERS_H
2#define AUBO_SCOPE_SCREW_DIRVER_PARAMETERS_H
3
4#include <string>
6
7namespace arcs {
8namespace aubo_scope {
9
11/**
12 * This abstract class represents a screwdriver program, typically defined on an
13 * external control box for the screwdriver.
14 */
16{
17public:
18 virtual ~ScrewdriverProgram() = 0;
19
20 /**
21 * <p>
22 * This method must return an identifier to uniquely identify this
23 * screwdriver program. The identifier will be used for persistence and
24 * resolving the correct screwdriver program. Therefore the identifier must
25 * remain constant over time and versions of the screwdriver AuboCap.
26 * </p>
27 *
28 * This method must be implemented.
29 *
30 * @return a unique identifier string which will remain constant over time
31 * and versions of the screwdriver AuboCap.
32 */
33 virtual std::string getId() = 0;
34
35 /**
36 * <p>
37 * This method should return the name of the screwdriver program. The name
38 * will be displayed in the UI, e.g. in a combo box. The name returned is
39 * allowed to change over versions of the driver AuboCap as well as be
40 * different depending on the current language selected in AuboScope, in
41 * case translations are supported.
42 * </p>
43 *
44 * This method must be implemented.
45 *
46 * @return the name of the screwdriver program to display in the UI.
47 */
48 virtual std::string getDisplayName() = 0;
49};
50
51/**
52 * This interface represents the type of screwing operation performed by the
53 * screwdriver.
54 */
56{
57
58 /**
59 * The screwdriver operation will follow the screw in a tightening direction
60 * (in).
61 */
63
64 /**
65 * The screwdriver operation will follow the screw in a loosening direction
66 * (out).
67 */
69};
70
72
73/**
74 * This interface represents parameters for a screwdriver operation
75 * defined/configured by the end user.
76 */
78{
79public:
80 virtual ~ScrewdriverParameters() = default;
81
82 /**
83 * <p>
84 * Get the selected screwdriver program to be used for the screwdriver
85 * operation.
86 * </p>
87 *
88 * This is only valid, if the program selection capability has been
89 * registered (using the method
90 * {@link
91 * ScrewdriverCapabilities#registerProgramSelectionCapability(ScrewdriverProgramListProvider,
92 * ScriptCodeGenerator)}).
93 *
94 * @return The selected screwdriver program to use for the operation.
95 * @throws UnsupportedOperationException if the screwdriver has not
96 * registered the program selection capability
97 */
99
100 /**
101 * <p>
102 * Get the selected screwdriver operation type.
103 * </p>
104 *
105 * This is only valid, if the operation type capability has been registered
106 * (using the method
107 * {@link ScrewdriverCapabilities#registerOperationTypeCapability()}).
108 *
109 * @return The operation type selected by the user.
110 * @throws UnsupportedOperationException if the screwdriver has not
111 * registered the operation type capability
112 */
114 ;
115};
116} // namespace aubo_scope
117} // namespace arcs
118
119#endif
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
This interface represents parameters for a screwdriver operation defined/configured by the end user.
virtual ScrewdriverOperationType getScrewdriverOperationType()=0
virtual ScrewdriverProgram getScrewdriverProgram()=0
This abstract class represents a screwdriver program, typically defined on an external control box fo...
virtual std::string getId()=0
virtual std::string getDisplayName()=0
ScrewdriverOperationType
This interface represents the type of screwing operation performed by the screwdriver.
@ TIGHTEN
The screwdriver operation will follow the screw in a tightening direction (in).
@ LOOSEN
The screwdriver operation will follow the screw in a loosening direction (out).