config: fix the signature to get getDebugProperty/getSupportedDsiBitClks

Change-Id: I16e83341e708d4223be10da38363eab6e46c4b18
CRs-Fixed: 2686395
diff --git a/services/config/config_defs.h b/services/config/config_defs.h
index 77eea44..7b4838a 100644
--- a/services/config/config_defs.h
+++ b/services/config/config_defs.h
@@ -265,14 +265,14 @@
   virtual int IsHDRSupported(uint32_t disp_id, bool *supported) DEFAULT_RET
   virtual int IsWCGSupported(uint32_t disp_id, bool *supported) DEFAULT_RET
   virtual int SetLayerAsMask(uint32_t disp_id, uint64_t layer_id) DEFAULT_RET
-  virtual int GetDebugProperty(const std::string prop_name, std::string value) DEFAULT_RET
+  virtual int GetDebugProperty(const std::string prop_name, std::string *value) DEFAULT_RET
   virtual int GetActiveBuiltinDisplayAttributes(Attributes *attr) DEFAULT_RET
   virtual int SetPanelLuminanceAttributes(uint32_t disp_id, float min_lum,
                                           float max_lum) DEFAULT_RET
   virtual int IsBuiltInDisplay(uint32_t disp_id, bool *is_builtin) DEFAULT_RET
   virtual int IsAsyncVDSCreationSupported(bool *supported) DEFAULT_RET
   virtual int CreateVirtualDisplay(uint32_t width, uint32_t height, int format) DEFAULT_RET
-  virtual int GetSupportedDSIBitClks(uint32_t disp_id, std::vector<uint64_t> bit_clks) DEFAULT_RET
+  virtual int GetSupportedDSIBitClks(uint32_t disp_id, std::vector<uint64_t> *bit_clks) DEFAULT_RET
   virtual int GetDSIClk(uint32_t disp_id, uint64_t *bit_clk) DEFAULT_RET
   virtual int SetDSIClk(uint32_t disp_id, uint64_t bit_clk) DEFAULT_RET
   virtual int SetCWBOutputBuffer(uint32_t disp_id, const Rect rect, bool post_processed,
@@ -282,6 +282,10 @@
   virtual int IsRotatorSupportedFormat(int hal_format, bool ubwc, bool *supported) DEFAULT_RET
   virtual int ControlQsyncCallback(bool enable) DEFAULT_RET
 
+  // deprecated APIs
+  virtual int GetDebugProperty(const std::string prop_name, std::string value) DEFAULT_RET
+  virtual int GetSupportedDSIBitClks(uint32_t disp_id, std::vector<uint64_t> bit_clks) DEFAULT_RET
+
  protected:
   virtual ~ConfigInterface() { }
 };
diff --git a/services/config/src/client_impl.cpp b/services/config/src/client_impl.cpp
index b3dd3e8..c11fa3c 100644
--- a/services/config/src/client_impl.cpp
+++ b/services/config/src/client_impl.cpp
@@ -538,11 +538,13 @@
   return error;
 }
 
