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