diff options
author | Kevin Rocard <kevinx.rocard@intel.com> | 2013-07-10 18:28:10 +0200 |
---|---|---|
committer | David Wagner <david.wagner@intel.com> | 2014-02-12 17:04:07 +0100 |
commit | ecf9310061f47da0fd9f3d604e8b20f4fcb5749c (patch) | |
tree | 6c92949c898ffbc9f53b5e9be0beea64f47d9ceb /parameter/ParameterMgr.cpp | |
parent | 6be8035935a21661833bddd3803e279652e81416 (diff) | |
download | external_parameter-framework-ecf9310061f47da0fd9f3d604e8b20f4fcb5749c.zip external_parameter-framework-ecf9310061f47da0fd9f3d604e8b20f4fcb5749c.tar.gz external_parameter-framework-ecf9310061f47da0fd9f3d604e8b20f4fcb5749c.tar.bz2 |
Add missing subsystem policy
BZ: 122982
When the PFW starts it loads subsystems using there corresponding
plugin. If the requested plugin is not found, the start fails. This is a
problem, as for host, the plugins are not compiled.
Add a command in the public API to ignore missing subsystem.
Change-Id: I7597e3fef33466638191ff70b76e7faa9f979418
Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
Reviewed-on: http://android.intel.com:8080/118039
Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com>
Tested-by: Barthes, FabienX <fabienx.barthes@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
Diffstat (limited to 'parameter/ParameterMgr.cpp')
-rw-r--r-- | parameter/ParameterMgr.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/parameter/ParameterMgr.cpp b/parameter/ParameterMgr.cpp index f2d30e2..927515c 100644 --- a/parameter/ParameterMgr.cpp +++ b/parameter/ParameterMgr.cpp @@ -280,7 +280,8 @@ CParameterMgr::CParameterMgr(const string& strConfigurationFilePath) : _pRemoteProcessorServer(NULL), _uiMaxCommandUsageLength(0), _pLogger(NULL), - _uiLogDepth(0) + _uiLogDepth(0), + _bFailOnMissingSubsystem(true) { // Tuning Mode Mutex bzero(&_blackboardMutex, sizeof(_blackboardMutex)); @@ -402,7 +403,8 @@ bool CParameterMgr::load(string& strError) } // Load subsystems - if (!getSystemClass()->loadSubsystems(strError, _pSubsystemPlugins)) { + if (!getSystemClass()->loadSubsystems(strError, + _pSubsystemPlugins, !_bFailOnMissingSubsystem)) { return false; } @@ -726,6 +728,15 @@ CParameterHandle* CParameterMgr::createParameterHandle(const string& strPath, st return new CParameterHandle(static_cast<const CBaseParameter*>(pConfigurableElement), this); } +void CParameterMgr::setFailureOnMissingSubsystem(bool bFail) +{ + _bFailOnMissingSubsystem = bFail; +} + +bool CParameterMgr::getFailureOnMissingSubsystem() const +{ + return _bFailOnMissingSubsystem; +} /////////////////// Remote command parsers /// Version CParameterMgr::CCommandHandler::CommandStatus CParameterMgr::versionCommandProcess(const IRemoteCommand& remoteCommand, string& strResult) |