PFW: Log criterion state at PFW start

BZ: 77959

The PFW will log criterion patch state at start before appling
configuration.

Change-Id: I4ac3676b9ba685c1e226a8495ffdbe98f0c08219
Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
Reviewed-on: http://android.intel.com:8080/79965
Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com>
Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: cactus <cactus@intel.com>
diff --git a/parameter/ParameterMgr.cpp b/parameter/ParameterMgr.cpp
index 4116dbe..484687a 100644
--- a/parameter/ParameterMgr.cpp
+++ b/parameter/ParameterMgr.cpp
@@ -355,6 +355,21 @@
     // We need to ensure all domains are valid
     pConfigurableDomains->validate(_pMainParameterBlackboard);
 
+    // Log selection criterion states
+    {
+        CAutoLog autoLog(this, "Criterion states");
+
+        const CSelectionCriteria* selectionCriteria = getConstSelectionCriteria();
+
+        list<string> lstrSelectionCriteron;
+        selectionCriteria->listSelectionCriteria(lstrSelectionCriteron, true, false);
+
+        string strSelectionCriteron;
+        CUtility::concatenate(lstrSelectionCriteron, strSelectionCriteron);
+
+        log_info("%s", strSelectionCriteron.c_str());
+    }
+
     // At initialization, check subsystems that need resync
     doApplyConfigurations(true);
 
@@ -673,9 +688,10 @@
 
     /// Criteria states
     appendTitle(strResult, "Selection Criteria:");
-    string strSelectionCriteria;
-    getSelectionCriteria()->listSelectionCriteria(strSelectionCriteria, false);
-    strResult += strSelectionCriteria;
+    list<string> lstrSelectionCriteria;
+    getSelectionCriteria()->listSelectionCriteria(lstrSelectionCriteria, false, true);
+    // Concatenate the criterion list as the command result
+    CUtility::concatenate(lstrSelectionCriteria, strResult);
 
     return CCommandHandler::ESucceeded;
 }
@@ -820,7 +836,12 @@
 {
     (void)remoteCommand;
 
-    getSelectionCriteria()->listSelectionCriteria(strResult, true);
+    list<string> lstrResult;
+
+    getSelectionCriteria()->listSelectionCriteria(lstrResult, true, true);
+
+    // Concatenate the criterion list as the command result
+    CUtility::concatenate(lstrResult, strResult);
 
     return CCommandHandler::ESucceeded;
 }