-int ClientImpl::GetDebugProperty(const std::string prop_name, std::string value) {
+int ClientImpl::GetDebugProperty(const std::string prop_name, std::string *value) {
   ByteStream input_params;
-  uint8_t *data_input = reinterpret_cast<uint8_t*>(const_cast<char*>(prop_name.data()));
+  std::string prop(prop_name);
+  prop += '\0';
+  uint8_t *data_input = reinterpret_cast<uint8_t*>(const_cast<char*>(prop.data()));
   input_params.setToExternal(reinterpret_cast<uint8_t*>(data_input),
-                             prop_name.size() * sizeof(char));
+                             prop.size() * sizeof(char));
   ByteStream output_params;
   int error = 0;
   auto hidl_cb = [&error, &output_params] (int32_t err, ByteStream params, HandleStream handles) {
@@ -554,9 +556,9 @@
 
   const uint8_t *data = output_params.data();
   const char *name = reinterpret_cast<const char *>(data);
-  std::string output(name);
   if (!error) {
-    value = output;
+    std::string output(name);
+    *value = output;
   }
 
   return error;
@@ -645,7 +647,7 @@
   return error;
 }
 
-int ClientImpl::GetSupportedDSIBitClks(uint32_t disp_id, std::vector<uint64_t> bit_clks) {
+int ClientImpl::GetSupportedDSIBitClks(uint32_t disp_id, std::vector<uint64_t> *bit_clks) {
   ByteStream input_params;
   input_params.setToExternal(reinterpret_cast<uint8_t*>(&disp_id), sizeof(uint32_t));
   ByteStream output_params;
@@ -662,7 +664,7 @@
     const uint64_t *bit_clks_data = reinterpret_cast<const uint64_t *>(data);
     int num_bit_clks = static_cast<int>(output_params.size() / sizeof(uint64_t));
     for (int i = 0; i < num_bit_clks; i++) {
-      bit_clks.push_back(bit_clks_data[i]);
+      bit_clks->push_back(bit_clks_data[i]);
     }
   }
 
diff --git a/services/config/src/client_impl.h b/services/config/src/client_impl.h
index f90a4e0..085fc22 100644
--- a/services/config/src/client_impl.h
+++ b/services/config/src/client_impl.h
@@ -84,13 +84,13 @@
   virtual int IsHDRSupported(uint32_t disp_id, bool *supported);
   virtual int IsWCGSupported(uint32_t disp_id, bool *supported);
   virtual int SetLayerAsMask(uint32_t disp_id, uint64_t layer_id);
-  virtual int GetDebugProperty(const std::string prop_name, std::string value);
+  virtual int GetDebugProperty(const std::string prop_name, std::string *value);
   virtual int GetActiveBuiltinDisplayAttributes(Attributes *attr);
   virtual int SetPanelLuminanceAttributes(uint32_t disp_id, float min_lum, float max_lum);
   virtual int IsBuiltInDisplay(uint32_t disp_id, bool *is_builtin);
   virtual int IsAsyncVDSCreationSupported(bool *supported);
   virtual int CreateVirtualDisplay(uint32_t width, uint32_t height, int format);
-  virtual int GetSupportedDSIBitClks(uint32_t disp_id, std::vector<uint64_t> bit_clks);
+  virtual int GetSupportedDSIBitClks(uint32_t disp_id, std::vector<uint64_t> *bit_clks);
   virtual int GetDSIClk(uint32_t disp_id, uint64_t *bit_clk);
   virtual int SetDSIClk(uint32_t disp_id, uint64_t bit_clk);
   virtual int SetCWBOutputBuffer(uint32_t disp_id, const Rect rect, bool post_processed,
diff --git a/services/config/src/device_impl.cpp b/services/config/src/device_impl.cpp
index 97e8a82..a448268 100644
--- a/services/config/src/device_impl.cpp
+++ b/services/config/src/device_impl.cpp
@@ -495,9 +495,10 @@
   const uint8_t *data = input_params.data();
   const char *name = reinterpret_cast<const char *>(data);
   std::string prop_name(name);
-  int32_t error = intf_->GetDebugProperty(prop_name, value);
+  int32_t error = intf_->GetDebugProperty(prop_name, &value);
+  value += '\0';
   uint8_t *data_output = reinterpret_cast<uint8_t*>(value.data());
-  output_params.setToExternal(reinterpret_cast<uint8_t*>(&data_output),
+  output_params.setToExternal(reinterpret_cast<uint8_t*>(data_output),
                               value.size() * sizeof(char));
 
   _hidl_cb(error, output_params, {});
@@ -572,7 +573,7 @@
 
   const uint8_t *data = input_params.data();
   disp_id = reinterpret_cast<const uint32_t*>(data);
-  int32_t error = intf_->GetSupportedDSIBitClks(*disp_id, bit_clks);
+  int32_t error = intf_->GetSupportedDSIBitClks(*disp_id, &bit_clks);
 
   bit_clks_data = reinterpret_cast<uint64_t *>(malloc(sizeof(uint64_t) * bit_clks.size()));
   for (int i = 0; i < bit_clks.size(); i++) {