Change StringValue to use std::string

Changing the field of 'Value' in edify to std::string from char*.
Meanwhile cleaning up the users of 'Value' and switching them to
cpp style.

Test: compontent tests passed.
Bug: 31713288

Change-Id: Iec5a7d601b1e4ca40935bf1c70d325dafecec235
diff --git a/tests/component/updater_test.cpp b/tests/component/updater_test.cpp
index 64a6b37..a859f11 100644
--- a/tests/component/updater_test.cpp
+++ b/tests/component/updater_test.cpp
@@ -32,12 +32,13 @@
 
     State state(expr_str, nullptr);
 
-    char* result = Evaluate(&state, e);
+    std::string result;
+    bool status = Evaluate(&state, e, &result);
 
     if (expected == nullptr) {
-        EXPECT_EQ(nullptr, result);
+        EXPECT_FALSE(status);
     } else {
-        EXPECT_STREQ(expected, result);
+        EXPECT_STREQ(expected, result.c_str());
     }
 
     // Error code is set in updater/updater.cpp only, by parsing State.errmsg.
@@ -46,7 +47,6 @@
     // Cause code should always be available.
     EXPECT_EQ(cause_code, state.cause_code);
 
-    free(result);
 }
 
 class UpdaterTest : public ::testing::Test {