AuboCaps  0.6.0
program_api_provider.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_PROGRAM_API_PROVIDER_H
2 #define AUBO_SCOPE_PROGRAM_API_PROVIDER_H
3 
7 
8 namespace arcs {
9 namespace aubo_scope {
10 
11 ARCS_CLASS_FORWARD(ProgramApiProvider);
12 
13 /**
14  * Provides access to functionality and services relevant for program nodes.
15  * This 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 ~ProgramApiProvider();
24 
25  /**
26  * Provides access to system related functionality
27  *
28  * @return an instance of SystemAPI
29  */
30  SystemApiPtr getSystemApi();
31 
32  /**
33  * Provides access to functionality related to user interface and end user
34  * interaction
35  *
36  * @return an instance of UserInterfaceAPI
37  */
38  UserInterfaceApiPtr getUserInterfaceApi();
39 
40  /**
41  * Provides access to functionality relevant related to programs
42  *
43  * @return an instance of ProgramAPI
44  */
45  ProgramApiPtr getProgramApi();
46 
47 private:
49  friend class DataSwitch;
50  void *d_{ nullptr };
51 };
52 
53 } // namespace aubo_scope
54 } // namespace arcs
55 
56 #endif // AUBO_SCOPE_PROGRAM_API_PROVIDER_H
ProgramApiPtr getProgramApi()
Provides access to functionality relevant related to programs.
ARCS_CLASS_FORWARD(GripForceCapability)
UserInterfaceApiPtr getUserInterfaceApi()
Provides access to functionality related to user interface and end user interaction.
Provides access to functionality and services relevant for program nodes.
SystemApiPtr getSystemApi()
Provides access to system related functionality.