diff --git a/CHANGELOG b/CHANGELOG index a4c34b510..68d4f507f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2019-10-21 Version 1.36.152 +- Release first version. + 2019-10-18 Version 1.36.151 - Generated 2019-09-10 for `DnsKnocker`. diff --git a/VERSION b/VERSION index caadd5bed..b010acbd5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.151 \ No newline at end of file +1.36.152 \ No newline at end of file diff --git a/iqa/CMakeLists.txt b/iqa/CMakeLists.txt new file mode 100644 index 000000000..2eff44817 --- /dev/null +++ b/iqa/CMakeLists.txt @@ -0,0 +1,118 @@ +# +# 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. +# + +set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include) + +set(iqa_public_header + include/alibabacloud/iqa/IqaClient.h + include/alibabacloud/iqa/IqaExport.h ) + +set(iqa_public_header_model + include/alibabacloud/iqa/model/CreateProjectRequest.h + include/alibabacloud/iqa/model/CreateProjectResult.h + include/alibabacloud/iqa/model/DeleteProjectRequest.h + include/alibabacloud/iqa/model/DeleteProjectResult.h + include/alibabacloud/iqa/model/DeployServiceRequest.h + include/alibabacloud/iqa/model/DeployServiceResult.h + include/alibabacloud/iqa/model/DescribeProjectRequest.h + include/alibabacloud/iqa/model/DescribeProjectResult.h + include/alibabacloud/iqa/model/GetPredictResultRequest.h + include/alibabacloud/iqa/model/GetPredictResultResult.h + include/alibabacloud/iqa/model/ListProjectsRequest.h + include/alibabacloud/iqa/model/ListProjectsResult.h + include/alibabacloud/iqa/model/ModifiyProjectRequest.h + include/alibabacloud/iqa/model/ModifiyProjectResult.h + include/alibabacloud/iqa/model/UploadDictionaryRequest.h + include/alibabacloud/iqa/model/UploadDictionaryResult.h + include/alibabacloud/iqa/model/UploadDocumentRequest.h + include/alibabacloud/iqa/model/UploadDocumentResult.h ) + +set(iqa_src + src/IqaClient.cc + src/model/CreateProjectRequest.cc + src/model/CreateProjectResult.cc + src/model/DeleteProjectRequest.cc + src/model/DeleteProjectResult.cc + src/model/DeployServiceRequest.cc + src/model/DeployServiceResult.cc + src/model/DescribeProjectRequest.cc + src/model/DescribeProjectResult.cc + src/model/GetPredictResultRequest.cc + src/model/GetPredictResultResult.cc + src/model/ListProjectsRequest.cc + src/model/ListProjectsResult.cc + src/model/ModifiyProjectRequest.cc + src/model/ModifiyProjectResult.cc + src/model/UploadDictionaryRequest.cc + src/model/UploadDictionaryResult.cc + src/model/UploadDocumentRequest.cc + src/model/UploadDocumentResult.cc ) + +add_library(iqa ${LIB_TYPE} + ${iqa_public_header} + ${iqa_public_header_model} + ${iqa_src}) + +set_target_properties(iqa + PROPERTIES + LINKER_LANGUAGE CXX + ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin + OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}iqa + ) + +if(${LIB_TYPE} STREQUAL "SHARED") + set_target_properties(iqa + PROPERTIES + DEFINE_SYMBOL ALIBABACLOUD_IQA_LIBRARY) +endif() + +target_include_directories(iqa + PRIVATE include + ${CMAKE_SOURCE_DIR}/core/include + ) +target_link_libraries(iqa + core) + +if(CMAKE_HOST_WIN32) + ExternalProject_Get_Property(jsoncpp INSTALL_DIR) + set(jsoncpp_install_dir ${INSTALL_DIR}) + add_dependencies(iqa + jsoncpp) + target_include_directories(iqa + PRIVATE ${jsoncpp_install_dir}/include) + target_link_libraries(iqa + ${jsoncpp_install_dir}/lib/jsoncpp.lib) + set_target_properties(iqa + PROPERTIES + COMPILE_OPTIONS "/bigobj") +else() + target_include_directories(iqa + PRIVATE /usr/include/jsoncpp) + target_link_libraries(iqa + jsoncpp) +endif() + +install(FILES ${iqa_public_header} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/iqa) +install(FILES ${iqa_public_header_model} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/iqa/model) +install(TARGETS iqa + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/IqaClient.h b/iqa/include/alibabacloud/iqa/IqaClient.h new file mode 100644 index 000000000..14fda4b91 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/IqaClient.h @@ -0,0 +1,118 @@ +/* + * 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_IQA_IQACLIENT_H_ +#define ALIBABACLOUD_IQA_IQACLIENT_H_ + +#include +#include +#include +#include +#include "IqaExport.h" +#include "model/CreateProjectRequest.h" +#include "model/CreateProjectResult.h" +#include "model/DeleteProjectRequest.h" +#include "model/DeleteProjectResult.h" +#include "model/DeployServiceRequest.h" +#include "model/DeployServiceResult.h" +#include "model/DescribeProjectRequest.h" +#include "model/DescribeProjectResult.h" +#include "model/GetPredictResultRequest.h" +#include "model/GetPredictResultResult.h" +#include "model/ListProjectsRequest.h" +#include "model/ListProjectsResult.h" +#include "model/ModifiyProjectRequest.h" +#include "model/ModifiyProjectResult.h" +#include "model/UploadDictionaryRequest.h" +#include "model/UploadDictionaryResult.h" +#include "model/UploadDocumentRequest.h" +#include "model/UploadDocumentResult.h" + + +namespace AlibabaCloud +{ + namespace Iqa + { + class ALIBABACLOUD_IQA_EXPORT IqaClient : public RpcServiceClient + { + public: + typedef Outcome CreateProjectOutcome; + typedef std::future CreateProjectOutcomeCallable; + typedef std::function&)> CreateProjectAsyncHandler; + typedef Outcome DeleteProjectOutcome; + typedef std::future DeleteProjectOutcomeCallable; + typedef std::function&)> DeleteProjectAsyncHandler; + typedef Outcome DeployServiceOutcome; + typedef std::future DeployServiceOutcomeCallable; + typedef std::function&)> DeployServiceAsyncHandler; + typedef Outcome DescribeProjectOutcome; + typedef std::future DescribeProjectOutcomeCallable; + typedef std::function&)> DescribeProjectAsyncHandler; + typedef Outcome GetPredictResultOutcome; + typedef std::future GetPredictResultOutcomeCallable; + typedef std::function&)> GetPredictResultAsyncHandler; + typedef Outcome ListProjectsOutcome; + typedef std::future ListProjectsOutcomeCallable; + typedef std::function&)> ListProjectsAsyncHandler; + typedef Outcome ModifiyProjectOutcome; + typedef std::future ModifiyProjectOutcomeCallable; + typedef std::function&)> ModifiyProjectAsyncHandler; + typedef Outcome UploadDictionaryOutcome; + typedef std::future UploadDictionaryOutcomeCallable; + typedef std::function&)> UploadDictionaryAsyncHandler; + typedef Outcome UploadDocumentOutcome; + typedef std::future UploadDocumentOutcomeCallable; + typedef std::function&)> UploadDocumentAsyncHandler; + + IqaClient(const Credentials &credentials, const ClientConfiguration &configuration); + IqaClient(const std::shared_ptr &credentialsProvider, const ClientConfiguration &configuration); + IqaClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration); + ~IqaClient(); + CreateProjectOutcome createProject(const Model::CreateProjectRequest &request)const; + void createProjectAsync(const Model::CreateProjectRequest& request, const CreateProjectAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + CreateProjectOutcomeCallable createProjectCallable(const Model::CreateProjectRequest& request) const; + DeleteProjectOutcome deleteProject(const Model::DeleteProjectRequest &request)const; + void deleteProjectAsync(const Model::DeleteProjectRequest& request, const DeleteProjectAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DeleteProjectOutcomeCallable deleteProjectCallable(const Model::DeleteProjectRequest& request) const; + DeployServiceOutcome deployService(const Model::DeployServiceRequest &request)const; + void deployServiceAsync(const Model::DeployServiceRequest& request, const DeployServiceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DeployServiceOutcomeCallable deployServiceCallable(const Model::DeployServiceRequest& request) const; + DescribeProjectOutcome describeProject(const Model::DescribeProjectRequest &request)const; + void describeProjectAsync(const Model::DescribeProjectRequest& request, const DescribeProjectAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DescribeProjectOutcomeCallable describeProjectCallable(const Model::DescribeProjectRequest& request) const; + GetPredictResultOutcome getPredictResult(const Model::GetPredictResultRequest &request)const; + void getPredictResultAsync(const Model::GetPredictResultRequest& request, const GetPredictResultAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetPredictResultOutcomeCallable getPredictResultCallable(const Model::GetPredictResultRequest& request) const; + ListProjectsOutcome listProjects(const Model::ListProjectsRequest &request)const; + void listProjectsAsync(const Model::ListProjectsRequest& request, const ListProjectsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ListProjectsOutcomeCallable listProjectsCallable(const Model::ListProjectsRequest& request) const; + ModifiyProjectOutcome modifiyProject(const Model::ModifiyProjectRequest &request)const; + void modifiyProjectAsync(const Model::ModifiyProjectRequest& request, const ModifiyProjectAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ModifiyProjectOutcomeCallable modifiyProjectCallable(const Model::ModifiyProjectRequest& request) const; + UploadDictionaryOutcome uploadDictionary(const Model::UploadDictionaryRequest &request)const; + void uploadDictionaryAsync(const Model::UploadDictionaryRequest& request, const UploadDictionaryAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + UploadDictionaryOutcomeCallable uploadDictionaryCallable(const Model::UploadDictionaryRequest& request) const; + UploadDocumentOutcome uploadDocument(const Model::UploadDocumentRequest &request)const; + void uploadDocumentAsync(const Model::UploadDocumentRequest& request, const UploadDocumentAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + UploadDocumentOutcomeCallable uploadDocumentCallable(const Model::UploadDocumentRequest& request) const; + + private: + std::shared_ptr endpointProvider_; + }; + } +} + +#endif // !ALIBABACLOUD_IQA_IQACLIENT_H_ diff --git a/iqa/include/alibabacloud/iqa/IqaExport.h b/iqa/include/alibabacloud/iqa/IqaExport.h new file mode 100644 index 000000000..0ae5d44ea --- /dev/null +++ b/iqa/include/alibabacloud/iqa/IqaExport.h @@ -0,0 +1,32 @@ +/* + * 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_IQA_IQAEXPORT_H_ +#define ALIBABACLOUD_IQA_IQAEXPORT_H_ + +#include + +#if defined(ALIBABACLOUD_SHARED) +# if defined(ALIBABACLOUD_IQA_LIBRARY) +# define ALIBABACLOUD_IQA_EXPORT ALIBABACLOUD_DECL_EXPORT +# else +# define ALIBABACLOUD_IQA_EXPORT ALIBABACLOUD_DECL_IMPORT +# endif +#else +# define ALIBABACLOUD_IQA_EXPORT +#endif + +#endif // !ALIBABACLOUD_IQA_IQAEXPORT_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/CreateProjectRequest.h b/iqa/include/alibabacloud/iqa/model/CreateProjectRequest.h new file mode 100644 index 000000000..d77bb36d9 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/CreateProjectRequest.h @@ -0,0 +1,54 @@ +/* + * 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_IQA_MODEL_CREATEPROJECTREQUEST_H_ +#define ALIBABACLOUD_IQA_MODEL_CREATEPROJECTREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT CreateProjectRequest : public RpcServiceRequest + { + + public: + CreateProjectRequest(); + ~CreateProjectRequest(); + + std::string getProjectName()const; + void setProjectName(const std::string& projectName); + std::string getModelId()const; + void setModelId(const std::string& modelId); + std::string getProjectType()const; + void setProjectType(const std::string& projectType); + + private: + std::string projectName_; + std::string modelId_; + std::string projectType_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_CREATEPROJECTREQUEST_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/CreateProjectResult.h b/iqa/include/alibabacloud/iqa/model/CreateProjectResult.h new file mode 100644 index 000000000..f04bb6ce2 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/CreateProjectResult.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_IQA_MODEL_CREATEPROJECTRESULT_H_ +#define ALIBABACLOUD_IQA_MODEL_CREATEPROJECTRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT CreateProjectResult : public ServiceResult + { + public: + + + CreateProjectResult(); + explicit CreateProjectResult(const std::string &payload); + ~CreateProjectResult(); + std::string getProjectId()const; + + protected: + void parse(const std::string &payload); + private: + std::string projectId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_CREATEPROJECTRESULT_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/DeleteProjectRequest.h b/iqa/include/alibabacloud/iqa/model/DeleteProjectRequest.h new file mode 100644 index 000000000..cf4b99d87 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/DeleteProjectRequest.h @@ -0,0 +1,48 @@ +/* + * 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_IQA_MODEL_DELETEPROJECTREQUEST_H_ +#define ALIBABACLOUD_IQA_MODEL_DELETEPROJECTREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT DeleteProjectRequest : public RpcServiceRequest + { + + public: + DeleteProjectRequest(); + ~DeleteProjectRequest(); + + std::string getProjectId()const; + void setProjectId(const std::string& projectId); + + private: + std::string projectId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_DELETEPROJECTREQUEST_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/DeleteProjectResult.h b/iqa/include/alibabacloud/iqa/model/DeleteProjectResult.h new file mode 100644 index 000000000..5a08ee73b --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/DeleteProjectResult.h @@ -0,0 +1,49 @@ +/* + * 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_IQA_MODEL_DELETEPROJECTRESULT_H_ +#define ALIBABACLOUD_IQA_MODEL_DELETEPROJECTRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT DeleteProjectResult : public ServiceResult + { + public: + + + DeleteProjectResult(); + explicit DeleteProjectResult(const std::string &payload); + ~DeleteProjectResult(); + + protected: + void parse(const std::string &payload); + private: + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_DELETEPROJECTRESULT_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/DeployServiceRequest.h b/iqa/include/alibabacloud/iqa/model/DeployServiceRequest.h new file mode 100644 index 000000000..60d36f436 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/DeployServiceRequest.h @@ -0,0 +1,48 @@ +/* + * 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_IQA_MODEL_DEPLOYSERVICEREQUEST_H_ +#define ALIBABACLOUD_IQA_MODEL_DEPLOYSERVICEREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT DeployServiceRequest : public RpcServiceRequest + { + + public: + DeployServiceRequest(); + ~DeployServiceRequest(); + + std::string getProjectId()const; + void setProjectId(const std::string& projectId); + + private: + std::string projectId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_DEPLOYSERVICEREQUEST_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/DeployServiceResult.h b/iqa/include/alibabacloud/iqa/model/DeployServiceResult.h new file mode 100644 index 000000000..8572687e3 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/DeployServiceResult.h @@ -0,0 +1,49 @@ +/* + * 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_IQA_MODEL_DEPLOYSERVICERESULT_H_ +#define ALIBABACLOUD_IQA_MODEL_DEPLOYSERVICERESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT DeployServiceResult : public ServiceResult + { + public: + + + DeployServiceResult(); + explicit DeployServiceResult(const std::string &payload); + ~DeployServiceResult(); + + protected: + void parse(const std::string &payload); + private: + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_DEPLOYSERVICERESULT_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/DescribeProjectRequest.h b/iqa/include/alibabacloud/iqa/model/DescribeProjectRequest.h new file mode 100644 index 000000000..9a2ede0cf --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/DescribeProjectRequest.h @@ -0,0 +1,48 @@ +/* + * 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_IQA_MODEL_DESCRIBEPROJECTREQUEST_H_ +#define ALIBABACLOUD_IQA_MODEL_DESCRIBEPROJECTREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT DescribeProjectRequest : public RpcServiceRequest + { + + public: + DescribeProjectRequest(); + ~DescribeProjectRequest(); + + std::string getProjectId()const; + void setProjectId(const std::string& projectId); + + private: + std::string projectId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_DESCRIBEPROJECTREQUEST_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/DescribeProjectResult.h b/iqa/include/alibabacloud/iqa/model/DescribeProjectResult.h new file mode 100644 index 000000000..695a48516 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/DescribeProjectResult.h @@ -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. + */ + +#ifndef ALIBABACLOUD_IQA_MODEL_DESCRIBEPROJECTRESULT_H_ +#define ALIBABACLOUD_IQA_MODEL_DESCRIBEPROJECTRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT DescribeProjectResult : public ServiceResult + { + public: + + + DescribeProjectResult(); + explicit DescribeProjectResult(const std::string &payload); + ~DescribeProjectResult(); + int getQuestionCount()const; + std::string getModelName()const; + std::string getDeployAvailable()const; + std::string getProjectName()const; + long getDeployTime()const; + std::string getProjectType()const; + long getCreateTime()const; + std::string getProjectId()const; + std::string getDataStatus()const; + std::string getModelId()const; + std::string getOnlineServiceStatus()const; + std::string getTestServiceStatus()const; + + protected: + void parse(const std::string &payload); + private: + int questionCount_; + std::string modelName_; + std::string deployAvailable_; + std::string projectName_; + long deployTime_; + std::string projectType_; + long createTime_; + std::string projectId_; + std::string dataStatus_; + std::string modelId_; + std::string onlineServiceStatus_; + std::string testServiceStatus_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_DESCRIBEPROJECTRESULT_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/GetPredictResultRequest.h b/iqa/include/alibabacloud/iqa/model/GetPredictResultRequest.h new file mode 100644 index 000000000..6c9711cd4 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/GetPredictResultRequest.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_IQA_MODEL_GETPREDICTRESULTREQUEST_H_ +#define ALIBABACLOUD_IQA_MODEL_GETPREDICTRESULTREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT GetPredictResultRequest : public RpcServiceRequest + { + + public: + GetPredictResultRequest(); + ~GetPredictResultRequest(); + + int getTopK()const; + void setTopK(int topK); + std::string getTraceTag()const; + void setTraceTag(const std::string& traceTag); + std::string getQuestion()const; + void setQuestion(const std::string& question); + std::string getProjectId()const; + void setProjectId(const std::string& projectId); + + private: + int topK_; + std::string traceTag_; + std::string question_; + std::string projectId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_GETPREDICTRESULTREQUEST_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/GetPredictResultResult.h b/iqa/include/alibabacloud/iqa/model/GetPredictResultResult.h new file mode 100644 index 000000000..c1f42904f --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/GetPredictResultResult.h @@ -0,0 +1,71 @@ +/* + * 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_IQA_MODEL_GETPREDICTRESULTRESULT_H_ +#define ALIBABACLOUD_IQA_MODEL_GETPREDICTRESULTRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT GetPredictResultResult : public ServiceResult + { + public: + struct PredictResult + { + std::string answer; + float score; + std::string questionId; + int rank; + std::string question; + }; + + + GetPredictResultResult(); + explicit GetPredictResultResult(const std::string &payload); + ~GetPredictResultResult(); + long getCostTime()const; + std::string getTrace()const; + int getTopK()const; + std::string getTraceTag()const; + std::string getProjectId()const; + std::string getQuestion()const; + std::vector getPredictResults()const; + + protected: + void parse(const std::string &payload); + private: + long costTime_; + std::string trace_; + int topK_; + std::string traceTag_; + std::string projectId_; + std::string question_; + std::vector predictResults_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_GETPREDICTRESULTRESULT_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/ListProjectsRequest.h b/iqa/include/alibabacloud/iqa/model/ListProjectsRequest.h new file mode 100644 index 000000000..a09e8a9c3 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/ListProjectsRequest.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_IQA_MODEL_LISTPROJECTSREQUEST_H_ +#define ALIBABACLOUD_IQA_MODEL_LISTPROJECTSREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT ListProjectsRequest : public RpcServiceRequest + { + + public: + ListProjectsRequest(); + ~ListProjectsRequest(); + + std::string getFilterParam()const; + void setFilterParam(const std::string& filterParam); + int getPageNumber()const; + void setPageNumber(int pageNumber); + int getPageSize()const; + void setPageSize(int pageSize); + std::string getProjectType()const; + void setProjectType(const std::string& projectType); + + private: + std::string filterParam_; + int pageNumber_; + int pageSize_; + std::string projectType_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_LISTPROJECTSREQUEST_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/ListProjectsResult.h b/iqa/include/alibabacloud/iqa/model/ListProjectsResult.h new file mode 100644 index 000000000..9c843b9c6 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/ListProjectsResult.h @@ -0,0 +1,72 @@ +/* + * 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_IQA_MODEL_LISTPROJECTSRESULT_H_ +#define ALIBABACLOUD_IQA_MODEL_LISTPROJECTSRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT ListProjectsResult : public ServiceResult + { + public: + struct Project + { + int questionCount; + std::string deployAvailable; + std::string modelName; + std::string projectName; + long deployTime; + std::string projectType; + long createTime; + std::string projectId; + std::string dataStatus; + std::string modelId; + std::string onlineServiceStatus; + std::string testServiceStatus; + }; + + + ListProjectsResult(); + explicit ListProjectsResult(const std::string &payload); + ~ListProjectsResult(); + int getTotalCount()const; + int getPageSize()const; + int getPageNumber()const; + std::vector getProjects()const; + + protected: + void parse(const std::string &payload); + private: + int totalCount_; + int pageSize_; + int pageNumber_; + std::vector projects_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_LISTPROJECTSRESULT_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/ModifiyProjectRequest.h b/iqa/include/alibabacloud/iqa/model/ModifiyProjectRequest.h new file mode 100644 index 000000000..e0da1d55b --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/ModifiyProjectRequest.h @@ -0,0 +1,54 @@ +/* + * 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_IQA_MODEL_MODIFIYPROJECTREQUEST_H_ +#define ALIBABACLOUD_IQA_MODEL_MODIFIYPROJECTREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT ModifiyProjectRequest : public RpcServiceRequest + { + + public: + ModifiyProjectRequest(); + ~ModifiyProjectRequest(); + + std::string getProjectName()const; + void setProjectName(const std::string& projectName); + std::string getModelId()const; + void setModelId(const std::string& modelId); + std::string getProjectId()const; + void setProjectId(const std::string& projectId); + + private: + std::string projectName_; + std::string modelId_; + std::string projectId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_MODIFIYPROJECTREQUEST_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/ModifiyProjectResult.h b/iqa/include/alibabacloud/iqa/model/ModifiyProjectResult.h new file mode 100644 index 000000000..c2bf9c868 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/ModifiyProjectResult.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_IQA_MODEL_MODIFIYPROJECTRESULT_H_ +#define ALIBABACLOUD_IQA_MODEL_MODIFIYPROJECTRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT ModifiyProjectResult : public ServiceResult + { + public: + + + ModifiyProjectResult(); + explicit ModifiyProjectResult(const std::string &payload); + ~ModifiyProjectResult(); + std::string getProjectId()const; + + protected: + void parse(const std::string &payload); + private: + std::string projectId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_MODIFIYPROJECTRESULT_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/UploadDictionaryRequest.h b/iqa/include/alibabacloud/iqa/model/UploadDictionaryRequest.h new file mode 100644 index 000000000..e218bbad6 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/UploadDictionaryRequest.h @@ -0,0 +1,54 @@ +/* + * 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_IQA_MODEL_UPLOADDICTIONARYREQUEST_H_ +#define ALIBABACLOUD_IQA_MODEL_UPLOADDICTIONARYREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT UploadDictionaryRequest : public RpcServiceRequest + { + + public: + UploadDictionaryRequest(); + ~UploadDictionaryRequest(); + + std::string getDictionaryFileUrl()const; + void setDictionaryFileUrl(const std::string& dictionaryFileUrl); + std::string getProjectId()const; + void setProjectId(const std::string& projectId); + std::string getDictionaryData()const; + void setDictionaryData(const std::string& dictionaryData); + + private: + std::string dictionaryFileUrl_; + std::string projectId_; + std::string dictionaryData_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_UPLOADDICTIONARYREQUEST_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/UploadDictionaryResult.h b/iqa/include/alibabacloud/iqa/model/UploadDictionaryResult.h new file mode 100644 index 000000000..b7e4f8fed --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/UploadDictionaryResult.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_IQA_MODEL_UPLOADDICTIONARYRESULT_H_ +#define ALIBABACLOUD_IQA_MODEL_UPLOADDICTIONARYRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT UploadDictionaryResult : public ServiceResult + { + public: + + + UploadDictionaryResult(); + explicit UploadDictionaryResult(const std::string &payload); + ~UploadDictionaryResult(); + int getTotalCount()const; + std::string getProjectId()const; + int getFileDataCount()const; + int getJsonDataCount()const; + + protected: + void parse(const std::string &payload); + private: + int totalCount_; + std::string projectId_; + int fileDataCount_; + int jsonDataCount_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_UPLOADDICTIONARYRESULT_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/UploadDocumentRequest.h b/iqa/include/alibabacloud/iqa/model/UploadDocumentRequest.h new file mode 100644 index 000000000..f8cbc1901 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/UploadDocumentRequest.h @@ -0,0 +1,54 @@ +/* + * 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_IQA_MODEL_UPLOADDOCUMENTREQUEST_H_ +#define ALIBABACLOUD_IQA_MODEL_UPLOADDOCUMENTREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT UploadDocumentRequest : public RpcServiceRequest + { + + public: + UploadDocumentRequest(); + ~UploadDocumentRequest(); + + std::string getDocumentData()const; + void setDocumentData(const std::string& documentData); + std::string getDocumentFileUrl()const; + void setDocumentFileUrl(const std::string& documentFileUrl); + std::string getProjectId()const; + void setProjectId(const std::string& projectId); + + private: + std::string documentData_; + std::string documentFileUrl_; + std::string projectId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_UPLOADDOCUMENTREQUEST_H_ \ No newline at end of file diff --git a/iqa/include/alibabacloud/iqa/model/UploadDocumentResult.h b/iqa/include/alibabacloud/iqa/model/UploadDocumentResult.h new file mode 100644 index 000000000..e79a0adc5 --- /dev/null +++ b/iqa/include/alibabacloud/iqa/model/UploadDocumentResult.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_IQA_MODEL_UPLOADDOCUMENTRESULT_H_ +#define ALIBABACLOUD_IQA_MODEL_UPLOADDOCUMENTRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Iqa + { + namespace Model + { + class ALIBABACLOUD_IQA_EXPORT UploadDocumentResult : public ServiceResult + { + public: + + + UploadDocumentResult(); + explicit UploadDocumentResult(const std::string &payload); + ~UploadDocumentResult(); + int getTotalCount()const; + std::string getProjectId()const; + int getFileDataCount()const; + int getJsonDataCount()const; + + protected: + void parse(const std::string &payload); + private: + int totalCount_; + std::string projectId_; + int fileDataCount_; + int jsonDataCount_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IQA_MODEL_UPLOADDOCUMENTRESULT_H_ \ No newline at end of file diff --git a/iqa/src/IqaClient.cc b/iqa/src/IqaClient.cc new file mode 100644 index 000000000..20e5d471d --- /dev/null +++ b/iqa/src/IqaClient.cc @@ -0,0 +1,377 @@ +/* + * 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; +using namespace AlibabaCloud::Location; +using namespace AlibabaCloud::Iqa; +using namespace AlibabaCloud::Iqa::Model; + +namespace +{ + const std::string SERVICE_NAME = "iqa"; +} + +IqaClient::IqaClient(const Credentials &credentials, const ClientConfiguration &configuration) : + RpcServiceClient(SERVICE_NAME, std::make_shared(credentials), configuration) +{ + auto locationClient = std::make_shared(credentials, configuration); + endpointProvider_ = std::make_shared(locationClient, configuration.regionId(), SERVICE_NAME, "iqa"); +} + +IqaClient::IqaClient(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, "iqa"); +} + +IqaClient::IqaClient(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, "iqa"); +} + +IqaClient::~IqaClient() +{} + +IqaClient::CreateProjectOutcome IqaClient::createProject(const CreateProjectRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return CreateProjectOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return CreateProjectOutcome(CreateProjectResult(outcome.result())); + else + return CreateProjectOutcome(outcome.error()); +} + +void IqaClient::createProjectAsync(const CreateProjectRequest& request, const CreateProjectAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, createProject(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +IqaClient::CreateProjectOutcomeCallable IqaClient::createProjectCallable(const CreateProjectRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->createProject(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +IqaClient::DeleteProjectOutcome IqaClient::deleteProject(const DeleteProjectRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DeleteProjectOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DeleteProjectOutcome(DeleteProjectResult(outcome.result())); + else + return DeleteProjectOutcome(outcome.error()); +} + +void IqaClient::deleteProjectAsync(const DeleteProjectRequest& request, const DeleteProjectAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, deleteProject(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +IqaClient::DeleteProjectOutcomeCallable IqaClient::deleteProjectCallable(const DeleteProjectRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->deleteProject(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +IqaClient::DeployServiceOutcome IqaClient::deployService(const DeployServiceRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DeployServiceOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DeployServiceOutcome(DeployServiceResult(outcome.result())); + else + return DeployServiceOutcome(outcome.error()); +} + +void IqaClient::deployServiceAsync(const DeployServiceRequest& request, const DeployServiceAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, deployService(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +IqaClient::DeployServiceOutcomeCallable IqaClient::deployServiceCallable(const DeployServiceRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->deployService(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +IqaClient::DescribeProjectOutcome IqaClient::describeProject(const DescribeProjectRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DescribeProjectOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DescribeProjectOutcome(DescribeProjectResult(outcome.result())); + else + return DescribeProjectOutcome(outcome.error()); +} + +void IqaClient::describeProjectAsync(const DescribeProjectRequest& request, const DescribeProjectAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, describeProject(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +IqaClient::DescribeProjectOutcomeCallable IqaClient::describeProjectCallable(const DescribeProjectRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->describeProject(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +IqaClient::GetPredictResultOutcome IqaClient::getPredictResult(const GetPredictResultRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return GetPredictResultOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return GetPredictResultOutcome(GetPredictResultResult(outcome.result())); + else + return GetPredictResultOutcome(outcome.error()); +} + +void IqaClient::getPredictResultAsync(const GetPredictResultRequest& request, const GetPredictResultAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, getPredictResult(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +IqaClient::GetPredictResultOutcomeCallable IqaClient::getPredictResultCallable(const GetPredictResultRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->getPredictResult(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +IqaClient::ListProjectsOutcome IqaClient::listProjects(const ListProjectsRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return ListProjectsOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return ListProjectsOutcome(ListProjectsResult(outcome.result())); + else + return ListProjectsOutcome(outcome.error()); +} + +void IqaClient::listProjectsAsync(const ListProjectsRequest& request, const ListProjectsAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, listProjects(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +IqaClient::ListProjectsOutcomeCallable IqaClient::listProjectsCallable(const ListProjectsRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->listProjects(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +IqaClient::ModifiyProjectOutcome IqaClient::modifiyProject(const ModifiyProjectRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return ModifiyProjectOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return ModifiyProjectOutcome(ModifiyProjectResult(outcome.result())); + else + return ModifiyProjectOutcome(outcome.error()); +} + +void IqaClient::modifiyProjectAsync(const ModifiyProjectRequest& request, const ModifiyProjectAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, modifiyProject(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +IqaClient::ModifiyProjectOutcomeCallable IqaClient::modifiyProjectCallable(const ModifiyProjectRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->modifiyProject(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +IqaClient::UploadDictionaryOutcome IqaClient::uploadDictionary(const UploadDictionaryRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return UploadDictionaryOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return UploadDictionaryOutcome(UploadDictionaryResult(outcome.result())); + else + return UploadDictionaryOutcome(outcome.error()); +} + +void IqaClient::uploadDictionaryAsync(const UploadDictionaryRequest& request, const UploadDictionaryAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, uploadDictionary(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +IqaClient::UploadDictionaryOutcomeCallable IqaClient::uploadDictionaryCallable(const UploadDictionaryRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->uploadDictionary(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +IqaClient::UploadDocumentOutcome IqaClient::uploadDocument(const UploadDocumentRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return UploadDocumentOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return UploadDocumentOutcome(UploadDocumentResult(outcome.result())); + else + return UploadDocumentOutcome(outcome.error()); +} + +void IqaClient::uploadDocumentAsync(const UploadDocumentRequest& request, const UploadDocumentAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, uploadDocument(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +IqaClient::UploadDocumentOutcomeCallable IqaClient::uploadDocumentCallable(const UploadDocumentRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->uploadDocument(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + diff --git a/iqa/src/model/CreateProjectRequest.cc b/iqa/src/model/CreateProjectRequest.cc new file mode 100644 index 000000000..90905f70e --- /dev/null +++ b/iqa/src/model/CreateProjectRequest.cc @@ -0,0 +1,60 @@ +/* + * 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::Iqa::Model::CreateProjectRequest; + +CreateProjectRequest::CreateProjectRequest() : + RpcServiceRequest("iqa", "2019-08-13", "CreateProject") +{} + +CreateProjectRequest::~CreateProjectRequest() +{} + +std::string CreateProjectRequest::getProjectName()const +{ + return projectName_; +} + +void CreateProjectRequest::setProjectName(const std::string& projectName) +{ + projectName_ = projectName; + setCoreParameter("ProjectName", projectName); +} + +std::string CreateProjectRequest::getModelId()const +{ + return modelId_; +} + +void CreateProjectRequest::setModelId(const std::string& modelId) +{ + modelId_ = modelId; + setCoreParameter("ModelId", modelId); +} + +std::string CreateProjectRequest::getProjectType()const +{ + return projectType_; +} + +void CreateProjectRequest::setProjectType(const std::string& projectType) +{ + projectType_ = projectType; + setCoreParameter("ProjectType", projectType); +} + diff --git a/iqa/src/model/CreateProjectResult.cc b/iqa/src/model/CreateProjectResult.cc new file mode 100644 index 000000000..2c22b3f4c --- /dev/null +++ b/iqa/src/model/CreateProjectResult.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 +#include + +using namespace AlibabaCloud::Iqa; +using namespace AlibabaCloud::Iqa::Model; + +CreateProjectResult::CreateProjectResult() : + ServiceResult() +{} + +CreateProjectResult::CreateProjectResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +CreateProjectResult::~CreateProjectResult() +{} + +void CreateProjectResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["ProjectId"].isNull()) + projectId_ = value["ProjectId"].asString(); + +} + +std::string CreateProjectResult::getProjectId()const +{ + return projectId_; +} + diff --git a/iqa/src/model/DeleteProjectRequest.cc b/iqa/src/model/DeleteProjectRequest.cc new file mode 100644 index 000000000..d5e2a8bf1 --- /dev/null +++ b/iqa/src/model/DeleteProjectRequest.cc @@ -0,0 +1,38 @@ +/* + * 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::Iqa::Model::DeleteProjectRequest; + +DeleteProjectRequest::DeleteProjectRequest() : + RpcServiceRequest("iqa", "2019-08-13", "DeleteProject") +{} + +DeleteProjectRequest::~DeleteProjectRequest() +{} + +std::string DeleteProjectRequest::getProjectId()const +{ + return projectId_; +} + +void DeleteProjectRequest::setProjectId(const std::string& projectId) +{ + projectId_ = projectId; + setCoreParameter("ProjectId", projectId); +} + diff --git a/iqa/src/model/DeleteProjectResult.cc b/iqa/src/model/DeleteProjectResult.cc new file mode 100644 index 000000000..2b3e64653 --- /dev/null +++ b/iqa/src/model/DeleteProjectResult.cc @@ -0,0 +1,44 @@ +/* + * 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::Iqa; +using namespace AlibabaCloud::Iqa::Model; + +DeleteProjectResult::DeleteProjectResult() : + ServiceResult() +{} + +DeleteProjectResult::DeleteProjectResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DeleteProjectResult::~DeleteProjectResult() +{} + +void DeleteProjectResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + +} + diff --git a/iqa/src/model/DeployServiceRequest.cc b/iqa/src/model/DeployServiceRequest.cc new file mode 100644 index 000000000..3031570a5 --- /dev/null +++ b/iqa/src/model/DeployServiceRequest.cc @@ -0,0 +1,38 @@ +/* + * 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::Iqa::Model::DeployServiceRequest; + +DeployServiceRequest::DeployServiceRequest() : + RpcServiceRequest("iqa", "2019-08-13", "DeployService") +{} + +DeployServiceRequest::~DeployServiceRequest() +{} + +std::string DeployServiceRequest::getProjectId()const +{ + return projectId_; +} + +void DeployServiceRequest::setProjectId(const std::string& projectId) +{ + projectId_ = projectId; + setCoreParameter("ProjectId", projectId); +} + diff --git a/iqa/src/model/DeployServiceResult.cc b/iqa/src/model/DeployServiceResult.cc new file mode 100644 index 000000000..3597b0937 --- /dev/null +++ b/iqa/src/model/DeployServiceResult.cc @@ -0,0 +1,44 @@ +/* + * 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::Iqa; +using namespace AlibabaCloud::Iqa::Model; + +DeployServiceResult::DeployServiceResult() : + ServiceResult() +{} + +DeployServiceResult::DeployServiceResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DeployServiceResult::~DeployServiceResult() +{} + +void DeployServiceResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + +} + diff --git a/iqa/src/model/DescribeProjectRequest.cc b/iqa/src/model/DescribeProjectRequest.cc new file mode 100644 index 000000000..7d4d03ef1 --- /dev/null +++ b/iqa/src/model/DescribeProjectRequest.cc @@ -0,0 +1,38 @@ +/* + * 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::Iqa::Model::DescribeProjectRequest; + +DescribeProjectRequest::DescribeProjectRequest() : + RpcServiceRequest("iqa", "2019-08-13", "DescribeProject") +{} + +DescribeProjectRequest::~DescribeProjectRequest() +{} + +std::string DescribeProjectRequest::getProjectId()const +{ + return projectId_; +} + +void DescribeProjectRequest::setProjectId(const std::string& projectId) +{ + projectId_ = projectId; + setCoreParameter("ProjectId", projectId); +} + diff --git a/iqa/src/model/DescribeProjectResult.cc b/iqa/src/model/DescribeProjectResult.cc new file mode 100644 index 000000000..b83dcdacc --- /dev/null +++ b/iqa/src/model/DescribeProjectResult.cc @@ -0,0 +1,128 @@ +/* + * 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::Iqa; +using namespace AlibabaCloud::Iqa::Model; + +DescribeProjectResult::DescribeProjectResult() : + ServiceResult() +{} + +DescribeProjectResult::DescribeProjectResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DescribeProjectResult::~DescribeProjectResult() +{} + +void DescribeProjectResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["ProjectType"].isNull()) + projectType_ = value["ProjectType"].asString(); + if(!value["ProjectId"].isNull()) + projectId_ = value["ProjectId"].asString(); + if(!value["ProjectName"].isNull()) + projectName_ = value["ProjectName"].asString(); + if(!value["CreateTime"].isNull()) + createTime_ = std::stol(value["CreateTime"].asString()); + if(!value["DeployTime"].isNull()) + deployTime_ = std::stol(value["DeployTime"].asString()); + if(!value["ModelId"].isNull()) + modelId_ = value["ModelId"].asString(); + if(!value["ModelName"].isNull()) + modelName_ = value["ModelName"].asString(); + if(!value["QuestionCount"].isNull()) + questionCount_ = std::stoi(value["QuestionCount"].asString()); + if(!value["DataStatus"].isNull()) + dataStatus_ = value["DataStatus"].asString(); + if(!value["TestServiceStatus"].isNull()) + testServiceStatus_ = value["TestServiceStatus"].asString(); + if(!value["OnlineServiceStatus"].isNull()) + onlineServiceStatus_ = value["OnlineServiceStatus"].asString(); + if(!value["DeployAvailable"].isNull()) + deployAvailable_ = value["DeployAvailable"].asString(); + +} + +int DescribeProjectResult::getQuestionCount()const +{ + return questionCount_; +} + +std::string DescribeProjectResult::getModelName()const +{ + return modelName_; +} + +std::string DescribeProjectResult::getDeployAvailable()const +{ + return deployAvailable_; +} + +std::string DescribeProjectResult::getProjectName()const +{ + return projectName_; +} + +long DescribeProjectResult::getDeployTime()const +{ + return deployTime_; +} + +std::string DescribeProjectResult::getProjectType()const +{ + return projectType_; +} + +long DescribeProjectResult::getCreateTime()const +{ + return createTime_; +} + +std::string DescribeProjectResult::getProjectId()const +{ + return projectId_; +} + +std::string DescribeProjectResult::getDataStatus()const +{ + return dataStatus_; +} + +std::string DescribeProjectResult::getModelId()const +{ + return modelId_; +} + +std::string DescribeProjectResult::getOnlineServiceStatus()const +{ + return onlineServiceStatus_; +} + +std::string DescribeProjectResult::getTestServiceStatus()const +{ + return testServiceStatus_; +} + diff --git a/iqa/src/model/GetPredictResultRequest.cc b/iqa/src/model/GetPredictResultRequest.cc new file mode 100644 index 000000000..b00d48d28 --- /dev/null +++ b/iqa/src/model/GetPredictResultRequest.cc @@ -0,0 +1,71 @@ +/* + * 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::Iqa::Model::GetPredictResultRequest; + +GetPredictResultRequest::GetPredictResultRequest() : + RpcServiceRequest("iqa", "2019-08-13", "GetPredictResult") +{} + +GetPredictResultRequest::~GetPredictResultRequest() +{} + +int GetPredictResultRequest::getTopK()const +{ + return topK_; +} + +void GetPredictResultRequest::setTopK(int topK) +{ + topK_ = topK; + setCoreParameter("TopK", std::to_string(topK)); +} + +std::string GetPredictResultRequest::getTraceTag()const +{ + return traceTag_; +} + +void GetPredictResultRequest::setTraceTag(const std::string& traceTag) +{ + traceTag_ = traceTag; + setCoreParameter("TraceTag", traceTag); +} + +std::string GetPredictResultRequest::getQuestion()const +{ + return question_; +} + +void GetPredictResultRequest::setQuestion(const std::string& question) +{ + question_ = question; + setCoreParameter("Question", question); +} + +std::string GetPredictResultRequest::getProjectId()const +{ + return projectId_; +} + +void GetPredictResultRequest::setProjectId(const std::string& projectId) +{ + projectId_ = projectId; + setCoreParameter("ProjectId", projectId); +} + diff --git a/iqa/src/model/GetPredictResultResult.cc b/iqa/src/model/GetPredictResultResult.cc new file mode 100644 index 000000000..697f3a5ad --- /dev/null +++ b/iqa/src/model/GetPredictResultResult.cc @@ -0,0 +1,107 @@ +/* + * 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::Iqa; +using namespace AlibabaCloud::Iqa::Model; + +GetPredictResultResult::GetPredictResultResult() : + ServiceResult() +{} + +GetPredictResultResult::GetPredictResultResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +GetPredictResultResult::~GetPredictResultResult() +{} + +void GetPredictResultResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto allPredictResultsNode = value["PredictResults"]["PredictResult"]; + for (auto valuePredictResultsPredictResult : allPredictResultsNode) + { + PredictResult predictResultsObject; + if(!valuePredictResultsPredictResult["Rank"].isNull()) + predictResultsObject.rank = std::stoi(valuePredictResultsPredictResult["Rank"].asString()); + if(!valuePredictResultsPredictResult["QuestionId"].isNull()) + predictResultsObject.questionId = valuePredictResultsPredictResult["QuestionId"].asString(); + if(!valuePredictResultsPredictResult["Question"].isNull()) + predictResultsObject.question = valuePredictResultsPredictResult["Question"].asString(); + if(!valuePredictResultsPredictResult["Score"].isNull()) + predictResultsObject.score = std::stof(valuePredictResultsPredictResult["Score"].asString()); + if(!valuePredictResultsPredictResult["Answer"].isNull()) + predictResultsObject.answer = valuePredictResultsPredictResult["Answer"].asString(); + predictResults_.push_back(predictResultsObject); + } + if(!value["ProjectId"].isNull()) + projectId_ = value["ProjectId"].asString(); + if(!value["Question"].isNull()) + question_ = value["Question"].asString(); + if(!value["TopK"].isNull()) + topK_ = std::stoi(value["TopK"].asString()); + if(!value["TraceTag"].isNull()) + traceTag_ = value["TraceTag"].asString(); + if(!value["CostTime"].isNull()) + costTime_ = std::stol(value["CostTime"].asString()); + if(!value["Trace"].isNull()) + trace_ = value["Trace"].asString(); + +} + +long GetPredictResultResult::getCostTime()const +{ + return costTime_; +} + +std::string GetPredictResultResult::getTrace()const +{ + return trace_; +} + +int GetPredictResultResult::getTopK()const +{ + return topK_; +} + +std::string GetPredictResultResult::getTraceTag()const +{ + return traceTag_; +} + +std::string GetPredictResultResult::getProjectId()const +{ + return projectId_; +} + +std::string GetPredictResultResult::getQuestion()const +{ + return question_; +} + +std::vector GetPredictResultResult::getPredictResults()const +{ + return predictResults_; +} + diff --git a/iqa/src/model/ListProjectsRequest.cc b/iqa/src/model/ListProjectsRequest.cc new file mode 100644 index 000000000..09b71edbb --- /dev/null +++ b/iqa/src/model/ListProjectsRequest.cc @@ -0,0 +1,71 @@ +/* + * 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::Iqa::Model::ListProjectsRequest; + +ListProjectsRequest::ListProjectsRequest() : + RpcServiceRequest("iqa", "2019-08-13", "ListProjects") +{} + +ListProjectsRequest::~ListProjectsRequest() +{} + +std::string ListProjectsRequest::getFilterParam()const +{ + return filterParam_; +} + +void ListProjectsRequest::setFilterParam(const std::string& filterParam) +{ + filterParam_ = filterParam; + setCoreParameter("FilterParam", filterParam); +} + +int ListProjectsRequest::getPageNumber()const +{ + return pageNumber_; +} + +void ListProjectsRequest::setPageNumber(int pageNumber) +{ + pageNumber_ = pageNumber; + setCoreParameter("PageNumber", std::to_string(pageNumber)); +} + +int ListProjectsRequest::getPageSize()const +{ + return pageSize_; +} + +void ListProjectsRequest::setPageSize(int pageSize) +{ + pageSize_ = pageSize; + setCoreParameter("PageSize", std::to_string(pageSize)); +} + +std::string ListProjectsRequest::getProjectType()const +{ + return projectType_; +} + +void ListProjectsRequest::setProjectType(const std::string& projectType) +{ + projectType_ = projectType; + setCoreParameter("ProjectType", projectType); +} + diff --git a/iqa/src/model/ListProjectsResult.cc b/iqa/src/model/ListProjectsResult.cc new file mode 100644 index 000000000..f60c4a8e9 --- /dev/null +++ b/iqa/src/model/ListProjectsResult.cc @@ -0,0 +1,100 @@ +/* + * 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::Iqa; +using namespace AlibabaCloud::Iqa::Model; + +ListProjectsResult::ListProjectsResult() : + ServiceResult() +{} + +ListProjectsResult::ListProjectsResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +ListProjectsResult::~ListProjectsResult() +{} + +void ListProjectsResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto allProjectsNode = value["Projects"]["Project"]; + for (auto valueProjectsProject : allProjectsNode) + { + Project projectsObject; + if(!valueProjectsProject["ProjectType"].isNull()) + projectsObject.projectType = valueProjectsProject["ProjectType"].asString(); + if(!valueProjectsProject["ProjectId"].isNull()) + projectsObject.projectId = valueProjectsProject["ProjectId"].asString(); + if(!valueProjectsProject["ProjectName"].isNull()) + projectsObject.projectName = valueProjectsProject["ProjectName"].asString(); + if(!valueProjectsProject["CreateTime"].isNull()) + projectsObject.createTime = std::stol(valueProjectsProject["CreateTime"].asString()); + if(!valueProjectsProject["DeployTime"].isNull()) + projectsObject.deployTime = std::stol(valueProjectsProject["DeployTime"].asString()); + if(!valueProjectsProject["ModelId"].isNull()) + projectsObject.modelId = valueProjectsProject["ModelId"].asString(); + if(!valueProjectsProject["QuestionCount"].isNull()) + projectsObject.questionCount = std::stoi(valueProjectsProject["QuestionCount"].asString()); + if(!valueProjectsProject["DataStatus"].isNull()) + projectsObject.dataStatus = valueProjectsProject["DataStatus"].asString(); + if(!valueProjectsProject["TestServiceStatus"].isNull()) + projectsObject.testServiceStatus = valueProjectsProject["TestServiceStatus"].asString(); + if(!valueProjectsProject["OnlineServiceStatus"].isNull()) + projectsObject.onlineServiceStatus = valueProjectsProject["OnlineServiceStatus"].asString(); + if(!valueProjectsProject["DeployAvailable"].isNull()) + projectsObject.deployAvailable = valueProjectsProject["DeployAvailable"].asString(); + if(!valueProjectsProject["ModelName"].isNull()) + projectsObject.modelName = valueProjectsProject["ModelName"].asString(); + projects_.push_back(projectsObject); + } + if(!value["TotalCount"].isNull()) + totalCount_ = std::stoi(value["TotalCount"].asString()); + if(!value["PageNumber"].isNull()) + pageNumber_ = std::stoi(value["PageNumber"].asString()); + if(!value["PageSize"].isNull()) + pageSize_ = std::stoi(value["PageSize"].asString()); + +} + +int ListProjectsResult::getTotalCount()const +{ + return totalCount_; +} + +int ListProjectsResult::getPageSize()const +{ + return pageSize_; +} + +int ListProjectsResult::getPageNumber()const +{ + return pageNumber_; +} + +std::vector ListProjectsResult::getProjects()const +{ + return projects_; +} + diff --git a/iqa/src/model/ModifiyProjectRequest.cc b/iqa/src/model/ModifiyProjectRequest.cc new file mode 100644 index 000000000..393100f61 --- /dev/null +++ b/iqa/src/model/ModifiyProjectRequest.cc @@ -0,0 +1,60 @@ +/* + * 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::Iqa::Model::ModifiyProjectRequest; + +ModifiyProjectRequest::ModifiyProjectRequest() : + RpcServiceRequest("iqa", "2019-08-13", "ModifiyProject") +{} + +ModifiyProjectRequest::~ModifiyProjectRequest() +{} + +std::string ModifiyProjectRequest::getProjectName()const +{ + return projectName_; +} + +void ModifiyProjectRequest::setProjectName(const std::string& projectName) +{ + projectName_ = projectName; + setCoreParameter("ProjectName", projectName); +} + +std::string ModifiyProjectRequest::getModelId()const +{ + return modelId_; +} + +void ModifiyProjectRequest::setModelId(const std::string& modelId) +{ + modelId_ = modelId; + setCoreParameter("ModelId", modelId); +} + +std::string ModifiyProjectRequest::getProjectId()const +{ + return projectId_; +} + +void ModifiyProjectRequest::setProjectId(const std::string& projectId) +{ + projectId_ = projectId; + setCoreParameter("ProjectId", projectId); +} + diff --git a/iqa/src/model/ModifiyProjectResult.cc b/iqa/src/model/ModifiyProjectResult.cc new file mode 100644 index 000000000..d5d9d2177 --- /dev/null +++ b/iqa/src/model/ModifiyProjectResult.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 +#include + +using namespace AlibabaCloud::Iqa; +using namespace AlibabaCloud::Iqa::Model; + +ModifiyProjectResult::ModifiyProjectResult() : + ServiceResult() +{} + +ModifiyProjectResult::ModifiyProjectResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +ModifiyProjectResult::~ModifiyProjectResult() +{} + +void ModifiyProjectResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["ProjectId"].isNull()) + projectId_ = value["ProjectId"].asString(); + +} + +std::string ModifiyProjectResult::getProjectId()const +{ + return projectId_; +} + diff --git a/iqa/src/model/UploadDictionaryRequest.cc b/iqa/src/model/UploadDictionaryRequest.cc new file mode 100644 index 000000000..c7af68063 --- /dev/null +++ b/iqa/src/model/UploadDictionaryRequest.cc @@ -0,0 +1,60 @@ +/* + * 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::Iqa::Model::UploadDictionaryRequest; + +UploadDictionaryRequest::UploadDictionaryRequest() : + RpcServiceRequest("iqa", "2019-08-13", "UploadDictionary") +{} + +UploadDictionaryRequest::~UploadDictionaryRequest() +{} + +std::string UploadDictionaryRequest::getDictionaryFileUrl()const +{ + return dictionaryFileUrl_; +} + +void UploadDictionaryRequest::setDictionaryFileUrl(const std::string& dictionaryFileUrl) +{ + dictionaryFileUrl_ = dictionaryFileUrl; + setCoreParameter("DictionaryFileUrl", dictionaryFileUrl); +} + +std::string UploadDictionaryRequest::getProjectId()const +{ + return projectId_; +} + +void UploadDictionaryRequest::setProjectId(const std::string& projectId) +{ + projectId_ = projectId; + setCoreParameter("ProjectId", projectId); +} + +std::string UploadDictionaryRequest::getDictionaryData()const +{ + return dictionaryData_; +} + +void UploadDictionaryRequest::setDictionaryData(const std::string& dictionaryData) +{ + dictionaryData_ = dictionaryData; + setCoreParameter("DictionaryData", dictionaryData); +} + diff --git a/iqa/src/model/UploadDictionaryResult.cc b/iqa/src/model/UploadDictionaryResult.cc new file mode 100644 index 000000000..be97fd484 --- /dev/null +++ b/iqa/src/model/UploadDictionaryResult.cc @@ -0,0 +1,72 @@ +/* + * 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::Iqa; +using namespace AlibabaCloud::Iqa::Model; + +UploadDictionaryResult::UploadDictionaryResult() : + ServiceResult() +{} + +UploadDictionaryResult::UploadDictionaryResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +UploadDictionaryResult::~UploadDictionaryResult() +{} + +void UploadDictionaryResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["ProjectId"].isNull()) + projectId_ = value["ProjectId"].asString(); + if(!value["TotalCount"].isNull()) + totalCount_ = std::stoi(value["TotalCount"].asString()); + if(!value["FileDataCount"].isNull()) + fileDataCount_ = std::stoi(value["FileDataCount"].asString()); + if(!value["JsonDataCount"].isNull()) + jsonDataCount_ = std::stoi(value["JsonDataCount"].asString()); + +} + +int UploadDictionaryResult::getTotalCount()const +{ + return totalCount_; +} + +std::string UploadDictionaryResult::getProjectId()const +{ + return projectId_; +} + +int UploadDictionaryResult::getFileDataCount()const +{ + return fileDataCount_; +} + +int UploadDictionaryResult::getJsonDataCount()const +{ + return jsonDataCount_; +} + diff --git a/iqa/src/model/UploadDocumentRequest.cc b/iqa/src/model/UploadDocumentRequest.cc new file mode 100644 index 000000000..f68aea7d2 --- /dev/null +++ b/iqa/src/model/UploadDocumentRequest.cc @@ -0,0 +1,60 @@ +/* + * 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::Iqa::Model::UploadDocumentRequest; + +UploadDocumentRequest::UploadDocumentRequest() : + RpcServiceRequest("iqa", "2019-08-13", "UploadDocument") +{} + +UploadDocumentRequest::~UploadDocumentRequest() +{} + +std::string UploadDocumentRequest::getDocumentData()const +{ + return documentData_; +} + +void UploadDocumentRequest::setDocumentData(const std::string& documentData) +{ + documentData_ = documentData; + setCoreParameter("DocumentData", documentData); +} + +std::string UploadDocumentRequest::getDocumentFileUrl()const +{ + return documentFileUrl_; +} + +void UploadDocumentRequest::setDocumentFileUrl(const std::string& documentFileUrl) +{ + documentFileUrl_ = documentFileUrl; + setCoreParameter("DocumentFileUrl", documentFileUrl); +} + +std::string UploadDocumentRequest::getProjectId()const +{ + return projectId_; +} + +void UploadDocumentRequest::setProjectId(const std::string& projectId) +{ + projectId_ = projectId; + setCoreParameter("ProjectId", projectId); +} + diff --git a/iqa/src/model/UploadDocumentResult.cc b/iqa/src/model/UploadDocumentResult.cc new file mode 100644 index 000000000..ac3597651 --- /dev/null +++ b/iqa/src/model/UploadDocumentResult.cc @@ -0,0 +1,72 @@ +/* + * 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::Iqa; +using namespace AlibabaCloud::Iqa::Model; + +UploadDocumentResult::UploadDocumentResult() : + ServiceResult() +{} + +UploadDocumentResult::UploadDocumentResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +UploadDocumentResult::~UploadDocumentResult() +{} + +void UploadDocumentResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["ProjectId"].isNull()) + projectId_ = value["ProjectId"].asString(); + if(!value["TotalCount"].isNull()) + totalCount_ = std::stoi(value["TotalCount"].asString()); + if(!value["FileDataCount"].isNull()) + fileDataCount_ = std::stoi(value["FileDataCount"].asString()); + if(!value["JsonDataCount"].isNull()) + jsonDataCount_ = std::stoi(value["JsonDataCount"].asString()); + +} + +int UploadDocumentResult::getTotalCount()const +{ + return totalCount_; +} + +std::string UploadDocumentResult::getProjectId()const +{ + return projectId_; +} + +int UploadDocumentResult::getFileDataCount()const +{ + return fileDataCount_; +} + +int UploadDocumentResult::getJsonDataCount()const +{ + return jsonDataCount_; +} +