AuboCaps  0.6.0
program_api.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_PROGRAM_API_H
2 #define AUBO_SCOPE_PROGRAM_API_H
3 
8 
9 namespace arcs {
10 namespace aubo_scope {
11 ARCS_CLASS_FORWARD(ProgramApi);
12 
13 /**
14  * Provides access to functionality and services related to programs. This
15  * includes what is available from within AuboScope, as well as creating
16  * additional model elements to be used within AuboScope.
17  */
19 {
20 public:
23  virtual ~ProgramApi();
24 
25  /**
26  * @return An interface for working with the sub-trees of a program node
27  */
28  ProgramModelPtr getProgramModel();
29 
30  /**
31  * @return An interface for working with waypoints
32  */
33  WaypointModelPtr getWaypointModel();
34 
35  /**
36  * @return An interface for recording undoable changes for program node
37  * contributions
38  */
39  UndoRedoManagerPtr getUndoRedoManager();
40 
41 private:
42  friend class DataSwitch;
43  ProgramApi();
44  void *d_{ nullptr };
45 };
46 
47 } // namespace aubo_scope
48 } // namespace arcs
49 #endif // AUBO_SCOPE_PROGRAM_API_H
ARCS_CLASS_FORWARD(GripForceCapability)
Provides access to functionality and services related to programs.
Definition: program_api.h:18
Provides access to functionality and services which are relevant for various different applications a...
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16