AuboStudio SDK  0.6.3
installation_node_service.h
浏览该文件的文档.
1#ifndef AUBO_SCOPE_INSTALLATION_SERVICE_H
2#define AUBO_SCOPE_INSTALLATION_SERVICE_H
3
4#include <string>
12
13namespace arcs {
14namespace aubo_scope {
16
17/**
18 * Defines an API required for defining and adding to AuboScope an installation
19 * node and corresponding screen where the user interface is Swing-based.
20 */
22{
23public:
24 virtual ~InstallationNodeService() = default;
25
26 /**
27 * @param locale the current locale of AuboScope. Can be used for supporting
28 * titles in several languages.
29 * @return The text displayed for this installation contribution in the
30 * left-hand side navigation of the Installation Tab as well as the title of
31 * the corresponding installation node screen. Called once at start up.
32 */
33 virtual std::string getTitle() = 0;
34
35 /**
36 * @param locale the current locale of AuboScope. Can be used for supporting
37 * titles in several languages.
38 * @return The text displayed for this installation contribution in the
39 * left-hand side navigation of the Installation Tab as well as the title of
40 * the corresponding installation node screen. Called once at start up.
41 */
42 virtual std::string getIcon() = 0;
43
44 /**
45 * This method is called once after this service is registered. Modify the
46 * configuration parameter to configure your contribution/ The configuration
47 * object will already have default values for its properties matching most
48 * use cases. <p> The values of the ContributionConfiguration object will be
49 * read once immediately after this method call. Changing values at a later
50 * stage will have no effect, so do not store a reference to the
51 * configuration object.
52 * </p>
53 * If the default values are appropriate, leave this method empty.
54 *
55 * @param configuration a modifiable ContributionConfiguration with default
56 * values
57 */
59 InstallationContributionConfigurationPtr configuration) = 0;
60
61 /**
62 * Creates a new View instance which implements the UI for your installation
63 * node screen. Called once when a new installation is loaded or created.
64 *
65 * @param api_provider Provides access to functionality and services
66 * available from within AuboScope related to user interface and end user
67 * interaction
68 * @return the view
69 */
70 virtual InstallationNodeViewPtr createView(
71 ViewApiProviderPtr api_provider) = 0;
72
73 /**
74 * <p>
75 * Creates a new installation node instance.
76 * </p>
77 * <p>
78 * The returned node must use the supplied data model object to retrieve and
79 * store the data contained in it. All modifications to the supplied data
80 * model from the installation node constructor are ignored when an existing
81 * installation is loaded. The data model object is shared between all
82 * installation nodes contributed by the same AuboCap.
83 * </p>
84 *
85 * @param api_provider Provides access to functionality and services
86 * available from within AuboScope relevant for the installation node
87 * @param view the View created by {@link #createView(ViewAPIProvider)}
88 * @param model object where all configuration data of the new installation
89 * node instance is to be stored in and retrieved from
90 * @param context the context in which this node is created
91 * @return the newly constructed installation node contribution instance
92 */
93 virtual InstallationNodeContributionPtr createInstallationNode(
94 InstallationApiProviderPtr api_provider, InstallationNodeViewPtr view,
95 DataModelPtr model, InstallationCreationContextPtr context) = 0;
96};
97
98} // namespace aubo_scope
99} // namespace arcs
100
101#endif
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
Defines an API required for defining and adding to AuboScope an installation node and corresponding s...
virtual InstallationNodeViewPtr createView(ViewApiProviderPtr api_provider)=0
Creates a new View instance which implements the UI for your installation node screen.
virtual InstallationNodeContributionPtr createInstallationNode(InstallationApiProviderPtr api_provider, InstallationNodeViewPtr view, DataModelPtr model, InstallationCreationContextPtr context)=0
virtual void configureContribution(InstallationContributionConfigurationPtr configuration)=0
This method is called once after this service is registered.