PFW: Fixed bug on BitParameterTypes

BZ: 44148

The save and restore operation would not work correctly when BitParameters
of a BitParameterBlock were used in more than a single Domain.
This patch aims to fixup this bug and introduces a new class: BitwiseAreaConfiguration.

Change-Id: I0aaccd57cf1cce33400f94a8879565171d283425
Orig-Change-Id: I7107f7db9f01cfff3c38cbac606a8c1e9bca8b5e
Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com>
Reviewed-on: http://android.intel.com:8080/58363
Reviewed-by: Mendi, EduardoX <eduardox.mendi@intel.com>
Tested-by: Mendi, EduardoX <eduardox.mendi@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
diff --git a/parameter/DomainConfiguration.cpp b/parameter/DomainConfiguration.cpp
index f746be9..9e341f2 100644
--- a/parameter/DomainConfiguration.cpp
+++ b/parameter/DomainConfiguration.cpp
@@ -212,7 +212,7 @@
 // Configurable Elements association
 void CDomainConfiguration::addConfigurableElement(const CConfigurableElement* pConfigurableElement, const CSyncerSet* pSyncerSet)
 {
-    CAreaConfiguration* pAreaConfiguration = new CAreaConfiguration(pConfigurableElement, pSyncerSet);
+    CAreaConfiguration* pAreaConfiguration = pConfigurableElement->createAreaConfiguration(pSyncerSet);
 
     _areaConfigurationList.push_back(pAreaConfiguration);
     _orderedAreaConfigurationList.push_back(pAreaConfiguration);
@@ -433,7 +433,7 @@
     const CAreaConfiguration* pAreaConfigurationToMergeFrom = getAreaConfiguration(pFromConfigurableElement);
 
     // Do the merge
-    pAreaConfigurationToMergeTo->copyFromInner(pAreaConfigurationToMergeFrom);
+    pAreaConfigurationToMergeFrom->copyToOuter(pAreaConfigurationToMergeTo);
 }
 
 // Domain splitting
@@ -454,7 +454,7 @@
         CAreaConfiguration* pChildAreaConfiguration = getAreaConfiguration(pToChildConfigurableElement);
 
         // Do the copy
-        pAreaConfigurationToSplitFrom->copyToInner(pChildAreaConfiguration);
+        pChildAreaConfiguration->copyFromOuter(pAreaConfigurationToSplitFrom);
     }
 }