Add ListBodyAlgorithmResult API.

This commit is contained in:
sdk-team
2020-07-10 13:25:08 +08:00
parent fd6a6949fb
commit 6a5e45a550
9 changed files with 430 additions and 4 deletions

View File

@@ -59,6 +59,8 @@ set(vcs_public_header_model
include/alibabacloud/vcs/model/GetVideoComposeResultResult.h
include/alibabacloud/vcs/model/GetVideoSummaryTaskResultRequest.h
include/alibabacloud/vcs/model/GetVideoSummaryTaskResultResult.h
include/alibabacloud/vcs/model/ListBodyAlgorithmResultsRequest.h
include/alibabacloud/vcs/model/ListBodyAlgorithmResultsResult.h
include/alibabacloud/vcs/model/ListCorpsRequest.h
include/alibabacloud/vcs/model/ListCorpsResult.h
include/alibabacloud/vcs/model/ListDevicesRequest.h
@@ -132,6 +134,8 @@ set(vcs_src
src/model/GetVideoComposeResultResult.cc
src/model/GetVideoSummaryTaskResultRequest.cc
src/model/GetVideoSummaryTaskResultResult.cc
src/model/ListBodyAlgorithmResultsRequest.cc
src/model/ListBodyAlgorithmResultsResult.cc
src/model/ListCorpsRequest.cc
src/model/ListCorpsResult.cc
src/model/ListDevicesRequest.cc

View File

@@ -60,6 +60,8 @@
#include "model/GetVideoComposeResultResult.h"
#include "model/GetVideoSummaryTaskResultRequest.h"
#include "model/GetVideoSummaryTaskResultResult.h"
#include "model/ListBodyAlgorithmResultsRequest.h"
#include "model/ListBodyAlgorithmResultsResult.h"
#include "model/ListCorpsRequest.h"
#include "model/ListCorpsResult.h"
#include "model/ListDevicesRequest.h"
@@ -158,6 +160,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::GetVideoSummaryTaskResultResult> GetVideoSummaryTaskResultOutcome;
typedef std::future<GetVideoSummaryTaskResultOutcome> GetVideoSummaryTaskResultOutcomeCallable;
typedef std::function<void(const VcsClient*, const Model::GetVideoSummaryTaskResultRequest&, const GetVideoSummaryTaskResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetVideoSummaryTaskResultAsyncHandler;
typedef Outcome<Error, Model::ListBodyAlgorithmResultsResult> ListBodyAlgorithmResultsOutcome;
typedef std::future<ListBodyAlgorithmResultsOutcome> ListBodyAlgorithmResultsOutcomeCallable;
typedef std::function<void(const VcsClient*, const Model::ListBodyAlgorithmResultsRequest&, const ListBodyAlgorithmResultsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListBodyAlgorithmResultsAsyncHandler;
typedef Outcome<Error, Model::ListCorpsResult> ListCorpsOutcome;
typedef std::future<ListCorpsOutcome> ListCorpsOutcomeCallable;
typedef std::function<void(const VcsClient*, const Model::ListCorpsRequest&, const ListCorpsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCorpsAsyncHandler;
@@ -268,6 +273,9 @@ namespace AlibabaCloud
GetVideoSummaryTaskResultOutcome getVideoSummaryTaskResult(const Model::GetVideoSummaryTaskResultRequest &request)const;
void getVideoSummaryTaskResultAsync(const Model::GetVideoSummaryTaskResultRequest& request, const GetVideoSummaryTaskResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
GetVideoSummaryTaskResultOutcomeCallable getVideoSummaryTaskResultCallable(const Model::GetVideoSummaryTaskResultRequest& request) const;
ListBodyAlgorithmResultsOutcome listBodyAlgorithmResults(const Model::ListBodyAlgorithmResultsRequest &request)const;
void listBodyAlgorithmResultsAsync(const Model::ListBodyAlgorithmResultsRequest& request, const ListBodyAlgorithmResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListBodyAlgorithmResultsOutcomeCallable listBodyAlgorithmResultsCallable(const Model::ListBodyAlgorithmResultsRequest& request) const;
ListCorpsOutcome listCorps(const Model::ListCorpsRequest &request)const;
void listCorpsAsync(const Model::ListCorpsRequest& request, const ListCorpsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListCorpsOutcomeCallable listCorpsCallable(const Model::ListCorpsRequest& request) const;

View File

@@ -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_VCS_MODEL_LISTBODYALGORITHMRESULTSREQUEST_H_
#define ALIBABACLOUD_VCS_MODEL_LISTBODYALGORITHMRESULTSREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/vcs/VcsExport.h>
namespace AlibabaCloud
{
namespace Vcs
{
namespace Model
{
class ALIBABACLOUD_VCS_EXPORT ListBodyAlgorithmResultsRequest : public RpcServiceRequest
{
public:
ListBodyAlgorithmResultsRequest();
~ListBodyAlgorithmResultsRequest();
std::string getAlgorithmType()const;
void setAlgorithmType(const std::string& algorithmType);
std::string getCorpId()const;
void setCorpId(const std::string& corpId);
std::string getCapStyle()const;
void setCapStyle(const std::string& capStyle);
std::string getEndTime()const;
void setEndTime(const std::string& endTime);
std::string getStartTime()const;
void setStartTime(const std::string& startTime);
std::string getPageNumber()const;
void setPageNumber(const std::string& pageNumber);
std::string getDataSourceId()const;
void setDataSourceId(const std::string& dataSourceId);
std::string getPageSize()const;
void setPageSize(const std::string& pageSize);
private:
std::string algorithmType_;
std::string corpId_;
std::string capStyle_;
std::string endTime_;
std::string startTime_;
std::string pageNumber_;
std::string dataSourceId_;
std::string pageSize_;
};
}
}
}
#endif // !ALIBABACLOUD_VCS_MODEL_LISTBODYALGORITHMRESULTSREQUEST_H_

View File

@@ -0,0 +1,81 @@
/*
* 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_VCS_MODEL_LISTBODYALGORITHMRESULTSRESULT_H_
#define ALIBABACLOUD_VCS_MODEL_LISTBODYALGORITHMRESULTSRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/vcs/VcsExport.h>
namespace AlibabaCloud
{
namespace Vcs
{
namespace Model
{
class ALIBABACLOUD_VCS_EXPORT ListBodyAlgorithmResultsResult : public ServiceResult
{
public:
struct Data
{
struct RecordsItem
{
std::string genderCode;
std::string picUrlPath;
std::string corpId;
float rightBottomX;
float rightBottomY;
std::string targetPicUrlPath;
std::string maxAge;
float leftTopY;
std::string capStyle;
float leftTopX;
std::string minAge;
std::string personId;
std::string shotTime;
std::string dataSourceId;
std::string hairStyle;
};
int totalCount;
int pageSize;
int totalPage;
int pageNumber;
std::vector<RecordsItem> records;
};
ListBodyAlgorithmResultsResult();
explicit ListBodyAlgorithmResultsResult(const std::string &payload);
~ListBodyAlgorithmResultsResult();
std::string getMessage()const;
Data getData()const;
std::string getCode()const;
protected:
void parse(const std::string &payload);
private:
std::string message_;
Data data_;
std::string code_;
};
}
}
}
#endif // !ALIBABACLOUD_VCS_MODEL_LISTBODYALGORITHMRESULTSRESULT_H_

View File

@@ -31,21 +31,21 @@ VcsClient::VcsClient(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, "vcs");
}
VcsClient::VcsClient(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, "vcs");
}
VcsClient::VcsClient(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, "vcs");
}
VcsClient::~VcsClient()
@@ -735,6 +735,42 @@ VcsClient::GetVideoSummaryTaskResultOutcomeCallable VcsClient::getVideoSummaryTa
return task->get_future();
}
VcsClient::ListBodyAlgorithmResultsOutcome VcsClient::listBodyAlgorithmResults(const ListBodyAlgorithmResultsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return ListBodyAlgorithmResultsOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return ListBodyAlgorithmResultsOutcome(ListBodyAlgorithmResultsResult(outcome.result()));
else
return ListBodyAlgorithmResultsOutcome(outcome.error());
}
void VcsClient::listBodyAlgorithmResultsAsync(const ListBodyAlgorithmResultsRequest& request, const ListBodyAlgorithmResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, listBodyAlgorithmResults(request), context);
};
asyncExecute(new Runnable(fn));
}
VcsClient::ListBodyAlgorithmResultsOutcomeCallable VcsClient::listBodyAlgorithmResultsCallable(const ListBodyAlgorithmResultsRequest &request) const
{
auto task = std::make_shared<std::packaged_task<ListBodyAlgorithmResultsOutcome()>>(
[this, request]()
{
return this->listBodyAlgorithmResults(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
VcsClient::ListCorpsOutcome VcsClient::listCorps(const ListCorpsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -0,0 +1,117 @@
/*
* 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/vcs/model/ListBodyAlgorithmResultsRequest.h>
using AlibabaCloud::Vcs::Model::ListBodyAlgorithmResultsRequest;
ListBodyAlgorithmResultsRequest::ListBodyAlgorithmResultsRequest() :
RpcServiceRequest("vcs", "2020-05-15", "ListBodyAlgorithmResults")
{
setMethod(HttpRequest::Method::Post);
}
ListBodyAlgorithmResultsRequest::~ListBodyAlgorithmResultsRequest()
{}
std::string ListBodyAlgorithmResultsRequest::getAlgorithmType()const
{
return algorithmType_;
}
void ListBodyAlgorithmResultsRequest::setAlgorithmType(const std::string& algorithmType)
{
algorithmType_ = algorithmType;
setBodyParameter("AlgorithmType", algorithmType);
}
std::string ListBodyAlgorithmResultsRequest::getCorpId()const
{
return corpId_;
}
void ListBodyAlgorithmResultsRequest::setCorpId(const std::string& corpId)
{
corpId_ = corpId;
setBodyParameter("CorpId", corpId);
}
std::string ListBodyAlgorithmResultsRequest::getCapStyle()const
{
return capStyle_;
}
void ListBodyAlgorithmResultsRequest::setCapStyle(const std::string& capStyle)
{
capStyle_ = capStyle;
setBodyParameter("CapStyle", capStyle);
}
std::string ListBodyAlgorithmResultsRequest::getEndTime()const
{
return endTime_;
}
void ListBodyAlgorithmResultsRequest::setEndTime(const std::string& endTime)
{
endTime_ = endTime;
setBodyParameter("EndTime", endTime);
}
std::string ListBodyAlgorithmResultsRequest::getStartTime()const
{
return startTime_;
}
void ListBodyAlgorithmResultsRequest::setStartTime(const std::string& startTime)
{
startTime_ = startTime;
setBodyParameter("StartTime", startTime);
}
std::string ListBodyAlgorithmResultsRequest::getPageNumber()const
{
return pageNumber_;
}
void ListBodyAlgorithmResultsRequest::setPageNumber(const std::string& pageNumber)
{
pageNumber_ = pageNumber;
setBodyParameter("PageNumber", pageNumber);
}
std::string ListBodyAlgorithmResultsRequest::getDataSourceId()const
{
return dataSourceId_;
}
void ListBodyAlgorithmResultsRequest::setDataSourceId(const std::string& dataSourceId)
{
dataSourceId_ = dataSourceId;
setBodyParameter("DataSourceId", dataSourceId);
}
std::string ListBodyAlgorithmResultsRequest::getPageSize()const
{
return pageSize_;
}
void ListBodyAlgorithmResultsRequest::setPageSize(const std::string& pageSize)
{
pageSize_ = pageSize;
setBodyParameter("PageSize", pageSize);
}

View File

@@ -0,0 +1,108 @@
/*
* 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/vcs/model/ListBodyAlgorithmResultsResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Vcs;
using namespace AlibabaCloud::Vcs::Model;
ListBodyAlgorithmResultsResult::ListBodyAlgorithmResultsResult() :
ServiceResult()
{}
ListBodyAlgorithmResultsResult::ListBodyAlgorithmResultsResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
ListBodyAlgorithmResultsResult::~ListBodyAlgorithmResultsResult()
{}
void ListBodyAlgorithmResultsResult::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["PageNumber"].isNull())
data_.pageNumber = std::stoi(dataNode["PageNumber"].asString());
if(!dataNode["PageSize"].isNull())
data_.pageSize = std::stoi(dataNode["PageSize"].asString());
if(!dataNode["TotalCount"].isNull())
data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
if(!dataNode["TotalPage"].isNull())
data_.totalPage = std::stoi(dataNode["TotalPage"].asString());
auto allRecordsNode = dataNode["Records"]["RecordsItem"];
for (auto dataNodeRecordsRecordsItem : allRecordsNode)
{
Data::RecordsItem recordsItemObject;
if(!dataNodeRecordsRecordsItem["CapStyle"].isNull())
recordsItemObject.capStyle = dataNodeRecordsRecordsItem["CapStyle"].asString();
if(!dataNodeRecordsRecordsItem["CorpId"].isNull())
recordsItemObject.corpId = dataNodeRecordsRecordsItem["CorpId"].asString();
if(!dataNodeRecordsRecordsItem["DataSourceId"].isNull())
recordsItemObject.dataSourceId = dataNodeRecordsRecordsItem["DataSourceId"].asString();
if(!dataNodeRecordsRecordsItem["PersonId"].isNull())
recordsItemObject.personId = dataNodeRecordsRecordsItem["PersonId"].asString();
if(!dataNodeRecordsRecordsItem["GenderCode"].isNull())
recordsItemObject.genderCode = dataNodeRecordsRecordsItem["GenderCode"].asString();
if(!dataNodeRecordsRecordsItem["HairStyle"].isNull())
recordsItemObject.hairStyle = dataNodeRecordsRecordsItem["HairStyle"].asString();
if(!dataNodeRecordsRecordsItem["LeftTopX"].isNull())
recordsItemObject.leftTopX = std::stof(dataNodeRecordsRecordsItem["LeftTopX"].asString());
if(!dataNodeRecordsRecordsItem["LeftTopY"].isNull())
recordsItemObject.leftTopY = std::stof(dataNodeRecordsRecordsItem["LeftTopY"].asString());
if(!dataNodeRecordsRecordsItem["MaxAge"].isNull())
recordsItemObject.maxAge = dataNodeRecordsRecordsItem["MaxAge"].asString();
if(!dataNodeRecordsRecordsItem["MinAge"].isNull())
recordsItemObject.minAge = dataNodeRecordsRecordsItem["MinAge"].asString();
if(!dataNodeRecordsRecordsItem["PicUrlPath"].isNull())
recordsItemObject.picUrlPath = dataNodeRecordsRecordsItem["PicUrlPath"].asString();
if(!dataNodeRecordsRecordsItem["RightBottomX"].isNull())
recordsItemObject.rightBottomX = std::stof(dataNodeRecordsRecordsItem["RightBottomX"].asString());
if(!dataNodeRecordsRecordsItem["RightBottomY"].isNull())
recordsItemObject.rightBottomY = std::stof(dataNodeRecordsRecordsItem["RightBottomY"].asString());
if(!dataNodeRecordsRecordsItem["ShotTime"].isNull())
recordsItemObject.shotTime = dataNodeRecordsRecordsItem["ShotTime"].asString();
if(!dataNodeRecordsRecordsItem["TargetPicUrlPath"].isNull())
recordsItemObject.targetPicUrlPath = dataNodeRecordsRecordsItem["TargetPicUrlPath"].asString();
data_.records.push_back(recordsItemObject);
}
if(!value["Code"].isNull())
code_ = value["Code"].asString();
if(!value["Message"].isNull())
message_ = value["Message"].asString();
}
std::string ListBodyAlgorithmResultsResult::getMessage()const
{
return message_;
}
ListBodyAlgorithmResultsResult::Data ListBodyAlgorithmResultsResult::getData()const
{
return data_;
}
std::string ListBodyAlgorithmResultsResult::getCode()const
{
return code_;
}