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++) {