xref: /aosp_15_r20/external/parameter-framework/upstream/doc/requirements/APIs.md (revision c33452fb792a5495ec310a9626f2638b053af5dd)
1*c33452fbSAndroid Build Coastguard Worker<article class="markdown-body">
2*c33452fbSAndroid Build Coastguard Worker
3*c33452fbSAndroid Build Coastguard WorkerLink from APIs to requirements
4*c33452fbSAndroid Build Coastguard Worker==============================
5*c33452fbSAndroid Build Coastguard Worker
6*c33452fbSAndroid Build Coastguard Worker# `ParameterMgrPlatformConnector`
7*c33452fbSAndroid Build Coastguard Worker
8*c33452fbSAndroid Build Coastguard WorkerThis class is the main client interface.
9*c33452fbSAndroid Build Coastguard Worker
10*c33452fbSAndroid Build Coastguard WorkerSee
11*c33452fbSAndroid Build Coastguard Worker<http://01org.github.io/parameter-framework/doc/classCParameterMgrPlatformConnector.html>
12*c33452fbSAndroid Build Coastguard Workerfor the complete documentation of each API.
13*c33452fbSAndroid Build Coastguard Worker
14*c33452fbSAndroid Build Coastguard Worker## `createSelectionCriterionType` and `createSelectionCriterion`
15*c33452fbSAndroid Build Coastguard Worker
16*c33452fbSAndroid Build Coastguard WorkerImplement the **Selection Criterion** creation requirements. See section **5.4**
17*c33452fbSAndroid Build Coastguard Workerof the requirements documentation.
18*c33452fbSAndroid Build Coastguard Worker
19*c33452fbSAndroid Build Coastguard Worker## `getSelectionCriterion`
20*c33452fbSAndroid Build Coastguard Worker
21*c33452fbSAndroid Build Coastguard WorkerThere is no requirement to retreive a criterion by it's name.
22*c33452fbSAndroid Build Coastguard Worker
23*c33452fbSAndroid Build Coastguard Worker## `setLogger`
24*c33452fbSAndroid Build Coastguard Worker
25*c33452fbSAndroid Build Coastguard WorkerImplement [req-post-mortem-debug].
26*c33452fbSAndroid Build Coastguard Worker
27*c33452fbSAndroid Build Coastguard WorkerImplements a way for the user to provide a log backend.
28*c33452fbSAndroid Build Coastguard WorkerThis is not a requirentment currently.
29*c33452fbSAndroid Build Coastguard WorkerMaybe it is a miss?
30*c33452fbSAndroid Build Coastguard Worker
31*c33452fbSAndroid Build Coastguard Worker## `start` and `isStarted`
32*c33452fbSAndroid Build Coastguard Worker
33*c33452fbSAndroid Build Coastguard Worker**???**
34*c33452fbSAndroid Build Coastguard Worker
35*c33452fbSAndroid Build Coastguard WorkerThere is no "two-step-creation" requirement. This is an implementation detail.
36*c33452fbSAndroid Build Coastguard Worker
37*c33452fbSAndroid Build Coastguard Worker## `applyConfigurations`
38*c33452fbSAndroid Build Coastguard Worker
39*c33452fbSAndroid Build Coastguard WorkerDeffered application requirement; see [req-multiple-criterion-change-atomicity]
40*c33452fbSAndroid Build Coastguard WorkerSee also the Selection Criterion APIs below.
41*c33452fbSAndroid Build Coastguard Worker
42*c33452fbSAndroid Build Coastguard Worker## `createParameterHandle`
43*c33452fbSAndroid Build Coastguard Worker
44*c33452fbSAndroid Build Coastguard WorkerIntrospection and direct parameter read/write access;
45*c33452fbSAndroid Build Coastguard Workersee [req-introspection] especialy the point about parameter properties.
46*c33452fbSAndroid Build Coastguard WorkerSee also the Parameter Handle APIs below.
47*c33452fbSAndroid Build Coastguard Worker
48*c33452fbSAndroid Build Coastguard Worker## `setForceNoRemoteInterface` and `getForceNoRemoteInterface`
49*c33452fbSAndroid Build Coastguard Worker
50*c33452fbSAndroid Build Coastguard WorkerTuning capability activation control; see section [req-disabling] in [req-tuning].
51*c33452fbSAndroid Build Coastguard Worker
52*c33452fbSAndroid Build Coastguard Worker## `setFailureOnMissingSubsystem` and `getFailureOnMissingSubsystem`
53*c33452fbSAndroid Build Coastguard Worker
54*c33452fbSAndroid Build Coastguard Worker**???**
55*c33452fbSAndroid Build Coastguard Worker
56*c33452fbSAndroid Build Coastguard WorkerCurrently only used for XML generation. There is no requirement associated.
57*c33452fbSAndroid Build Coastguard Worker
58*c33452fbSAndroid Build Coastguard Worker## `setFailureOnFailedSettingsLoad` and `getFailureOnFailedSettingsLoad`
59*c33452fbSAndroid Build Coastguard Worker
60*c33452fbSAndroid Build Coastguard Worker**???**
61*c33452fbSAndroid Build Coastguard Worker
62*c33452fbSAndroid Build Coastguard WorkerCurrently only used for XML generaton. There is no requirement associated.
63*c33452fbSAndroid Build Coastguard Worker
64*c33452fbSAndroid Build Coastguard Worker## `setSchemaUri` and `getSchemaUri`; `setValidateSchemasOnStart` and `getValidateSchemasOnStart`
65*c33452fbSAndroid Build Coastguard Worker
66*c33452fbSAndroid Build Coastguard Worker**???**
67*c33452fbSAndroid Build Coastguard Worker
68*c33452fbSAndroid Build Coastguard WorkerCurrently only used for XML generation. There is no requirement associated.
69*c33452fbSAndroid Build Coastguard Worker
70*c33452fbSAndroid Build Coastguard Worker# `ParameterMgrFullConnector`
71*c33452fbSAndroid Build Coastguard Worker
72*c33452fbSAndroid Build Coastguard WorkerThis is another client interface that covers the same purposes and APIs than
73*c33452fbSAndroid Build Coastguard Worker`ParameterMgrPlatformConnector` and extands them. See this class' description.
74*c33452fbSAndroid Build Coastguard WorkerAdded APIs are described in this chapter.
75*c33452fbSAndroid Build Coastguard Worker
76*c33452fbSAndroid Build Coastguard Worker## `setTuningMode` and `isTuningModeOn`
77*c33452fbSAndroid Build Coastguard Worker
78*c33452fbSAndroid Build Coastguard WorkerTuning capability activation control; see section [req-parameter-overwriting].
79*c33452fbSAndroid Build Coastguard WorkerIt adds another level of flexibility over `setForceNoRemoteInterface`.
80*c33452fbSAndroid Build Coastguard WorkerThe semantic of these two APIs overlap but **neither one fully contains the other**.
81*c33452fbSAndroid Build Coastguard Worker
82*c33452fbSAndroid Build Coastguard Worker**TODO**: fix the semantics.
83*c33452fbSAndroid Build Coastguard Worker
84*c33452fbSAndroid Build Coastguard Worker## `setValueSpace` and `isValueSpaceRaw`; `setOutputRawFormat` and `isOutputRawFormatHex`
85*c33452fbSAndroid Build Coastguard Worker
86*c33452fbSAndroid Build Coastguard WorkerSerialization control (FIXME: what about deserialization ?). Seems **UNUSED**.
87*c33452fbSAndroid Build Coastguard WorkerThere is no requirement associated.
88*c33452fbSAndroid Build Coastguard Worker
89*c33452fbSAndroid Build Coastguard Worker## `setAutoSync`, `isAutoSyncOn` and `sync`
90*c33452fbSAndroid Build Coastguard Worker
91*c33452fbSAndroid Build Coastguard WorkerSynchronization on client request; see section [req-explicit-sync].
92*c33452fbSAndroid Build Coastguard Worker
93*c33452fbSAndroid Build Coastguard Worker## `accessParameterValue`
94*c33452fbSAndroid Build Coastguard Worker
95*c33452fbSAndroid Build Coastguard WorkerParameter value direct access. **This overlaps with ParameterHandle.**
96*c33452fbSAndroid Build Coastguard WorkerImplements the same requirement: [req-parameter-overwriting]
97*c33452fbSAndroid Build Coastguard Worker
98*c33452fbSAndroid Build Coastguard Worker## `getParameterMapping`
99*c33452fbSAndroid Build Coastguard Worker
100*c33452fbSAndroid Build Coastguard WorkerPart of the Introspection requirements. See [req-introspection] especialy implement
101*c33452fbSAndroid Build Coastguard Workerintropsepction of the mapped syncer.
102*c33452fbSAndroid Build Coastguard Worker
103*c33452fbSAndroid Build Coastguard Worker## Tuning APIs
104*c33452fbSAndroid Build Coastguard Worker
105*c33452fbSAndroid Build Coastguard WorkerAll of the following APIs implement the Tuning requirement; see section [req-tuning]
106*c33452fbSAndroid Build Coastguard Worker
107*c33452fbSAndroid Build Coastguard Worker- `accessConfigurationValue`
108*c33452fbSAndroid Build Coastguard Worker
109*c33452fbSAndroid Build Coastguard Worker- `createDomain`
110*c33452fbSAndroid Build Coastguard Worker- `deleteDomain`
111*c33452fbSAndroid Build Coastguard Worker- `renameDomain`
112*c33452fbSAndroid Build Coastguard Worker- `deleteAllDomains`
113*c33452fbSAndroid Build Coastguard Worker
114*c33452fbSAndroid Build Coastguard Worker- `setSequenceAwareness`
115*c33452fbSAndroid Build Coastguard Worker- `getSequenceAwareness`
116*c33452fbSAndroid Build Coastguard Worker- `setElementSequence`
117*c33452fbSAndroid Build Coastguard Worker
118*c33452fbSAndroid Build Coastguard Worker- `createConfiguration`
119*c33452fbSAndroid Build Coastguard Worker- `deleteConfiguration`
120*c33452fbSAndroid Build Coastguard Worker- `renameConfiguration`
121*c33452fbSAndroid Build Coastguard Worker- `restoreConfiguration`
122*c33452fbSAndroid Build Coastguard Worker- `saveConfiguration`
123*c33452fbSAndroid Build Coastguard Worker
124*c33452fbSAndroid Build Coastguard Worker- `addConfigurableElementToDomain`
125*c33452fbSAndroid Build Coastguard Worker- `removeConfigurableElementFromDomain`
126*c33452fbSAndroid Build Coastguard Worker- `split`
127*c33452fbSAndroid Build Coastguard Worker
128*c33452fbSAndroid Build Coastguard Worker- `setApplicationRule`
129*c33452fbSAndroid Build Coastguard Worker- `getApplicationRule`
130*c33452fbSAndroid Build Coastguard Worker- `clearApplicationRule`
131*c33452fbSAndroid Build Coastguard Worker
132*c33452fbSAndroid Build Coastguard Worker## Persistance APIs
133*c33452fbSAndroid Build Coastguard Worker
134*c33452fbSAndroid Build Coastguard Worker### `exportDomainsXml`
135*c33452fbSAndroid Build Coastguard Worker
136*c33452fbSAndroid Build Coastguard WorkerExports the "Domains" (aka "Settings") which is the inference engine's data.
137*c33452fbSAndroid Build Coastguard WorkerSee section [req-serializable].
138*c33452fbSAndroid Build Coastguard Worker
139*c33452fbSAndroid Build Coastguard Worker### `importDomainsXml`
140*c33452fbSAndroid Build Coastguard Worker
141*c33452fbSAndroid Build Coastguard WorkerImports previously-exported data into the inference engine. See [req-deserializable].
142*c33452fbSAndroid Build Coastguard Worker
143*c33452fbSAndroid Build Coastguard Worker### `exportSingleDomainXml`
144*c33452fbSAndroid Build Coastguard Worker
145*c33452fbSAndroid Build Coastguard WorkerExports a given part of the inference engine data. See [Serialization of individual data].
146*c33452fbSAndroid Build Coastguard Worker
147*c33452fbSAndroid Build Coastguard Worker### `importSingleDomainXml`
148*c33452fbSAndroid Build Coastguard Worker
149*c33452fbSAndroid Build Coastguard WorkerImports a partial inference engine data as previously exported. See section
150*c33452fbSAndroid Build Coastguard Worker[req-deserialization-of-individual-data].
151*c33452fbSAndroid Build Coastguard Worker
152*c33452fbSAndroid Build Coastguard Worker# `ISelectionCriterionTypeInterface`
153*c33452fbSAndroid Build Coastguard Worker
154*c33452fbSAndroid Build Coastguard WorkerImplementation detail of the criterion requirement [req-selection-criterion].
155*c33452fbSAndroid Build Coastguard Worker
156*c33452fbSAndroid Build Coastguard Worker## `addValuePair`
157*c33452fbSAndroid Build Coastguard Worker
158*c33452fbSAndroid Build Coastguard WorkerImplementation of [req-criterion-changes].
159*c33452fbSAndroid Build Coastguard Worker
160*c33452fbSAndroid Build Coastguard Worker## `getNumericalValue`
161*c33452fbSAndroid Build Coastguard Worker
162*c33452fbSAndroid Build Coastguard WorkerImplementation of [req-criterion-changes].
163*c33452fbSAndroid Build Coastguard Worker
164*c33452fbSAndroid Build Coastguard Worker## `getLiteralValue`
165*c33452fbSAndroid Build Coastguard Worker
166*c33452fbSAndroid Build Coastguard WorkerImplementation of [req-criterion-changes].
167*c33452fbSAndroid Build Coastguard Worker
168*c33452fbSAndroid Build Coastguard Worker## `isTypeInclusive`
169*c33452fbSAndroid Build Coastguard Worker
170*c33452fbSAndroid Build Coastguard WorkerGet how the criterion possible states were specified,
171*c33452fbSAndroid Build Coastguard Workersee [req-state-domain-specification]
172*c33452fbSAndroid Build Coastguard Worker
173*c33452fbSAndroid Build Coastguard Worker## `getFormattedState`
174*c33452fbSAndroid Build Coastguard Worker
175*c33452fbSAndroid Build Coastguard WorkerPretty print criterion state [req-pretty-print]
176*c33452fbSAndroid Build Coastguard Worker
177*c33452fbSAndroid Build Coastguard Worker# `ISelectionCriterionInterface`
178*c33452fbSAndroid Build Coastguard Worker
179*c33452fbSAndroid Build Coastguard Worker## `setCriterionState` and `getCriterionState`
180*c33452fbSAndroid Build Coastguard Worker
181*c33452fbSAndroid Build Coastguard WorkerAllow Introspection of a criterion; see [req-introspection].
182*c33452fbSAndroid Build Coastguard Worker## `getCriterionName`
183*c33452fbSAndroid Build Coastguard Worker
184*c33452fbSAndroid Build Coastguard WorkerAllow Introspection of a criterion; see [req-introspection].
185*c33452fbSAndroid Build Coastguard Worker
186*c33452fbSAndroid Build Coastguard Worker## `getCriterionType`
187*c33452fbSAndroid Build Coastguard Worker
188*c33452fbSAndroid Build Coastguard WorkerAllow Introspection of a criterion; see [req-introspection].
189*c33452fbSAndroid Build Coastguard Worker
190*c33452fbSAndroid Build Coastguard Worker# `CParameterHandle`
191*c33452fbSAndroid Build Coastguard Worker
192*c33452fbSAndroid Build Coastguard WorkerThis class implements the requirements related to direct read/write access to
193*c33452fbSAndroid Build Coastguard Workerparameters.
194*c33452fbSAndroid Build Coastguard Worker
195*c33452fbSAndroid Build Coastguard Worker## `isRogue`
196*c33452fbSAndroid Build Coastguard Worker
197*c33452fbSAndroid Build Coastguard WorkerRelative to setting rogue parameters; see section [req-introspection].
198*c33452fbSAndroid Build Coastguard Worker
199*c33452fbSAndroid Build Coastguard Worker## `isArray`
200*c33452fbSAndroid Build Coastguard Worker
201*c33452fbSAndroid Build Coastguard WorkerAllow Introspection of a parameter metadata; see [req-introspection].
202*c33452fbSAndroid Build Coastguard Worker
203*c33452fbSAndroid Build Coastguard Worker## `getArrayLength`
204*c33452fbSAndroid Build Coastguard Worker
205*c33452fbSAndroid Build Coastguard WorkerAllow Introspection of a parameter metadata; see [req-introspection].
206*c33452fbSAndroid Build Coastguard Worker
207*c33452fbSAndroid Build Coastguard Worker## `getPath` and `getKind`
208*c33452fbSAndroid Build Coastguard Worker
209*c33452fbSAndroid Build Coastguard WorkerAllow Introspection of a parameter identifier; see [req-introspection].
210*c33452fbSAndroid Build Coastguard Worker
211*c33452fbSAndroid Build Coastguard Worker## Setters and getters
212*c33452fbSAndroid Build Coastguard Worker
213*c33452fbSAndroid Build Coastguard WorkerThe following APIs allow reading/writing parameters.
214*c33452fbSAndroid Build Coastguard WorkerImplements [req-introspection] and [req-parameter-overwriting]
215*c33452fbSAndroid Build Coastguard Worker
216*c33452fbSAndroid Build Coastguard Worker- `setAsBoolean`
217*c33452fbSAndroid Build Coastguard Worker- `getAsBoolean`
218*c33452fbSAndroid Build Coastguard Worker- `setAsBooleanArray`
219*c33452fbSAndroid Build Coastguard Worker- `getAsBooleanArray`
220*c33452fbSAndroid Build Coastguard Worker-
221*c33452fbSAndroid Build Coastguard Worker- `setAsInteger`
222*c33452fbSAndroid Build Coastguard Worker- `getAsInteger`
223*c33452fbSAndroid Build Coastguard Worker- `setAsIntegerArray`
224*c33452fbSAndroid Build Coastguard Worker- `getAsIntegerArray`
225*c33452fbSAndroid Build Coastguard Worker- `setAsSignedInteger`
226*c33452fbSAndroid Build Coastguard Worker- `getAsSignedInteger`
227*c33452fbSAndroid Build Coastguard Worker- `setAsSignedIntegerArray`
228*c33452fbSAndroid Build Coastguard Worker- `getAsSignedIntegerArray`
229*c33452fbSAndroid Build Coastguard Worker-
230*c33452fbSAndroid Build Coastguard Worker- `setAsDouble`
231*c33452fbSAndroid Build Coastguard Worker- `getAsDouble`
232*c33452fbSAndroid Build Coastguard Worker- `setAsDoubleArray`
233*c33452fbSAndroid Build Coastguard Worker- `getAsDoubleArray`
234*c33452fbSAndroid Build Coastguard Worker-
235*c33452fbSAndroid Build Coastguard Worker- `setAsString`
236*c33452fbSAndroid Build Coastguard Worker- `getAsString`
237*c33452fbSAndroid Build Coastguard Worker- `setAsStringArray`
238*c33452fbSAndroid Build Coastguard Worker- `getAsStringArray`
239*c33452fbSAndroid Build Coastguard Worker
240*c33452fbSAndroid Build Coastguard Worker</article>
241