AuboStudio SDK 0.6.3

program_api_provider.h
浏览该文件的文档.
1 #ifndef AUBO_SCOPE_PROGRAM_API_PROVIDER_H
2 #define AUBO_SCOPE_PROGRAM_API_PROVIDER_H
3
4 #include <aubo_caps/domain/system_api.h>
5 #include <aubo_caps/domain/program/program_api.h>
6 #include <aubo_caps/domain/user_interface/user_interface_api.h>
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 */
18 class ProgramApiProvider
19 {
20 public:
21 ProgramApiProvider(ProgramApiProvider &f);
22 ProgramApiProvider(ProgramApiProvider &&f);
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:
48 ProgramApiProvider();
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
arcs::aubo_scope::ProgramApiProvider
Provides access to functionality and services relevant for program nodes.
Definition: program_api_provider.h:19
arcs::aubo_scope::ProgramApiProvider::getSystemApi
SystemApiPtr getSystemApi()
Provides access to system related functionality
arcs::aubo_scope::ProgramApiProvider::ProgramApiProvider
ProgramApiProvider(ProgramApiProvider &f)
arcs::aubo_scope::ProgramApiProvider::DataSwitch
friend class DataSwitch
Definition: program_api_provider.h:49
arcs::aubo_scope::ProgramApiProvider::getProgramApi
ProgramApiPtr getProgramApi()
Provides access to functionality relevant related to programs
arcs::aubo_scope::ProgramApiProvider::ProgramApiProvider
ProgramApiProvider(ProgramApiProvider &&f)
arcs::aubo_scope::ProgramApiProvider::d_
void * d_
Definition: program_api_provider.h:50
arcs::aubo_scope::ProgramApiProvider::getUserInterfaceApi
UserInterfaceApiPtr getUserInterfaceApi()
Provides access to functionality related to user interface and end user interaction
arcs::aubo_scope::ProgramApiProvider::ProgramApiProvider
ProgramApiProvider()
arcs::aubo_scope::ProgramApiProvider::~ProgramApiProvider
virtual ~ProgramApiProvider()
arcs::aubo_scope::ARCS_CLASS_FORWARD
ARCS_CLASS_FORWARD(GripForceCapability)
arcs
Definition: contribution_provider.h:7
program_api.h
system_api.h
user_interface_api.h