From a4ec15d5d5e84fbee3faa46a66e7b1eb90816ce2 Mon Sep 17 00:00:00 2001 From: Guillaume Denneulin Date: Fri, 17 Feb 2012 14:38:14 +0100 Subject: 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 Reviewed-on: http://android.intel.com:8080/35903 Reviewed-by: Barthes, FabienX Tested-by: Barthes, FabienX Reviewed-by: buildbot Tested-by: buildbot --- parameter/SystemClass.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'parameter/SystemClass.h') 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 class CSubsystemLibrary; @@ -42,7 +43,8 @@ public: virtual ~CSystemClass(); // Called from parent before actual init - bool loadSubsystems(string& strError, const vector& 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& lstrPluginFiles, string& strError); - // ref only + // Subsystem factory CSubsystemLibrary* _pSubsystemLibrary; }; -- cgit v1.1