• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2015, Intel Corporation
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without modification,
6  * are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice, this
9  * list of conditions and the following disclaimer.
10  *
11  * 2. Redistributions in binary form must reproduce the above copyright notice,
12  * this list of conditions and the following disclaimer in the documentation and/or
13  * other materials provided with the distribution.
14  *
15  * 3. Neither the name of the copyright holder nor the names of its contributors
16  * may be used to endorse or promote products derived from this software without
17  * specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
23  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30 #include "ParameterMgrFullConnector.h"
31 #include "ParameterMgr.h"
32 #include "ParameterMgrLogger.h"
33 
34 #include <list>
35 
36 using std::string;
37 
CParameterMgrFullConnector(const string & strConfigurationFilePath)38 CParameterMgrFullConnector::CParameterMgrFullConnector(const string& strConfigurationFilePath) :
39     _pParameterMgr(new CParameterMgr(strConfigurationFilePath)), _pLogger(NULL)
40 {
41     _pParameterMgrLogger = new CParameterMgrLogger<CParameterMgrFullConnector>(*this);
42     _pParameterMgr->setLogger(_pParameterMgrLogger);
43 }
44 
~CParameterMgrFullConnector()45 CParameterMgrFullConnector::~CParameterMgrFullConnector()
46 {
47     delete _pParameterMgr;
48     delete _pParameterMgrLogger;
49 }
50 
51 
start(string & strError)52 bool CParameterMgrFullConnector::start(string& strError)
53 {
54     // Create data structure & Init flow
55     return _pParameterMgr->load(strError);
56 }
57 
setLogger(CParameterMgrFullConnector::ILogger * pLogger)58 void CParameterMgrFullConnector::setLogger(CParameterMgrFullConnector::ILogger* pLogger)
59 {
60     _pLogger = pLogger;
61 }
62 
63 // Private logging
doLog(bool bIsWarning,const string & strLog)64 void CParameterMgrFullConnector::doLog(bool bIsWarning, const string& strLog)
65 {
66     if (_pLogger) {
67 
68         _pLogger->log(bIsWarning, strLog);
69     }
70 }
71 
createParameterHandle(const string & strPath,string & strError)72 CParameterHandle* CParameterMgrFullConnector::createParameterHandle(const string& strPath,
73                                                                     string& strError)
74 {
75     return _pParameterMgr->createParameterHandle(strPath, strError);
76 }
77 
createSelectionCriterionType(bool bIsInclusive)78 ISelectionCriterionTypeInterface* CParameterMgrFullConnector::createSelectionCriterionType(
79         bool bIsInclusive)
80 {
81     return _pParameterMgr->createSelectionCriterionType(bIsInclusive);
82 }
83 
createSelectionCriterion(const string & strName,const ISelectionCriterionTypeInterface * pSelectionCriterionType)84 ISelectionCriterionInterface* CParameterMgrFullConnector::createSelectionCriterion(
85         const string& strName,
86         const ISelectionCriterionTypeInterface* pSelectionCriterionType)
87 {
88     return _pParameterMgr->createSelectionCriterion(strName,
89             static_cast<const CSelectionCriterionType*>(pSelectionCriterionType));
90 }
91 
getSelectionCriterion(const string & strName)92 ISelectionCriterionInterface* CParameterMgrFullConnector::getSelectionCriterion(
93         const string& strName)
94 {
95     return _pParameterMgr->getSelectionCriterion(strName);
96 }
97 
getForceNoRemoteInterface() const98 bool CParameterMgrFullConnector::getForceNoRemoteInterface() const
99 {
100     return _pParameterMgr->getForceNoRemoteInterface();
101 }
102 
setForceNoRemoteInterface(bool bForceNoRemoteInterface)103 void CParameterMgrFullConnector::setForceNoRemoteInterface(bool bForceNoRemoteInterface)
104 {
105     _pParameterMgr->setForceNoRemoteInterface(bForceNoRemoteInterface);
106 }
107 
applyConfigurations()108 void CParameterMgrFullConnector::applyConfigurations()
109 {
110     return _pParameterMgr->applyConfigurations();
111 }
112 
setFailureOnMissingSubsystem(bool bFail)113 void CParameterMgrFullConnector::setFailureOnMissingSubsystem(bool bFail)
114 {
115     _pParameterMgr->setFailureOnMissingSubsystem(bFail);
116 }
117 
getFailureOnMissingSubsystem() const118 bool CParameterMgrFullConnector::getFailureOnMissingSubsystem() const
119 {
120     return _pParameterMgr->getFailureOnMissingSubsystem();
121 }
122 
setFailureOnFailedSettingsLoad(bool bFail)123 void CParameterMgrFullConnector::setFailureOnFailedSettingsLoad(bool bFail)
124 {
125     _pParameterMgr->setFailureOnFailedSettingsLoad(bFail);
126 }
127 
getFailureOnFailedSettingsLoad()128 bool CParameterMgrFullConnector::getFailureOnFailedSettingsLoad()
129 {
130     return _pParameterMgr->getFailureOnFailedSettingsLoad();
131 }
132 
getSchemaFolderLocation() const133 const string& CParameterMgrFullConnector::getSchemaFolderLocation() const
134 {
135     return _pParameterMgr->getSchemaFolderLocation();
136 }
137 
setSchemaFolderLocation(const string & strSchemaFolderLocation)138 void CParameterMgrFullConnector::setSchemaFolderLocation(const string& strSchemaFolderLocation)
139 {
140     _pParameterMgr->setSchemaFolderLocation(strSchemaFolderLocation);
141 }
142 
setValidateSchemasOnStart(bool bValidate)143 void CParameterMgrFullConnector::setValidateSchemasOnStart(bool bValidate)
144 {
145     _pParameterMgr->setValidateSchemasOnStart(bValidate);
146 }
147 
getValidateSchemasOnStart() const148 bool CParameterMgrFullConnector::getValidateSchemasOnStart() const
149 {
150     return _pParameterMgr->getValidateSchemasOnStart();
151 }
152 
setTuningMode(bool bOn,string & strError)153 bool CParameterMgrFullConnector::setTuningMode(bool bOn, string& strError)
154 {
155     return _pParameterMgr->setTuningMode(bOn, strError);
156 }
157 
isTuningModeOn() const158 bool CParameterMgrFullConnector::isTuningModeOn() const
159 {
160     return _pParameterMgr->tuningModeOn();
161 }
162 
setValueSpace(bool bIsRaw)163 void CParameterMgrFullConnector::setValueSpace(bool bIsRaw)
164 {
165     return _pParameterMgr->setValueSpace(bIsRaw);
166 }
167 
isValueSpaceRaw() const168 bool CParameterMgrFullConnector::isValueSpaceRaw() const
169 {
170     return _pParameterMgr->valueSpaceIsRaw();
171 }
172 
setOutputRawFormat(bool bIsHex)173 void CParameterMgrFullConnector::setOutputRawFormat(bool bIsHex)
174 {
175     return _pParameterMgr->setOutputRawFormat(bIsHex);
176 }
177 
isOutputRawFormatHex() const178 bool CParameterMgrFullConnector::isOutputRawFormatHex() const
179 {
180     return _pParameterMgr->outputRawFormatIsHex();
181 }
182 
setAutoSync(bool bAutoSyncOn,string & strError)183 bool CParameterMgrFullConnector::setAutoSync(bool bAutoSyncOn, string& strError)
184 {
185     return _pParameterMgr->setAutoSync(bAutoSyncOn, strError);
186 }
187 
isAutoSyncOn() const188 bool CParameterMgrFullConnector::isAutoSyncOn() const
189 {
190     return _pParameterMgr->autoSyncOn();
191 }
192 
sync(string & strError)193 bool CParameterMgrFullConnector::sync(string& strError)
194 {
195     return _pParameterMgr->sync(strError);
196 }
197 
accessParameterValue(const string & strPath,string & strValue,bool bSet,string & strError)198 bool CParameterMgrFullConnector::accessParameterValue(const string& strPath, string& strValue,
199                                                       bool bSet, string& strError)
200 {
201     return _pParameterMgr->accessParameterValue(strPath, strValue, bSet, strError);
202 }
203 
accessConfigurationValue(const string & strDomain,const string & strConfiguration,const string & strPath,string & strValue,bool bSet,string & strError)204 bool CParameterMgrFullConnector::accessConfigurationValue(const string &strDomain,
205                                                           const string &strConfiguration,
206                                                           const string& strPath, string& strValue,
207                                                           bool bSet, string& strError)
208 {
209     return _pParameterMgr->accessConfigurationValue(strDomain, strConfiguration, strPath, strValue,
210             bSet, strError);
211 }
212 
getParameterMapping(const string & strPath,string & strValue) const213 bool CParameterMgrFullConnector::getParameterMapping(const string& strPath, string& strValue) const
214 {
215     return _pParameterMgr->getParameterMapping(strPath, strValue);
216 }
217 
createDomain(const string & strName,string & strError)218 bool CParameterMgrFullConnector::createDomain(const string& strName, string& strError)
219 {
220     return _pParameterMgr->createDomain(strName, strError);
221 }
222 
deleteDomain(const string & strName,string & strError)223 bool CParameterMgrFullConnector::deleteDomain(const string& strName, string& strError)
224 {
225     return _pParameterMgr->deleteDomain(strName, strError);
226 }
227 
renameDomain(const string & strName,const string & strNewName,string & strError)228 bool CParameterMgrFullConnector::renameDomain(const string& strName, const string& strNewName,
229                                               string& strError)
230 {
231     return _pParameterMgr->renameDomain(strName, strNewName, strError);
232 }
233 
deleteAllDomains(string & strError)234 bool CParameterMgrFullConnector::deleteAllDomains(string& strError)
235 {
236     return _pParameterMgr->deleteAllDomains(strError);
237 }
238 
createConfiguration(const string & strDomain,const string & strConfiguration,string & strError)239 bool CParameterMgrFullConnector::createConfiguration(const string& strDomain,
240                                                      const string& strConfiguration,
241                                                      string& strError)
242 {
243     return _pParameterMgr->createConfiguration(strDomain, strConfiguration, strError);
244 }
245 
deleteConfiguration(const string & strDomain,const string & strConfiguration,string & strError)246 bool CParameterMgrFullConnector::deleteConfiguration(const string& strDomain,
247                                                      const string& strConfiguration,
248                                                      string& strError)
249 {
250     return _pParameterMgr->deleteConfiguration(strDomain, strConfiguration, strError);
251 }
252 
renameConfiguration(const string & strDomain,const string & strConfiguration,const string & strNewConfiguration,string & strError)253 bool CParameterMgrFullConnector::renameConfiguration(const string& strDomain,
254                                                      const string& strConfiguration,
255                                                      const string& strNewConfiguration,
256                                                      string& strError)
257 {
258     return _pParameterMgr->renameConfiguration(strDomain, strConfiguration, strNewConfiguration,
259             strError);
260 }
261 
saveConfiguration(const string & strDomain,const string & strConfiguration,string & strError)262 bool CParameterMgrFullConnector::saveConfiguration(const string& strDomain,
263                                                    const string& strConfiguration, string& strError)
264 {
265     return _pParameterMgr->saveConfiguration(strDomain, strConfiguration, strError);
266 }
267 
restoreConfiguration(const string & strDomain,const string & strConfiguration,std::list<string> & lstrError)268 bool CParameterMgrFullConnector::restoreConfiguration(const string& strDomain,
269                                                       const string& strConfiguration,
270                                                       std::list<string>& lstrError)
271 {
272     return _pParameterMgr->restoreConfiguration(strDomain, strConfiguration, lstrError);
273 }
274 
setSequenceAwareness(const string & strName,bool bSequenceAware,string & strResult)275 bool CParameterMgrFullConnector::setSequenceAwareness(const string& strName, bool bSequenceAware,
276                                                       string& strResult)
277 {
278     return _pParameterMgr->setSequenceAwareness(strName, bSequenceAware, strResult);
279 }
280 
getSequenceAwareness(const string & strName,bool & bSequenceAware,string & strResult)281 bool CParameterMgrFullConnector::getSequenceAwareness(const string& strName, bool& bSequenceAware,
282                                                       string& strResult)
283 {
284     return _pParameterMgr->getSequenceAwareness(strName, bSequenceAware, strResult);
285 }
286 
addConfigurableElementToDomain(const string & strDomain,const string & strConfigurableElementPath,string & strError)287 bool CParameterMgrFullConnector::addConfigurableElementToDomain(const string& strDomain,
288         const string& strConfigurableElementPath, string& strError)
289 {
290     return _pParameterMgr->addConfigurableElementToDomain(strDomain, strConfigurableElementPath,
291             strError);
292 }
293 
removeConfigurableElementFromDomain(const string & strDomain,const string & strConfigurableElementPath,string & strError)294 bool CParameterMgrFullConnector::removeConfigurableElementFromDomain(const string& strDomain,
295         const string& strConfigurableElementPath, string& strError)
296 {
297     return _pParameterMgr->removeConfigurableElementFromDomain(strDomain,
298             strConfigurableElementPath, strError);
299 }
300 
split(const string & strDomain,const string & strConfigurableElementPath,string & strError)301 bool CParameterMgrFullConnector::split(const string& strDomain,
302                                        const string& strConfigurableElementPath, string& strError)
303 {
304     return _pParameterMgr->split(strDomain, strConfigurableElementPath, strError);
305 }
306 
setElementSequence(const string & strDomain,const string & strConfiguration,const std::vector<string> & astrNewElementSequence,string & strError)307 bool CParameterMgrFullConnector::setElementSequence(const string& strDomain,
308         const string& strConfiguration,
309         const std::vector<string>& astrNewElementSequence,
310         string& strError)
311 {
312     return _pParameterMgr->setElementSequence(strDomain, strConfiguration, astrNewElementSequence,
313             strError);
314 }
315 
setApplicationRule(const string & strDomain,const string & strConfiguration,const string & strApplicationRule,string & strError)316 bool CParameterMgrFullConnector::setApplicationRule(const string& strDomain,
317                                                     const string& strConfiguration,
318                                                     const string& strApplicationRule,
319                                                     string& strError)
320 {
321     return _pParameterMgr->setApplicationRule(strDomain, strConfiguration, strApplicationRule,
322             strError);
323 }
324 
325 
getApplicationRule(const string & strDomain,const string & strConfiguration,string & strResult)326 bool CParameterMgrFullConnector::getApplicationRule(const string& strDomain,
327                                                     const string& strConfiguration,
328                                                     string& strResult)
329 {
330     return _pParameterMgr->getApplicationRule(strDomain, strConfiguration, strResult);
331 }
clearApplicationRule(const string & strDomain,const string & strConfiguration,string & strError)332 bool CParameterMgrFullConnector::clearApplicationRule(const string& strDomain,
333                                                       const string& strConfiguration,
334                                                       string& strError)
335 {
336     return _pParameterMgr->clearApplicationRule(strDomain, strConfiguration, strError);
337 }
338 
339 
importDomainsXml(const string & strXmlSource,bool bWithSettings,bool bFromFile,string & strError)340 bool CParameterMgrFullConnector::importDomainsXml(const string& strXmlSource, bool bWithSettings,
341                                                   bool bFromFile, string& strError)
342 {
343     return _pParameterMgr->importDomainsXml(strXmlSource, bWithSettings, bFromFile, strError);
344 }
345 
exportDomainsXml(string & strXmlDest,bool bWithSettings,bool bToFile,string & strError) const346 bool CParameterMgrFullConnector::exportDomainsXml(string& strXmlDest, bool bWithSettings,
347                                                   bool bToFile, string& strError) const
348 {
349     return _pParameterMgr->exportDomainsXml(strXmlDest, bWithSettings, bToFile, strError);
350 }
351 
352 // deprecated, use the other version of importSingleDomainXml instead
importSingleDomainXml(const string & strXmlSource,bool bOverwrite,string & strError)353 bool CParameterMgrFullConnector::importSingleDomainXml(const string& strXmlSource, bool bOverwrite,
354                                                        string& strError)
355 {
356     return importSingleDomainXml(strXmlSource, bOverwrite, true, false, strError);
357 }
358 
importSingleDomainXml(const string & xmlSource,bool overwrite,bool withSettings,bool fromFile,string & errorMsg)359 bool CParameterMgrFullConnector::importSingleDomainXml(const string& xmlSource, bool overwrite,
360                                                        bool withSettings, bool fromFile,
361                                                        string& errorMsg)
362 {
363     return _pParameterMgr->importSingleDomainXml(xmlSource, overwrite, withSettings, fromFile,
364                                                  errorMsg);
365 }
366 
exportSingleDomainXml(string & strXmlDest,const string & strDomainName,bool bWithSettings,bool bToFile,string & strError) const367 bool CParameterMgrFullConnector::exportSingleDomainXml(string& strXmlDest,
368                                                        const string& strDomainName,
369                                                        bool bWithSettings, bool bToFile,
370                                                        string& strError) const
371 {
372     return _pParameterMgr->exportSingleDomainXml(strXmlDest, strDomainName, bWithSettings, bToFile,
373             strError);
374 }
375