Split subsystems loading
BZ: 122982
The CSystemClass::loadSubsystems was too long.
Create a subfunction to load subsystems defined in shared libraries.
Change-Id: I8f40ee271f25d0996e1976d8ee2ef6c12581d1d4
Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
Reviewed-on: http://android.intel.com:8080/118192
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>
diff --git a/parameter/SystemClass.h b/parameter/SystemClass.h
index 3ff80e4..ee71e5f 100644
--- a/parameter/SystemClass.h
+++ b/parameter/SystemClass.h
@@ -78,6 +78,16 @@
// base
virtual bool childrenAreDynamic() const;
+ /** Load shared libraries subsystem plugins.
+ *
+ * @param[out] lstrError is the list of error that occured during loadings.
+ * @param[in] pSubsystemPlugins The plugins to load.
+ *
+ * @return true if all plugins have been succesfully loaded, false otherwises.
+ */
+ bool loadSubsystemsFromSharedLibraries(list<string>& lstrError,
+ const CSubsystemPlugins* pSubsystemPlugins);
+
// Plugin symbol computation
static string getPluginSymbol(const string& strPluginPath);
@@ -88,6 +98,8 @@
* @param[out] lstrError is the list of error that occured during loadings.
*
* @return true if at least one plugin has been succesfully loaded, false otherwise.
+ * When false is returned, some plugins MIHGT have been loaded
+ * but the lstrPluginFiles is accurate.
*/
bool loadPlugins(list<string>& lstrPluginFiles, list<string>& lstrError);