From 49feb2bedd8327ebd6f7c2cb57ef3b52f24e3eae Mon Sep 17 00:00:00 2001 From: sdk-team Date: Fri, 18 Dec 2020 06:16:28 +0000 Subject: [PATCH] Release EvaluateCertificateQuality. --- CHANGELOG | 3 + imagerecog/CMakeLists.txt | 4 ++ .../imagerecog/ImagerecogClient.h | 8 +++ .../model/EvaluateCertificateQualityRequest.h | 51 +++++++++++++++ .../model/EvaluateCertificateQualityResult.h | 61 ++++++++++++++++++ imagerecog/src/ImagerecogClient.cc | 36 +++++++++++ .../EvaluateCertificateQualityRequest.cc | 51 +++++++++++++++ .../model/EvaluateCertificateQualityResult.cc | 62 +++++++++++++++++++ 8 files changed, 276 insertions(+) create mode 100644 imagerecog/include/alibabacloud/imagerecog/model/EvaluateCertificateQualityRequest.h create mode 100644 imagerecog/include/alibabacloud/imagerecog/model/EvaluateCertificateQualityResult.h create mode 100644 imagerecog/src/model/EvaluateCertificateQualityRequest.cc create mode 100644 imagerecog/src/model/EvaluateCertificateQualityResult.cc diff --git a/CHANGELOG b/CHANGELOG index 9f0515142..091f1d666 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2020-12-18 Version: patch +- Release EvaluateCertificateQuality. + 2020-12-18 Version: patch - Generated 2020-05-18 for `dataworks-public`. diff --git a/imagerecog/CMakeLists.txt b/imagerecog/CMakeLists.txt index c3362e8b2..50e8cc0fe 100644 --- a/imagerecog/CMakeLists.txt +++ b/imagerecog/CMakeLists.txt @@ -27,6 +27,8 @@ set(imagerecog_public_header_model include/alibabacloud/imagerecog/model/DetectFruitsResult.h include/alibabacloud/imagerecog/model/DetectImageElementsRequest.h include/alibabacloud/imagerecog/model/DetectImageElementsResult.h + include/alibabacloud/imagerecog/model/EvaluateCertificateQualityRequest.h + include/alibabacloud/imagerecog/model/EvaluateCertificateQualityResult.h include/alibabacloud/imagerecog/model/RecognizeImageColorRequest.h include/alibabacloud/imagerecog/model/RecognizeImageColorResult.h include/alibabacloud/imagerecog/model/RecognizeImageStyleRequest.h @@ -48,6 +50,8 @@ set(imagerecog_src src/model/DetectFruitsResult.cc src/model/DetectImageElementsRequest.cc src/model/DetectImageElementsResult.cc + src/model/EvaluateCertificateQualityRequest.cc + src/model/EvaluateCertificateQualityResult.cc src/model/RecognizeImageColorRequest.cc src/model/RecognizeImageColorResult.cc src/model/RecognizeImageStyleRequest.cc diff --git a/imagerecog/include/alibabacloud/imagerecog/ImagerecogClient.h b/imagerecog/include/alibabacloud/imagerecog/ImagerecogClient.h index 09f4eead1..01c621437 100644 --- a/imagerecog/include/alibabacloud/imagerecog/ImagerecogClient.h +++ b/imagerecog/include/alibabacloud/imagerecog/ImagerecogClient.h @@ -28,6 +28,8 @@ #include "model/DetectFruitsResult.h" #include "model/DetectImageElementsRequest.h" #include "model/DetectImageElementsResult.h" +#include "model/EvaluateCertificateQualityRequest.h" +#include "model/EvaluateCertificateQualityResult.h" #include "model/RecognizeImageColorRequest.h" #include "model/RecognizeImageColorResult.h" #include "model/RecognizeImageStyleRequest.h" @@ -58,6 +60,9 @@ namespace AlibabaCloud typedef Outcome DetectImageElementsOutcome; typedef std::future DetectImageElementsOutcomeCallable; typedef std::function&)> DetectImageElementsAsyncHandler; + typedef Outcome EvaluateCertificateQualityOutcome; + typedef std::future EvaluateCertificateQualityOutcomeCallable; + typedef std::function&)> EvaluateCertificateQualityAsyncHandler; typedef Outcome RecognizeImageColorOutcome; typedef std::future RecognizeImageColorOutcomeCallable; typedef std::function&)> RecognizeImageColorAsyncHandler; @@ -90,6 +95,9 @@ namespace AlibabaCloud DetectImageElementsOutcome detectImageElements(const Model::DetectImageElementsRequest &request)const; void detectImageElementsAsync(const Model::DetectImageElementsRequest& request, const DetectImageElementsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DetectImageElementsOutcomeCallable detectImageElementsCallable(const Model::DetectImageElementsRequest& request) const; + EvaluateCertificateQualityOutcome evaluateCertificateQuality(const Model::EvaluateCertificateQualityRequest &request)const; + void evaluateCertificateQualityAsync(const Model::EvaluateCertificateQualityRequest& request, const EvaluateCertificateQualityAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + EvaluateCertificateQualityOutcomeCallable evaluateCertificateQualityCallable(const Model::EvaluateCertificateQualityRequest& request) const; RecognizeImageColorOutcome recognizeImageColor(const Model::RecognizeImageColorRequest &request)const; void recognizeImageColorAsync(const Model::RecognizeImageColorRequest& request, const RecognizeImageColorAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; RecognizeImageColorOutcomeCallable recognizeImageColorCallable(const Model::RecognizeImageColorRequest& request) const; diff --git a/imagerecog/include/alibabacloud/imagerecog/model/EvaluateCertificateQualityRequest.h b/imagerecog/include/alibabacloud/imagerecog/model/EvaluateCertificateQualityRequest.h new file mode 100644 index 000000000..c9e81000b --- /dev/null +++ b/imagerecog/include/alibabacloud/imagerecog/model/EvaluateCertificateQualityRequest.h @@ -0,0 +1,51 @@ +/* + * 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_IMAGERECOG_MODEL_EVALUATECERTIFICATEQUALITYREQUEST_H_ +#define ALIBABACLOUD_IMAGERECOG_MODEL_EVALUATECERTIFICATEQUALITYREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Imagerecog + { + namespace Model + { + class ALIBABACLOUD_IMAGERECOG_EXPORT EvaluateCertificateQualityRequest : public RpcServiceRequest + { + + public: + EvaluateCertificateQualityRequest(); + ~EvaluateCertificateQualityRequest(); + + std::string getType()const; + void setType(const std::string& type); + std::string getImageURL()const; + void setImageURL(const std::string& imageURL); + + private: + std::string type_; + std::string imageURL_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IMAGERECOG_MODEL_EVALUATECERTIFICATEQUALITYREQUEST_H_ \ No newline at end of file diff --git a/imagerecog/include/alibabacloud/imagerecog/model/EvaluateCertificateQualityResult.h b/imagerecog/include/alibabacloud/imagerecog/model/EvaluateCertificateQualityResult.h new file mode 100644 index 000000000..7ba1c8e7c --- /dev/null +++ b/imagerecog/include/alibabacloud/imagerecog/model/EvaluateCertificateQualityResult.h @@ -0,0 +1,61 @@ +/* + * 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_IMAGERECOG_MODEL_EVALUATECERTIFICATEQUALITYRESULT_H_ +#define ALIBABACLOUD_IMAGERECOG_MODEL_EVALUATECERTIFICATEQUALITYRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Imagerecog + { + namespace Model + { + class ALIBABACLOUD_IMAGERECOG_EXPORT EvaluateCertificateQualityResult : public ServiceResult + { + public: + struct Data + { + struct Element + { + std::string score; + std::string pass; + std::string value; + }; + std::vector elements; + }; + + + EvaluateCertificateQualityResult(); + explicit EvaluateCertificateQualityResult(const std::string &payload); + ~EvaluateCertificateQualityResult(); + Data getData()const; + + protected: + void parse(const std::string &payload); + private: + Data data_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IMAGERECOG_MODEL_EVALUATECERTIFICATEQUALITYRESULT_H_ \ No newline at end of file diff --git a/imagerecog/src/ImagerecogClient.cc b/imagerecog/src/ImagerecogClient.cc index 8852de02d..1cce32385 100644 --- a/imagerecog/src/ImagerecogClient.cc +++ b/imagerecog/src/ImagerecogClient.cc @@ -159,6 +159,42 @@ ImagerecogClient::DetectImageElementsOutcomeCallable ImagerecogClient::detectIma return task->get_future(); } +ImagerecogClient::EvaluateCertificateQualityOutcome ImagerecogClient::evaluateCertificateQuality(const EvaluateCertificateQualityRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return EvaluateCertificateQualityOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return EvaluateCertificateQualityOutcome(EvaluateCertificateQualityResult(outcome.result())); + else + return EvaluateCertificateQualityOutcome(outcome.error()); +} + +void ImagerecogClient::evaluateCertificateQualityAsync(const EvaluateCertificateQualityRequest& request, const EvaluateCertificateQualityAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, evaluateCertificateQuality(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +ImagerecogClient::EvaluateCertificateQualityOutcomeCallable ImagerecogClient::evaluateCertificateQualityCallable(const EvaluateCertificateQualityRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->evaluateCertificateQuality(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + ImagerecogClient::RecognizeImageColorOutcome ImagerecogClient::recognizeImageColor(const RecognizeImageColorRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/imagerecog/src/model/EvaluateCertificateQualityRequest.cc b/imagerecog/src/model/EvaluateCertificateQualityRequest.cc new file mode 100644 index 000000000..b52cfddeb --- /dev/null +++ b/imagerecog/src/model/EvaluateCertificateQualityRequest.cc @@ -0,0 +1,51 @@ +/* + * 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::Imagerecog::Model::EvaluateCertificateQualityRequest; + +EvaluateCertificateQualityRequest::EvaluateCertificateQualityRequest() : + RpcServiceRequest("imagerecog", "2019-09-30", "EvaluateCertificateQuality") +{ + setMethod(HttpRequest::Method::Post); +} + +EvaluateCertificateQualityRequest::~EvaluateCertificateQualityRequest() +{} + +std::string EvaluateCertificateQualityRequest::getType()const +{ + return type_; +} + +void EvaluateCertificateQualityRequest::setType(const std::string& type) +{ + type_ = type; + setBodyParameter("Type", type); +} + +std::string EvaluateCertificateQualityRequest::getImageURL()const +{ + return imageURL_; +} + +void EvaluateCertificateQualityRequest::setImageURL(const std::string& imageURL) +{ + imageURL_ = imageURL; + setBodyParameter("ImageURL", imageURL); +} + diff --git a/imagerecog/src/model/EvaluateCertificateQualityResult.cc b/imagerecog/src/model/EvaluateCertificateQualityResult.cc new file mode 100644 index 000000000..19f3d743f --- /dev/null +++ b/imagerecog/src/model/EvaluateCertificateQualityResult.cc @@ -0,0 +1,62 @@ +/* + * 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::Imagerecog; +using namespace AlibabaCloud::Imagerecog::Model; + +EvaluateCertificateQualityResult::EvaluateCertificateQualityResult() : + ServiceResult() +{} + +EvaluateCertificateQualityResult::EvaluateCertificateQualityResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +EvaluateCertificateQualityResult::~EvaluateCertificateQualityResult() +{} + +void EvaluateCertificateQualityResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto dataNode = value["Data"]; + auto allElementsNode = dataNode["Elements"]["Element"]; + for (auto dataNodeElementsElement : allElementsNode) + { + Data::Element elementObject; + if(!dataNodeElementsElement["Value"].isNull()) + elementObject.value = dataNodeElementsElement["Value"].asString(); + if(!dataNodeElementsElement["Pass"].isNull()) + elementObject.pass = dataNodeElementsElement["Pass"].asString(); + if(!dataNodeElementsElement["Score"].isNull()) + elementObject.score = dataNodeElementsElement["Score"].asString(); + data_.elements.push_back(elementObject); + } + +} + +EvaluateCertificateQualityResult::Data EvaluateCertificateQualityResult::getData()const +{ + return data_; +} +