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 "CommandHandlerWrapper.h" 35 36 #include <list> 37 38 using std::string; 39 40 CParameterMgrFullConnector::CParameterMgrFullConnector(const string &strConfigurationFilePath) 41 : CParameterMgrPlatformConnector(strConfigurationFilePath) 42 { 43 } 44 45 CommandHandlerInterface *CParameterMgrFullConnector::createCommandHandler() 46 { 47 return new CommandHandlerWrapper(_pParameterMgr->createCommandHandler()); 48 } 49 50 void CParameterMgrFullConnector::setFailureOnMissingSubsystem(bool bFail) 51 { 52 std::string error; 53 setFailureOnMissingSubsystem(bFail, error); 54 } 55 56 void CParameterMgrFullConnector::setFailureOnFailedSettingsLoad(bool bFail) 57 { 58 std::string error; 59 setFailureOnFailedSettingsLoad(bFail, error); 60 } 61 62 void CParameterMgrFullConnector::setValidateSchemasOnStart(bool bValidate) 63 { 64 std::string error; 65 setValidateSchemasOnStart(bValidate, error); 66 } 67 68 bool CParameterMgrFullConnector::setTuningMode(bool bOn, string &strError) 69 { 70 return _pParameterMgr->setTuningMode(bOn, strError); 71 } 72 73 bool CParameterMgrFullConnector::isTuningModeOn() const 74 { 75 return _pParameterMgr->tuningModeOn(); 76 } 77 78 void CParameterMgrFullConnector::setValueSpace(bool bIsRaw) 79 { 80 _pParameterMgr->setValueSpace(bIsRaw); 81 } 82 83 bool CParameterMgrFullConnector::isValueSpaceRaw() const 84 { 85 return _pParameterMgr->valueSpaceIsRaw(); 86 } 87 88 void CParameterMgrFullConnector::setOutputRawFormat(bool bIsHex) 89 { 90 _pParameterMgr->setOutputRawFormat(bIsHex); 91 } 92 93 bool CParameterMgrFullConnector::isOutputRawFormatHex() const 94 { 95 return _pParameterMgr->outputRawFormatIsHex(); 96 } 97 98 bool CParameterMgrFullConnector::setAutoSync(bool bAutoSyncOn, string &strError) 99 { 100 return _pParameterMgr->setAutoSync(bAutoSyncOn, strError); 101 } 102 103 bool CParameterMgrFullConnector::isAutoSyncOn() const 104 { 105 return _pParameterMgr->autoSyncOn(); 106 } 107 108 bool CParameterMgrFullConnector::sync(string &strError) 109 { 110 return _pParameterMgr->sync(strError); 111 } 112 113 bool CParameterMgrFullConnector::accessParameterValue(const string &strPath, string &strValue, 114 bool bSet, string &strError) 115 { 116 return _pParameterMgr->accessParameterValue(strPath, strValue, bSet, strError); 117 } 118 119 bool CParameterMgrFullConnector::accessConfigurationValue(const string &strDomain, 120 const string &strConfiguration, 121 const string &strPath, string &strValue, 122 bool bSet, string &strError) 123 { 124 return _pParameterMgr->accessConfigurationValue(strDomain, strConfiguration, strPath, strValue, 125 bSet, strError); 126 } 127 128 bool CParameterMgrFullConnector::getParameterMapping(const string &strPath, string &strValue) const 129 { 130 return _pParameterMgr->getParameterMapping(strPath, strValue); 131 } 132 133 bool CParameterMgrFullConnector::createDomain(const string &strName, string &strError) 134 { 135 return _pParameterMgr->createDomain(strName, strError); 136 } 137 138 bool CParameterMgrFullConnector::deleteDomain(const string &strName, string &strError) 139 { 140 return _pParameterMgr->deleteDomain(strName, strError); 141 } 142 143 bool CParameterMgrFullConnector::renameDomain(const string &strName, const string &strNewName, 144 string &strError) 145 { 146 return _pParameterMgr->renameDomain(strName, strNewName, strError); 147 } 148 149 bool CParameterMgrFullConnector::deleteAllDomains(string &strError) 150 { 151 return _pParameterMgr->deleteAllDomains(strError); 152 } 153 154 bool CParameterMgrFullConnector::createConfiguration(const string &strDomain, 155 const string &strConfiguration, 156 string &strError) 157 { 158 return _pParameterMgr->createConfiguration(strDomain, strConfiguration, strError); 159 } 160 161 bool CParameterMgrFullConnector::deleteConfiguration(const string &strDomain, 162 const string &strConfiguration, 163 string &strError) 164 { 165 return _pParameterMgr->deleteConfiguration(strDomain, strConfiguration, strError); 166 } 167 168 bool CParameterMgrFullConnector::renameConfiguration(const string &strDomain, 169 const string &strConfiguration, 170 const string &strNewConfiguration, 171 string &strError) 172 { 173 return _pParameterMgr->renameConfiguration(strDomain, strConfiguration, strNewConfiguration, 174 strError); 175 } 176 177 bool CParameterMgrFullConnector::saveConfiguration(const string &strDomain, 178 const string &strConfiguration, string &strError) 179 { 180 return _pParameterMgr->saveConfiguration(strDomain, strConfiguration, strError); 181 } 182 183 bool CParameterMgrFullConnector::restoreConfiguration(const string &strDomain, 184 const string &strConfiguration, 185 Results &errors) 186 { 187 return _pParameterMgr->restoreConfiguration(strDomain, strConfiguration, errors); 188 } 189 190 bool CParameterMgrFullConnector::setSequenceAwareness(const string &strName, bool bSequenceAware, 191 string &strResult) 192 { 193 return _pParameterMgr->setSequenceAwareness(strName, bSequenceAware, strResult); 194 } 195 196 bool CParameterMgrFullConnector::getSequenceAwareness(const string &strName, bool &bSequenceAware, 197 string &strResult) 198 { 199 return _pParameterMgr->getSequenceAwareness(strName, bSequenceAware, strResult); 200 } 201 202 bool CParameterMgrFullConnector::addConfigurableElementToDomain( 203 const string &strDomain, const string &strConfigurableElementPath, string &strError) 204 { 205 return _pParameterMgr->addConfigurableElementToDomain(strDomain, strConfigurableElementPath, 206 strError); 207 } 208 209 bool CParameterMgrFullConnector::removeConfigurableElementFromDomain( 210 const string &strDomain, const string &strConfigurableElementPath, string &strError) 211 { 212 return _pParameterMgr->removeConfigurableElementFromDomain( 213 strDomain, strConfigurableElementPath, strError); 214 } 215 216 bool CParameterMgrFullConnector::split(const string &strDomain, 217 const string &strConfigurableElementPath, string &strError) 218 { 219 return _pParameterMgr->split(strDomain, strConfigurableElementPath, strError); 220 } 221 222 bool CParameterMgrFullConnector::setElementSequence( 223 const string &strDomain, const string &strConfiguration, 224 const std::vector<string> &astrNewElementSequence, string &strError) 225 { 226 return _pParameterMgr->setElementSequence(strDomain, strConfiguration, astrNewElementSequence, 227 strError); 228 } 229 230 bool CParameterMgrFullConnector::setApplicationRule(const string &strDomain, 231 const string &strConfiguration, 232 const string &strApplicationRule, 233 string &strError) 234 { 235 return _pParameterMgr->setApplicationRule(strDomain, strConfiguration, strApplicationRule, 236 strError); 237 } 238 239 bool CParameterMgrFullConnector::getApplicationRule(const string &strDomain, 240 const string &strConfiguration, 241 string &strResult) 242 { 243 return _pParameterMgr->getApplicationRule(strDomain, strConfiguration, strResult); 244 } 245 bool CParameterMgrFullConnector::clearApplicationRule(const string &strDomain, 246 const string &strConfiguration, 247 string &strError) 248 { 249 return _pParameterMgr->clearApplicationRule(strDomain, strConfiguration, strError); 250 } 251 252 bool CParameterMgrFullConnector::importDomainsXml(const string &strXmlSource, bool bWithSettings, 253 bool bFromFile, string &strError) 254 { 255 return _pParameterMgr->importDomainsXml(strXmlSource, bWithSettings, bFromFile, strError); 256 } 257 258 bool CParameterMgrFullConnector::exportDomainsXml(string &strXmlDest, bool bWithSettings, 259 bool bToFile, string &strError) const 260 { 261 return _pParameterMgr->exportDomainsXml(strXmlDest, bWithSettings, bToFile, strError); 262 } 263 264 // deprecated, use the other version of importSingleDomainXml instead 265 bool CParameterMgrFullConnector::importSingleDomainXml(const string &strXmlSource, bool bOverwrite, 266 string &strError) 267 { 268 return importSingleDomainXml(strXmlSource, bOverwrite, true, false, strError); 269 } 270 271 bool CParameterMgrFullConnector::importSingleDomainXml(const string &xmlSource, bool overwrite, 272 bool withSettings, bool fromFile, 273 string &errorMsg) 274 { 275 return _pParameterMgr->importSingleDomainXml(xmlSource, overwrite, withSettings, fromFile, 276 errorMsg); 277 } 278 279 bool CParameterMgrFullConnector::exportSingleDomainXml(string &strXmlDest, 280 const string &strDomainName, 281 bool bWithSettings, bool bToFile, 282 string &strError) const 283 { 284 return _pParameterMgr->exportSingleDomainXml(strXmlDest, strDomainName, bWithSettings, bToFile, 285 strError); 286 } 287