diff --git a/services/devicemanagerservice/include/authdemo/hichain_adapter.h b/services/devicemanagerservice/include/authdemo/hichain_adapter.h index bc9b23ea6444c33b976c419178a0e20a797aa35c..55ca7e5b29fec6fdb1331f1db90d090deb98a538 100644 --- a/services/devicemanagerservice/include/authdemo/hichain_adapter.h +++ b/services/devicemanagerservice/include/authdemo/hichain_adapter.h @@ -91,7 +91,6 @@ private: private: std::atomic requestIdIndex_ {0}; - nlohmann::json bindRequestJsonObj_; std::map bindingDeviceMap_; std::map> clientBindReqMap_; std::map> bindCallBackMap_; diff --git a/services/devicemanagerservice/src/authdemo/hichain_adapter.cpp b/services/devicemanagerservice/src/authdemo/hichain_adapter.cpp index ebf5e1dbaa0a26ded86b031cfad35f5e3ab66352..5ccc74020fdc6d5771b21bde3f5b28beec1dfd92 100644 --- a/services/devicemanagerservice/src/authdemo/hichain_adapter.cpp +++ b/services/devicemanagerservice/src/authdemo/hichain_adapter.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include "parameter.h" @@ -26,6 +27,7 @@ #include "device_manager_log.h" #include "device_server_channel.h" + namespace OHOS { namespace DistributedHardware { namespace { @@ -262,13 +264,16 @@ char* HichainAdapter::OnBindRequest(int64_t requestId, int operationCode, const (void)reqParams; HILOGI("HichainAdapter::OnBindRequest."); - bindRequestJsonObj_.clear(); - bindRequestJsonObj_[FIELD_CONFIRMATION] = REQUEST_ACCEPTED; - bindRequestJsonObj_[FIELD_PIN_CODE] = PIN_CODE; + nlohmann::json jsonObj; + jsonObj[FIELD_CONFIRMATION] = REQUEST_ACCEPTED; + jsonObj[FIELD_PIN_CODE] = PIN_CODE; char localDeviceId[DEVICE_UUID_LENGTH] = {0}; GetDevUdid(localDeviceId, DEVICE_UUID_LENGTH); - bindRequestJsonObj_[FIELD_DEVICE_ID] = localDeviceId; - return (char*) bindRequestJsonObj_.dump().c_str(); + jsonObj[FIELD_DEVICE_ID] = localDeviceId; + + std::string jsonStr = jsonObj.dump(); + char *buffer = strdup(jsonStr.c_str()); + return buffer; } void HichainAdapter::OnBindSuccess(int64_t requestId, const char* returnData) @@ -372,7 +377,7 @@ void HichainAuthCallBack::onError(int64_t requestId, int operationCode, int erro char* HichainAuthCallBack::onBindRequest(int64_t requestId, int operationCode, const char *reqParams) { - HILOGI("HichainAuthCallBack::onBindRequest reqId:%{public}lld, operation:%{public}d.", requestId, operationCode); + HILOGI("HichainAuthCallBack::onBindRequest reqId:%{public}lld, operation: %{public}d.", requestId, operationCode); return HichainAdapter::GetInstance().OnBindRequest(requestId, operationCode, reqParams); } }