summaryrefslogtreecommitdiffstats
path: root/parameter/ParameterMgr.cpp
diff options
context:
space:
mode:
authorKevin Rocard <kevinx.rocard@intel.com>2013-07-10 18:28:10 +0200
committerDavid Wagner <david.wagner@intel.com>2014-02-12 17:04:07 +0100
commitecf9310061f47da0fd9f3d604e8b20f4fcb5749c (patch)
tree6c92949c898ffbc9f53b5e9be0beea64f47d9ceb /parameter/ParameterMgr.cpp
parent6be8035935a21661833bddd3803e279652e81416 (diff)
downloadexternal_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.cpp15
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)