summaryrefslogtreecommitdiffstats
path: root/parameter/SystemClass.h
diff options
context:
space:
mode:
authorGuillaume Denneulin <guillaumex.denneulin@intel.com>2012-02-17 14:38:14 +0100
committerDavid Wagner <david.wagner@intel.com>2014-02-10 17:15:02 +0100
commita4ec15d5d5e84fbee3faa46a66e7b1eb90816ce2 (patch)
treef9337905614685a6cc18036c56d477a5a6f83450 /parameter/SystemClass.h
parent19bb62917f765c3fa11d1d4c5f88c445e22f227a (diff)
downloadexternal_parameter-framework-a4ec15d5d5e84fbee3faa46a66e7b1eb90816ce2.zip
external_parameter-framework-a4ec15d5d5e84fbee3faa46a66e7b1eb90816ce2.tar.gz
external_parameter-framework-a4ec15d5d5e84fbee3faa46a66e7b1eb90816ce2.tar.bz2
PFW: Enhance subsytem libraries load mechanism
BZ: 24093 If a subsystem library depends on another one, the libraries have to be loaded in a predefined order. the previous recovery mechanism on PFW was: When a subsystem library does not load because of a missing dependency, it tries to load all the other subsystems before trying one more time to load the failing library. Unfortunately, Android linker does not allow several try when loading a library. In consequence, this patch implements a new mechanism to load its subsystem libraries. For this new mechanism, the PFW will load the subsystem libraries in the order they are disposed in the file ParameterFrameworkConfiguration.xml Change-Id: I39b97e33c77a6b4392c3813cd3d780e10e3b60f8 Signed-off-by: Guillaume Denneulin <guillaumex.denneulin@intel.com> Reviewed-on: http://android.intel.com:8080/35903 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
Diffstat (limited to 'parameter/SystemClass.h')
-rw-r--r--parameter/SystemClass.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/parameter/SystemClass.h b/parameter/SystemClass.h
index 512c5ec..ead5565 100644
--- a/parameter/SystemClass.h
+++ b/parameter/SystemClass.h
@@ -31,6 +31,7 @@
#pragma once
#include "ConfigurableElement.h"
+#include "SubsystemPlugins.h"
#include <list>
class CSubsystemLibrary;
@@ -42,7 +43,8 @@ public:
virtual ~CSystemClass();
// Called from parent before actual init
- bool loadSubsystems(string& strError, const vector<string>& astrPluginFolderPaths);
+ bool loadSubsystems(string& strError, const CSubsystemPlugins* pSubsystemPlugins);
+ // Subsystem factory
const CSubsystemLibrary* getSubsystemLibrary() const;
// base
@@ -62,7 +64,7 @@ private:
// Plugin loading
bool loadPlugins(list<string>& lstrPluginFiles, string& strError);
- // ref only
+ // Subsystem factory
CSubsystemLibrary* _pSubsystemLibrary;
};