diff options
author | Guillaume Denneulin <guillaumex.denneulin@intel.com> | 2012-02-17 14:38:14 +0100 |
---|---|---|
committer | David Wagner <david.wagner@intel.com> | 2014-02-10 17:15:02 +0100 |
commit | a4ec15d5d5e84fbee3faa46a66e7b1eb90816ce2 (patch) | |
tree | f9337905614685a6cc18036c56d477a5a6f83450 /parameter/SystemClass.h | |
parent | 19bb62917f765c3fa11d1d4c5f88c445e22f227a (diff) | |
download | external_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.h | 6 |
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; }; |