diff --git a/VERSION b/VERSION index e72344ec8..7cf123c76 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.1481 \ No newline at end of file +1.36.1482 \ No newline at end of file diff --git a/iot/CMakeLists.txt b/iot/CMakeLists.txt index c55919503..83afb3d08 100644 --- a/iot/CMakeLists.txt +++ b/iot/CMakeLists.txt @@ -541,6 +541,8 @@ set(iot_public_header_model include/alibabacloud/iot/model/QueryDevicePropertyDataResult.h include/alibabacloud/iot/model/QueryDevicePropertyStatusRequest.h include/alibabacloud/iot/model/QueryDevicePropertyStatusResult.h + include/alibabacloud/iot/model/QueryDeviceProvisioningRequest.h + include/alibabacloud/iot/model/QueryDeviceProvisioningResult.h include/alibabacloud/iot/model/QueryDeviceServiceDataRequest.h include/alibabacloud/iot/model/QueryDeviceServiceDataResult.h include/alibabacloud/iot/model/QueryDeviceSpeechRequest.h @@ -1336,6 +1338,8 @@ set(iot_src src/model/QueryDevicePropertyDataResult.cc src/model/QueryDevicePropertyStatusRequest.cc src/model/QueryDevicePropertyStatusResult.cc + src/model/QueryDeviceProvisioningRequest.cc + src/model/QueryDeviceProvisioningResult.cc src/model/QueryDeviceServiceDataRequest.cc src/model/QueryDeviceServiceDataResult.cc src/model/QueryDeviceSpeechRequest.cc diff --git a/iot/include/alibabacloud/iot/IotClient.h b/iot/include/alibabacloud/iot/IotClient.h index 2571b4967..0beafcd6f 100644 --- a/iot/include/alibabacloud/iot/IotClient.h +++ b/iot/include/alibabacloud/iot/IotClient.h @@ -542,6 +542,8 @@ #include "model/QueryDevicePropertyDataResult.h" #include "model/QueryDevicePropertyStatusRequest.h" #include "model/QueryDevicePropertyStatusResult.h" +#include "model/QueryDeviceProvisioningRequest.h" +#include "model/QueryDeviceProvisioningResult.h" #include "model/QueryDeviceServiceDataRequest.h" #include "model/QueryDeviceServiceDataResult.h" #include "model/QueryDeviceSpeechRequest.h" @@ -1603,6 +1605,9 @@ namespace AlibabaCloud typedef Outcome QueryDevicePropertyStatusOutcome; typedef std::future QueryDevicePropertyStatusOutcomeCallable; typedef std::function&)> QueryDevicePropertyStatusAsyncHandler; + typedef Outcome QueryDeviceProvisioningOutcome; + typedef std::future QueryDeviceProvisioningOutcomeCallable; + typedef std::function&)> QueryDeviceProvisioningAsyncHandler; typedef Outcome QueryDeviceServiceDataOutcome; typedef std::future QueryDeviceServiceDataOutcomeCallable; typedef std::function&)> QueryDeviceServiceDataAsyncHandler; @@ -2796,6 +2801,9 @@ namespace AlibabaCloud QueryDevicePropertyStatusOutcome queryDevicePropertyStatus(const Model::QueryDevicePropertyStatusRequest &request)const; void queryDevicePropertyStatusAsync(const Model::QueryDevicePropertyStatusRequest& request, const QueryDevicePropertyStatusAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; QueryDevicePropertyStatusOutcomeCallable queryDevicePropertyStatusCallable(const Model::QueryDevicePropertyStatusRequest& request) const; + QueryDeviceProvisioningOutcome queryDeviceProvisioning(const Model::QueryDeviceProvisioningRequest &request)const; + void queryDeviceProvisioningAsync(const Model::QueryDeviceProvisioningRequest& request, const QueryDeviceProvisioningAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + QueryDeviceProvisioningOutcomeCallable queryDeviceProvisioningCallable(const Model::QueryDeviceProvisioningRequest& request) const; QueryDeviceServiceDataOutcome queryDeviceServiceData(const Model::QueryDeviceServiceDataRequest &request)const; void queryDeviceServiceDataAsync(const Model::QueryDeviceServiceDataRequest& request, const QueryDeviceServiceDataAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; QueryDeviceServiceDataOutcomeCallable queryDeviceServiceDataCallable(const Model::QueryDeviceServiceDataRequest& request) const; diff --git a/iot/include/alibabacloud/iot/model/CreateDownloadDataJobRequest.h b/iot/include/alibabacloud/iot/model/CreateDownloadDataJobRequest.h index 650584fdb..a06196334 100644 --- a/iot/include/alibabacloud/iot/model/CreateDownloadDataJobRequest.h +++ b/iot/include/alibabacloud/iot/model/CreateDownloadDataJobRequest.h @@ -41,8 +41,6 @@ namespace AlibabaCloud void setFileConfig(const std::string& fileConfig); std::string getIotInstanceId()const; void setIotInstanceId(const std::string& iotInstanceId); - std::string getContext()const; - void setContext(const std::string& context); std::string getTableName()const; void setTableName(const std::string& tableName); long getEndTime()const; @@ -58,7 +56,6 @@ namespace AlibabaCloud long startTime_; std::string fileConfig_; std::string iotInstanceId_; - std::string context_; std::string tableName_; long endTime_; std::string downloadDataType_; diff --git a/iot/include/alibabacloud/iot/model/CreateDownloadDataJobResult.h b/iot/include/alibabacloud/iot/model/CreateDownloadDataJobResult.h index fc4722fb7..c14587410 100644 --- a/iot/include/alibabacloud/iot/model/CreateDownloadDataJobResult.h +++ b/iot/include/alibabacloud/iot/model/CreateDownloadDataJobResult.h @@ -34,51 +34,11 @@ namespace AlibabaCloud public: struct Data { - struct QuerySetting - { - struct SelectedHeadersItem - { - std::string geoClass; - std::string dimDateClass; - std::string alias; - std::string timeClass; - std::string fieldName; - std::string fieldType; - }; - struct AstExprItem - { - std::string expr; - std::string exprType; - }; - std::vector astExpr; - std::vector selectedHeaders; - }; - struct HeaderItem - { - std::string geoClass; - std::string dimDateClass; - std::string alias; - std::string typeClass; - std::string timeClass; - std::string dataPrecision; - std::string fieldName; - std::string fieldType; - }; int status; bool asyncExecute; - long endTime; - int pageSize; - std::string csvUrl; - long beginTime; - std::string csvFileName; - std::string datasetId; - long totalCount; - std::vector header; std::string longJobId; - std::string resultDataInString; - int pageNo; - QuerySetting querySetting; - int previewSize; + std::string csvUrl; + std::string csvFileName; }; diff --git a/iot/include/alibabacloud/iot/model/QueryDeviceProvisioningRequest.h b/iot/include/alibabacloud/iot/model/QueryDeviceProvisioningRequest.h new file mode 100644 index 000000000..8cdf19509 --- /dev/null +++ b/iot/include/alibabacloud/iot/model/QueryDeviceProvisioningRequest.h @@ -0,0 +1,57 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROVISIONINGREQUEST_H_ +#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROVISIONINGREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iot + { + namespace Model + { + class ALIBABACLOUD_IOT_EXPORT QueryDeviceProvisioningRequest : public RpcServiceRequest + { + + public: + QueryDeviceProvisioningRequest(); + ~QueryDeviceProvisioningRequest(); + + std::string getProductKey()const; + void setProductKey(const std::string& productKey); + std::string getApiProduct()const; + void setApiProduct(const std::string& apiProduct); + std::string getApiRevision()const; + void setApiRevision(const std::string& apiRevision); + std::string getDeviceName()const; + void setDeviceName(const std::string& deviceName); + + private: + std::string productKey_; + std::string apiProduct_; + std::string apiRevision_; + std::string deviceName_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROVISIONINGREQUEST_H_ \ No newline at end of file diff --git a/iot/include/alibabacloud/iot/model/QueryDeviceProvisioningResult.h b/iot/include/alibabacloud/iot/model/QueryDeviceProvisioningResult.h new file mode 100644 index 000000000..f6d47fbb8 --- /dev/null +++ b/iot/include/alibabacloud/iot/model/QueryDeviceProvisioningResult.h @@ -0,0 +1,69 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROVISIONINGRESULT_H_ +#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROVISIONINGRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iot + { + namespace Model + { + class ALIBABACLOUD_IOT_EXPORT QueryDeviceProvisioningResult : public ServiceResult + { + public: + struct Data + { + std::string targetRegion; + long gmtCreate; + std::string targetIotInstanceId; + std::string aliyunUid; + long gmtModified; + std::string sourceIotInstanceId; + std::string sourceRegion; + std::string productKey; + std::string deviceName; + }; + + + QueryDeviceProvisioningResult(); + explicit QueryDeviceProvisioningResult(const std::string &payload); + ~QueryDeviceProvisioningResult(); + Data getData()const; + std::string getErrorMessage()const; + std::string getCode()const; + bool getSuccess()const; + + protected: + void parse(const std::string &payload); + private: + Data data_; + std::string errorMessage_; + std::string code_; + bool success_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROVISIONINGRESULT_H_ \ No newline at end of file diff --git a/iot/src/IotClient.cc b/iot/src/IotClient.cc index 5176d1ced..b5c4a5cd8 100644 --- a/iot/src/IotClient.cc +++ b/iot/src/IotClient.cc @@ -31,21 +31,21 @@ IotClient::IotClient(const Credentials &credentials, const ClientConfiguration & RpcServiceClient(SERVICE_NAME, std::make_shared(credentials), configuration) { auto locationClient = std::make_shared(credentials, configuration); - endpointProvider_ = std::make_shared(locationClient, configuration.regionId(), SERVICE_NAME, ""); + endpointProvider_ = std::make_shared(locationClient, configuration.regionId(), SERVICE_NAME, "iot"); } IotClient::IotClient(const std::shared_ptr& credentialsProvider, const ClientConfiguration & configuration) : RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration) { auto locationClient = std::make_shared(credentialsProvider, configuration); - endpointProvider_ = std::make_shared(locationClient, configuration.regionId(), SERVICE_NAME, ""); + endpointProvider_ = std::make_shared(locationClient, configuration.regionId(), SERVICE_NAME, "iot"); } IotClient::IotClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) : RpcServiceClient(SERVICE_NAME, std::make_shared(accessKeyId, accessKeySecret), configuration) { auto locationClient = std::make_shared(accessKeyId, accessKeySecret, configuration); - endpointProvider_ = std::make_shared(locationClient, configuration.regionId(), SERVICE_NAME, ""); + endpointProvider_ = std::make_shared(locationClient, configuration.regionId(), SERVICE_NAME, "iot"); } IotClient::~IotClient() @@ -9411,6 +9411,42 @@ IotClient::QueryDevicePropertyStatusOutcomeCallable IotClient::queryDeviceProper return task->get_future(); } +IotClient::QueryDeviceProvisioningOutcome IotClient::queryDeviceProvisioning(const QueryDeviceProvisioningRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return QueryDeviceProvisioningOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return QueryDeviceProvisioningOutcome(QueryDeviceProvisioningResult(outcome.result())); + else + return QueryDeviceProvisioningOutcome(outcome.error()); +} + +void IotClient::queryDeviceProvisioningAsync(const QueryDeviceProvisioningRequest& request, const QueryDeviceProvisioningAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, queryDeviceProvisioning(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +IotClient::QueryDeviceProvisioningOutcomeCallable IotClient::queryDeviceProvisioningCallable(const QueryDeviceProvisioningRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->queryDeviceProvisioning(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + IotClient::QueryDeviceServiceDataOutcome IotClient::queryDeviceServiceData(const QueryDeviceServiceDataRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/iot/src/model/CreateDownloadDataJobRequest.cc b/iot/src/model/CreateDownloadDataJobRequest.cc index c0eca91db..59f89fd42 100644 --- a/iot/src/model/CreateDownloadDataJobRequest.cc +++ b/iot/src/model/CreateDownloadDataJobRequest.cc @@ -60,17 +60,6 @@ void CreateDownloadDataJobRequest::setIotInstanceId(const std::string& iotInstan setBodyParameter("IotInstanceId", iotInstanceId); } -std::string CreateDownloadDataJobRequest::getContext()const -{ - return context_; -} - -void CreateDownloadDataJobRequest::setContext(const std::string& context) -{ - context_ = context; - setBodyParameter("Context", context); -} - std::string CreateDownloadDataJobRequest::getTableName()const { return tableName_; diff --git a/iot/src/model/CreateDownloadDataJobResult.cc b/iot/src/model/CreateDownloadDataJobResult.cc index e885ad04e..9fc7a78a0 100644 --- a/iot/src/model/CreateDownloadDataJobResult.cc +++ b/iot/src/model/CreateDownloadDataJobResult.cc @@ -40,83 +40,16 @@ void CreateDownloadDataJobResult::parse(const std::string &payload) reader.parse(payload, value); setRequestId(value["RequestId"].asString()); auto dataNode = value["Data"]; - if(!dataNode["PreviewSize"].isNull()) - data_.previewSize = std::stoi(dataNode["PreviewSize"].asString()); if(!dataNode["CsvUrl"].isNull()) data_.csvUrl = dataNode["CsvUrl"].asString(); - if(!dataNode["DatasetId"].isNull()) - data_.datasetId = dataNode["DatasetId"].asString(); if(!dataNode["LongJobId"].isNull()) data_.longJobId = dataNode["LongJobId"].asString(); if(!dataNode["Status"].isNull()) data_.status = std::stoi(dataNode["Status"].asString()); - if(!dataNode["BeginTime"].isNull()) - data_.beginTime = std::stol(dataNode["BeginTime"].asString()); - if(!dataNode["EndTime"].isNull()) - data_.endTime = std::stol(dataNode["EndTime"].asString()); - if(!dataNode["ResultDataInString"].isNull()) - data_.resultDataInString = dataNode["ResultDataInString"].asString(); if(!dataNode["AsyncExecute"].isNull()) data_.asyncExecute = dataNode["AsyncExecute"].asString() == "true"; - if(!dataNode["TotalCount"].isNull()) - data_.totalCount = std::stol(dataNode["TotalCount"].asString()); - if(!dataNode["PageNo"].isNull()) - data_.pageNo = std::stoi(dataNode["PageNo"].asString()); - if(!dataNode["PageSize"].isNull()) - data_.pageSize = std::stoi(dataNode["PageSize"].asString()); if(!dataNode["CsvFileName"].isNull()) data_.csvFileName = dataNode["CsvFileName"].asString(); - auto allHeaderNode = dataNode["Header"]["HeaderItem"]; - for (auto dataNodeHeaderHeaderItem : allHeaderNode) - { - Data::HeaderItem headerItemObject; - if(!dataNodeHeaderHeaderItem["FieldName"].isNull()) - headerItemObject.fieldName = dataNodeHeaderHeaderItem["FieldName"].asString(); - if(!dataNodeHeaderHeaderItem["Alias"].isNull()) - headerItemObject.alias = dataNodeHeaderHeaderItem["Alias"].asString(); - if(!dataNodeHeaderHeaderItem["FieldType"].isNull()) - headerItemObject.fieldType = dataNodeHeaderHeaderItem["FieldType"].asString(); - if(!dataNodeHeaderHeaderItem["TypeClass"].isNull()) - headerItemObject.typeClass = dataNodeHeaderHeaderItem["TypeClass"].asString(); - if(!dataNodeHeaderHeaderItem["TimeClass"].isNull()) - headerItemObject.timeClass = dataNodeHeaderHeaderItem["TimeClass"].asString(); - if(!dataNodeHeaderHeaderItem["GeoClass"].isNull()) - headerItemObject.geoClass = dataNodeHeaderHeaderItem["GeoClass"].asString(); - if(!dataNodeHeaderHeaderItem["DimDateClass"].isNull()) - headerItemObject.dimDateClass = dataNodeHeaderHeaderItem["DimDateClass"].asString(); - if(!dataNodeHeaderHeaderItem["DataPrecision"].isNull()) - headerItemObject.dataPrecision = dataNodeHeaderHeaderItem["DataPrecision"].asString(); - data_.header.push_back(headerItemObject); - } - auto querySettingNode = dataNode["QuerySetting"]; - auto allSelectedHeadersNode = querySettingNode["SelectedHeaders"]["SelectedHeadersItem"]; - for (auto querySettingNodeSelectedHeadersSelectedHeadersItem : allSelectedHeadersNode) - { - Data::QuerySetting::SelectedHeadersItem selectedHeadersItemObject; - if(!querySettingNodeSelectedHeadersSelectedHeadersItem["FieldName"].isNull()) - selectedHeadersItemObject.fieldName = querySettingNodeSelectedHeadersSelectedHeadersItem["FieldName"].asString(); - if(!querySettingNodeSelectedHeadersSelectedHeadersItem["Alias"].isNull()) - selectedHeadersItemObject.alias = querySettingNodeSelectedHeadersSelectedHeadersItem["Alias"].asString(); - if(!querySettingNodeSelectedHeadersSelectedHeadersItem["FieldType"].isNull()) - selectedHeadersItemObject.fieldType = querySettingNodeSelectedHeadersSelectedHeadersItem["FieldType"].asString(); - if(!querySettingNodeSelectedHeadersSelectedHeadersItem["TimeClass"].isNull()) - selectedHeadersItemObject.timeClass = querySettingNodeSelectedHeadersSelectedHeadersItem["TimeClass"].asString(); - if(!querySettingNodeSelectedHeadersSelectedHeadersItem["GeoClass"].isNull()) - selectedHeadersItemObject.geoClass = querySettingNodeSelectedHeadersSelectedHeadersItem["GeoClass"].asString(); - if(!querySettingNodeSelectedHeadersSelectedHeadersItem["DimDateClass"].isNull()) - selectedHeadersItemObject.dimDateClass = querySettingNodeSelectedHeadersSelectedHeadersItem["DimDateClass"].asString(); - data_.querySetting.selectedHeaders.push_back(selectedHeadersItemObject); - } - auto allAstExprNode = querySettingNode["AstExpr"]["AstExprItem"]; - for (auto querySettingNodeAstExprAstExprItem : allAstExprNode) - { - Data::QuerySetting::AstExprItem astExprItemObject; - if(!querySettingNodeAstExprAstExprItem["Expr"].isNull()) - astExprItemObject.expr = querySettingNodeAstExprAstExprItem["Expr"].asString(); - if(!querySettingNodeAstExprAstExprItem["ExprType"].isNull()) - astExprItemObject.exprType = querySettingNodeAstExprAstExprItem["ExprType"].asString(); - data_.querySetting.astExpr.push_back(astExprItemObject); - } if(!value["Success"].isNull()) success_ = value["Success"].asString() == "true"; if(!value["Code"].isNull()) diff --git a/iot/src/model/QueryDeviceProvisioningRequest.cc b/iot/src/model/QueryDeviceProvisioningRequest.cc new file mode 100644 index 000000000..fe638c54d --- /dev/null +++ b/iot/src/model/QueryDeviceProvisioningRequest.cc @@ -0,0 +1,73 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +using AlibabaCloud::Iot::Model::QueryDeviceProvisioningRequest; + +QueryDeviceProvisioningRequest::QueryDeviceProvisioningRequest() : + RpcServiceRequest("iot", "2018-01-20", "QueryDeviceProvisioning") +{ + setMethod(HttpRequest::Method::Post); +} + +QueryDeviceProvisioningRequest::~QueryDeviceProvisioningRequest() +{} + +std::string QueryDeviceProvisioningRequest::getProductKey()const +{ + return productKey_; +} + +void QueryDeviceProvisioningRequest::setProductKey(const std::string& productKey) +{ + productKey_ = productKey; + setBodyParameter("ProductKey", productKey); +} + +std::string QueryDeviceProvisioningRequest::getApiProduct()const +{ + return apiProduct_; +} + +void QueryDeviceProvisioningRequest::setApiProduct(const std::string& apiProduct) +{ + apiProduct_ = apiProduct; + setBodyParameter("ApiProduct", apiProduct); +} + +std::string QueryDeviceProvisioningRequest::getApiRevision()const +{ + return apiRevision_; +} + +void QueryDeviceProvisioningRequest::setApiRevision(const std::string& apiRevision) +{ + apiRevision_ = apiRevision; + setBodyParameter("ApiRevision", apiRevision); +} + +std::string QueryDeviceProvisioningRequest::getDeviceName()const +{ + return deviceName_; +} + +void QueryDeviceProvisioningRequest::setDeviceName(const std::string& deviceName) +{ + deviceName_ = deviceName; + setParameter("DeviceName", deviceName); +} + diff --git a/iot/src/model/QueryDeviceProvisioningResult.cc b/iot/src/model/QueryDeviceProvisioningResult.cc new file mode 100644 index 000000000..77d319a31 --- /dev/null +++ b/iot/src/model/QueryDeviceProvisioningResult.cc @@ -0,0 +1,89 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +using namespace AlibabaCloud::Iot; +using namespace AlibabaCloud::Iot::Model; + +QueryDeviceProvisioningResult::QueryDeviceProvisioningResult() : + ServiceResult() +{} + +QueryDeviceProvisioningResult::QueryDeviceProvisioningResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +QueryDeviceProvisioningResult::~QueryDeviceProvisioningResult() +{} + +void QueryDeviceProvisioningResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto dataNode = value["Data"]; + if(!dataNode["GmtCreate"].isNull()) + data_.gmtCreate = std::stol(dataNode["GmtCreate"].asString()); + if(!dataNode["GmtModified"].isNull()) + data_.gmtModified = std::stol(dataNode["GmtModified"].asString()); + if(!dataNode["AliyunUid"].isNull()) + data_.aliyunUid = dataNode["AliyunUid"].asString(); + if(!dataNode["ProductKey"].isNull()) + data_.productKey = dataNode["ProductKey"].asString(); + if(!dataNode["DeviceName"].isNull()) + data_.deviceName = dataNode["DeviceName"].asString(); + if(!dataNode["SourceIotInstanceId"].isNull()) + data_.sourceIotInstanceId = dataNode["SourceIotInstanceId"].asString(); + if(!dataNode["TargetIotInstanceId"].isNull()) + data_.targetIotInstanceId = dataNode["TargetIotInstanceId"].asString(); + if(!dataNode["SourceRegion"].isNull()) + data_.sourceRegion = dataNode["SourceRegion"].asString(); + if(!dataNode["TargetRegion"].isNull()) + data_.targetRegion = dataNode["TargetRegion"].asString(); + if(!value["Success"].isNull()) + success_ = value["Success"].asString() == "true"; + if(!value["Code"].isNull()) + code_ = value["Code"].asString(); + if(!value["ErrorMessage"].isNull()) + errorMessage_ = value["ErrorMessage"].asString(); + +} + +QueryDeviceProvisioningResult::Data QueryDeviceProvisioningResult::getData()const +{ + return data_; +} + +std::string QueryDeviceProvisioningResult::getErrorMessage()const +{ + return errorMessage_; +} + +std::string QueryDeviceProvisioningResult::getCode()const +{ + return code_; +} + +bool QueryDeviceProvisioningResult::getSuccess()const +{ + return success_; +} +