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 /Schemas | |
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 'Schemas')
-rw-r--r-- | Schemas/ParameterFrameworkConfiguration.xsd | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Schemas/ParameterFrameworkConfiguration.xsd b/Schemas/ParameterFrameworkConfiguration.xsd index d84d108..8ece70d 100644 --- a/Schemas/ParameterFrameworkConfiguration.xsd +++ b/Schemas/ParameterFrameworkConfiguration.xsd @@ -3,11 +3,20 @@ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="ConfigurationFilePath"> <xs:attribute name="Path" type="xs:anyURI" use="required"/> - </xs:complexType> - <xs:element name="SubsystemPluginFolders"> + </xs:complexType> + <xs:complexType name="PluginFile"> + <xs:attribute name="Name" type="xs:NMTOKEN" use="required"/> + </xs:complexType> + <xs:complexType name="PluginLocation"> + <xs:sequence> + <xs:element name="Plugin" type="PluginFile" maxOccurs="unbounded" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="Folder" type="xs:anyURI" use="required"/> + </xs:complexType> + <xs:element name="SubsystemPlugins"> <xs:complexType> <xs:sequence> - <xs:element name="PluginFolderLocation" type="ConfigurationFilePath" maxOccurs="unbounded"/> + <xs:element name="Location" type="PluginLocation" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> @@ -20,7 +29,7 @@ <xs:element name="ParameterFrameworkConfiguration"> <xs:complexType> <xs:sequence> - <xs:element ref="SubsystemPluginFolders"/> + <xs:element ref="SubsystemPlugins" /> <xs:element name="StructureDescriptionFileLocation" type="ConfigurationFilePath"/> <xs:element name="SettingsConfiguration" type="SettingsConfigurationType" minOccurs="0"/> </xs:sequence> |