Add a API QueryDeviceProvisioning to support query provisioning info for device.
This commit is contained in:
@@ -31,21 +31,21 @@ IotClient::IotClient(const Credentials &credentials, const ClientConfiguration &
|
||||
RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
|
||||
{
|
||||
auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
|
||||
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
|
||||
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "iot");
|
||||
}
|
||||
|
||||
IotClient::IotClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
|
||||
RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
|
||||
{
|
||||
auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
|
||||
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
|
||||
endpointProvider_ = std::make_shared<EndpointProvider>(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<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
|
||||
{
|
||||
auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
|
||||
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
|
||||
endpointProvider_ = std::make_shared<EndpointProvider>(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<const AsyncCallerContext>& 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<std::packaged_task<QueryDeviceProvisioningOutcome()>>(
|
||||
[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();
|
||||
|
||||
@@ -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_;
|
||||
|
||||
@@ -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())
|
||||
|
||||
73
iot/src/model/QueryDeviceProvisioningRequest.cc
Normal file
73
iot/src/model/QueryDeviceProvisioningRequest.cc
Normal file
@@ -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 <alibabacloud/iot/model/QueryDeviceProvisioningRequest.h>
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
89
iot/src/model/QueryDeviceProvisioningResult.cc
Normal file
89
iot/src/model/QueryDeviceProvisioningResult.cc
Normal file
@@ -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 <alibabacloud/iot/model/QueryDeviceProvisioningResult.h>
|
||||
#include <json/json.h>
|
||||
|
||||
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_;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user