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