瀏覽代碼

Video Content analytics template introduced to this SDK.

sdk-team 6 年之前
父節點
當前提交
b6697980bc
共有 27 個文件被更改,包括 1265 次插入3 次删除
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 18 2
      multimediaai/CMakeLists.txt
  4. 32 0
      multimediaai/include/alibabacloud/multimediaai/MultimediaaiClient.h
  5. 3 0
      multimediaai/include/alibabacloud/multimediaai/model/CreateCoverTaskRequest.h
  6. 3 0
      multimediaai/include/alibabacloud/multimediaai/model/CreateGifTaskRequest.h
  7. 57 0
      multimediaai/include/alibabacloud/multimediaai/model/CreateTemplateRequest.h
  8. 51 0
      multimediaai/include/alibabacloud/multimediaai/model/CreateTemplateResult.h
  9. 48 0
      multimediaai/include/alibabacloud/multimediaai/model/GetTemplateRequest.h
  10. 63 0
      multimediaai/include/alibabacloud/multimediaai/model/GetTemplateResult.h
  11. 60 0
      multimediaai/include/alibabacloud/multimediaai/model/ListTemplatesRequest.h
  12. 68 0
      multimediaai/include/alibabacloud/multimediaai/model/ListTemplatesResult.h
  13. 6 0
      multimediaai/include/alibabacloud/multimediaai/model/RegisterFaceImageResult.h
  14. 60 0
      multimediaai/include/alibabacloud/multimediaai/model/UpdateTemplateRequest.h
  15. 49 0
      multimediaai/include/alibabacloud/multimediaai/model/UpdateTemplateResult.h
  16. 144 0
      multimediaai/src/MultimediaaiClient.cc
  17. 11 0
      multimediaai/src/model/CreateCoverTaskRequest.cc
  18. 11 0
      multimediaai/src/model/CreateGifTaskRequest.cc
  19. 73 0
      multimediaai/src/model/CreateTemplateRequest.cc
  20. 51 0
      multimediaai/src/model/CreateTemplateResult.cc
  21. 40 0
      multimediaai/src/model/GetTemplateRequest.cc
  22. 93 0
      multimediaai/src/model/GetTemplateResult.cc
  23. 84 0
      multimediaai/src/model/ListTemplatesRequest.cc
  24. 95 0
      multimediaai/src/model/ListTemplatesResult.cc
  25. 13 0
      multimediaai/src/model/RegisterFaceImageResult.cc
  26. 84 0
      multimediaai/src/model/UpdateTemplateRequest.cc
  27. 44 0
      multimediaai/src/model/UpdateTemplateResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-08-25 Version: 1.36.609
+- Video Content analytics template introduced to this SDK.
+
 2020-08-25 Version: 1.36.608
 - Change DeviceSerialNumber to DeviceSn in API RegisterDevice.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.608
+1.36.609

+ 18 - 2
multimediaai/CMakeLists.txt

@@ -31,6 +31,8 @@ set(multimediaai_public_header_model
 	include/alibabacloud/multimediaai/model/CreateGifTaskResult.h
 	include/alibabacloud/multimediaai/model/CreateLabelTaskRequest.h
 	include/alibabacloud/multimediaai/model/CreateLabelTaskResult.h
+	include/alibabacloud/multimediaai/model/CreateTemplateRequest.h
+	include/alibabacloud/multimediaai/model/CreateTemplateResult.h
 	include/alibabacloud/multimediaai/model/DeleteFaceGroupRequest.h
 	include/alibabacloud/multimediaai/model/DeleteFaceGroupResult.h
 	include/alibabacloud/multimediaai/model/DeleteFaceImageRequest.h
@@ -41,14 +43,20 @@ set(multimediaai_public_header_model
 	include/alibabacloud/multimediaai/model/GetTaskResultResult.h
 	include/alibabacloud/multimediaai/model/GetTaskStatusRequest.h
 	include/alibabacloud/multimediaai/model/GetTaskStatusResult.h
+	include/alibabacloud/multimediaai/model/GetTemplateRequest.h
+	include/alibabacloud/multimediaai/model/GetTemplateResult.h
 	include/alibabacloud/multimediaai/model/ListFaceGroupsRequest.h
 	include/alibabacloud/multimediaai/model/ListFaceGroupsResult.h
 	include/alibabacloud/multimediaai/model/ListFaceImagesRequest.h
 	include/alibabacloud/multimediaai/model/ListFaceImagesResult.h
 	include/alibabacloud/multimediaai/model/ListFacePersonsRequest.h
 	include/alibabacloud/multimediaai/model/ListFacePersonsResult.h
+	include/alibabacloud/multimediaai/model/ListTemplatesRequest.h
+	include/alibabacloud/multimediaai/model/ListTemplatesResult.h
 	include/alibabacloud/multimediaai/model/RegisterFaceImageRequest.h
-	include/alibabacloud/multimediaai/model/RegisterFaceImageResult.h )
+	include/alibabacloud/multimediaai/model/RegisterFaceImageResult.h
+	include/alibabacloud/multimediaai/model/UpdateTemplateRequest.h
+	include/alibabacloud/multimediaai/model/UpdateTemplateResult.h )
 
 set(multimediaai_src 
 	src/MultimediaaiClient.cc
@@ -62,6 +70,8 @@ set(multimediaai_src
 	src/model/CreateGifTaskResult.cc
 	src/model/CreateLabelTaskRequest.cc
 	src/model/CreateLabelTaskResult.cc
+	src/model/CreateTemplateRequest.cc
+	src/model/CreateTemplateResult.cc
 	src/model/DeleteFaceGroupRequest.cc
 	src/model/DeleteFaceGroupResult.cc
 	src/model/DeleteFaceImageRequest.cc
@@ -72,14 +82,20 @@ set(multimediaai_src
 	src/model/GetTaskResultResult.cc
 	src/model/GetTaskStatusRequest.cc
 	src/model/GetTaskStatusResult.cc
+	src/model/GetTemplateRequest.cc
+	src/model/GetTemplateResult.cc
 	src/model/ListFaceGroupsRequest.cc
 	src/model/ListFaceGroupsResult.cc
 	src/model/ListFaceImagesRequest.cc
 	src/model/ListFaceImagesResult.cc
 	src/model/ListFacePersonsRequest.cc
 	src/model/ListFacePersonsResult.cc
+	src/model/ListTemplatesRequest.cc
+	src/model/ListTemplatesResult.cc
 	src/model/RegisterFaceImageRequest.cc
-	src/model/RegisterFaceImageResult.cc )
+	src/model/RegisterFaceImageResult.cc
+	src/model/UpdateTemplateRequest.cc
+	src/model/UpdateTemplateResult.cc )
 
 add_library(multimediaai ${LIB_TYPE}
 	${multimediaai_public_header}

+ 32 - 0
multimediaai/include/alibabacloud/multimediaai/MultimediaaiClient.h

@@ -32,6 +32,8 @@
 #include "model/CreateGifTaskResult.h"
 #include "model/CreateLabelTaskRequest.h"
 #include "model/CreateLabelTaskResult.h"
+#include "model/CreateTemplateRequest.h"
+#include "model/CreateTemplateResult.h"
 #include "model/DeleteFaceGroupRequest.h"
 #include "model/DeleteFaceGroupResult.h"
 #include "model/DeleteFaceImageRequest.h"
@@ -42,14 +44,20 @@
 #include "model/GetTaskResultResult.h"
 #include "model/GetTaskStatusRequest.h"
 #include "model/GetTaskStatusResult.h"
+#include "model/GetTemplateRequest.h"
+#include "model/GetTemplateResult.h"
 #include "model/ListFaceGroupsRequest.h"
 #include "model/ListFaceGroupsResult.h"
 #include "model/ListFaceImagesRequest.h"
 #include "model/ListFaceImagesResult.h"
 #include "model/ListFacePersonsRequest.h"
 #include "model/ListFacePersonsResult.h"
+#include "model/ListTemplatesRequest.h"
+#include "model/ListTemplatesResult.h"
 #include "model/RegisterFaceImageRequest.h"
 #include "model/RegisterFaceImageResult.h"
+#include "model/UpdateTemplateRequest.h"
+#include "model/UpdateTemplateResult.h"
 
 
 namespace AlibabaCloud
@@ -74,6 +82,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateLabelTaskResult> CreateLabelTaskOutcome;
 			typedef std::future<CreateLabelTaskOutcome> CreateLabelTaskOutcomeCallable;
 			typedef std::function<void(const MultimediaaiClient*, const Model::CreateLabelTaskRequest&, const CreateLabelTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLabelTaskAsyncHandler;
+			typedef Outcome<Error, Model::CreateTemplateResult> CreateTemplateOutcome;
+			typedef std::future<CreateTemplateOutcome> CreateTemplateOutcomeCallable;
+			typedef std::function<void(const MultimediaaiClient*, const Model::CreateTemplateRequest&, const CreateTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateTemplateAsyncHandler;
 			typedef Outcome<Error, Model::DeleteFaceGroupResult> DeleteFaceGroupOutcome;
 			typedef std::future<DeleteFaceGroupOutcome> DeleteFaceGroupOutcomeCallable;
 			typedef std::function<void(const MultimediaaiClient*, const Model::DeleteFaceGroupRequest&, const DeleteFaceGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFaceGroupAsyncHandler;
@@ -89,6 +100,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetTaskStatusResult> GetTaskStatusOutcome;
 			typedef std::future<GetTaskStatusOutcome> GetTaskStatusOutcomeCallable;
 			typedef std::function<void(const MultimediaaiClient*, const Model::GetTaskStatusRequest&, const GetTaskStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTaskStatusAsyncHandler;
+			typedef Outcome<Error, Model::GetTemplateResult> GetTemplateOutcome;
+			typedef std::future<GetTemplateOutcome> GetTemplateOutcomeCallable;
+			typedef std::function<void(const MultimediaaiClient*, const Model::GetTemplateRequest&, const GetTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTemplateAsyncHandler;
 			typedef Outcome<Error, Model::ListFaceGroupsResult> ListFaceGroupsOutcome;
 			typedef std::future<ListFaceGroupsOutcome> ListFaceGroupsOutcomeCallable;
 			typedef std::function<void(const MultimediaaiClient*, const Model::ListFaceGroupsRequest&, const ListFaceGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListFaceGroupsAsyncHandler;
@@ -98,9 +112,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListFacePersonsResult> ListFacePersonsOutcome;
 			typedef std::future<ListFacePersonsOutcome> ListFacePersonsOutcomeCallable;
 			typedef std::function<void(const MultimediaaiClient*, const Model::ListFacePersonsRequest&, const ListFacePersonsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListFacePersonsAsyncHandler;
+			typedef Outcome<Error, Model::ListTemplatesResult> ListTemplatesOutcome;
+			typedef std::future<ListTemplatesOutcome> ListTemplatesOutcomeCallable;
+			typedef std::function<void(const MultimediaaiClient*, const Model::ListTemplatesRequest&, const ListTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTemplatesAsyncHandler;
 			typedef Outcome<Error, Model::RegisterFaceImageResult> RegisterFaceImageOutcome;
 			typedef std::future<RegisterFaceImageOutcome> RegisterFaceImageOutcomeCallable;
 			typedef std::function<void(const MultimediaaiClient*, const Model::RegisterFaceImageRequest&, const RegisterFaceImageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RegisterFaceImageAsyncHandler;
+			typedef Outcome<Error, Model::UpdateTemplateResult> UpdateTemplateOutcome;
+			typedef std::future<UpdateTemplateOutcome> UpdateTemplateOutcomeCallable;
+			typedef std::function<void(const MultimediaaiClient*, const Model::UpdateTemplateRequest&, const UpdateTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateTemplateAsyncHandler;
 
 			MultimediaaiClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			MultimediaaiClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -121,6 +141,9 @@ namespace AlibabaCloud
 			CreateLabelTaskOutcome createLabelTask(const Model::CreateLabelTaskRequest &request)const;
 			void createLabelTaskAsync(const Model::CreateLabelTaskRequest& request, const CreateLabelTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateLabelTaskOutcomeCallable createLabelTaskCallable(const Model::CreateLabelTaskRequest& request) const;
+			CreateTemplateOutcome createTemplate(const Model::CreateTemplateRequest &request)const;
+			void createTemplateAsync(const Model::CreateTemplateRequest& request, const CreateTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateTemplateOutcomeCallable createTemplateCallable(const Model::CreateTemplateRequest& request) const;
 			DeleteFaceGroupOutcome deleteFaceGroup(const Model::DeleteFaceGroupRequest &request)const;
 			void deleteFaceGroupAsync(const Model::DeleteFaceGroupRequest& request, const DeleteFaceGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteFaceGroupOutcomeCallable deleteFaceGroupCallable(const Model::DeleteFaceGroupRequest& request) const;
@@ -136,6 +159,9 @@ namespace AlibabaCloud
 			GetTaskStatusOutcome getTaskStatus(const Model::GetTaskStatusRequest &request)const;
 			void getTaskStatusAsync(const Model::GetTaskStatusRequest& request, const GetTaskStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetTaskStatusOutcomeCallable getTaskStatusCallable(const Model::GetTaskStatusRequest& request) const;
+			GetTemplateOutcome getTemplate(const Model::GetTemplateRequest &request)const;
+			void getTemplateAsync(const Model::GetTemplateRequest& request, const GetTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetTemplateOutcomeCallable getTemplateCallable(const Model::GetTemplateRequest& request) const;
 			ListFaceGroupsOutcome listFaceGroups(const Model::ListFaceGroupsRequest &request)const;
 			void listFaceGroupsAsync(const Model::ListFaceGroupsRequest& request, const ListFaceGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListFaceGroupsOutcomeCallable listFaceGroupsCallable(const Model::ListFaceGroupsRequest& request) const;
@@ -145,9 +171,15 @@ namespace AlibabaCloud
 			ListFacePersonsOutcome listFacePersons(const Model::ListFacePersonsRequest &request)const;
 			void listFacePersonsAsync(const Model::ListFacePersonsRequest& request, const ListFacePersonsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListFacePersonsOutcomeCallable listFacePersonsCallable(const Model::ListFacePersonsRequest& request) const;
+			ListTemplatesOutcome listTemplates(const Model::ListTemplatesRequest &request)const;
+			void listTemplatesAsync(const Model::ListTemplatesRequest& request, const ListTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTemplatesOutcomeCallable listTemplatesCallable(const Model::ListTemplatesRequest& request) const;
 			RegisterFaceImageOutcome registerFaceImage(const Model::RegisterFaceImageRequest &request)const;
 			void registerFaceImageAsync(const Model::RegisterFaceImageRequest& request, const RegisterFaceImageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RegisterFaceImageOutcomeCallable registerFaceImageCallable(const Model::RegisterFaceImageRequest& request) const;
+			UpdateTemplateOutcome updateTemplate(const Model::UpdateTemplateRequest &request)const;
+			void updateTemplateAsync(const Model::UpdateTemplateRequest& request, const UpdateTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateTemplateOutcomeCallable updateTemplateCallable(const Model::UpdateTemplateRequest& request) const;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

+ 3 - 0
multimediaai/include/alibabacloud/multimediaai/model/CreateCoverTaskRequest.h

@@ -39,6 +39,8 @@ namespace AlibabaCloud
 				void setTemplateId(long templateId);
 				std::string getVideoUrl()const;
 				void setVideoUrl(const std::string& videoUrl);
+				std::string getScales()const;
+				void setScales(const std::string& scales);
 				std::string getVideoName()const;
 				void setVideoName(const std::string& videoName);
 				std::string getCallbackUrl()const;
@@ -49,6 +51,7 @@ namespace AlibabaCloud
             private:
 				long templateId_;
 				std::string videoUrl_;
+				std::string scales_;
 				std::string videoName_;
 				std::string callbackUrl_;
 				std::string applicationId_;

+ 3 - 0
multimediaai/include/alibabacloud/multimediaai/model/CreateGifTaskRequest.h

@@ -39,6 +39,8 @@ namespace AlibabaCloud
 				void setTemplateId(long templateId);
 				std::string getVideoUrl()const;
 				void setVideoUrl(const std::string& videoUrl);
+				std::string getScales()const;
+				void setScales(const std::string& scales);
 				std::string getVideoName()const;
 				void setVideoName(const std::string& videoName);
 				std::string getCallbackUrl()const;
@@ -49,6 +51,7 @@ namespace AlibabaCloud
             private:
 				long templateId_;
 				std::string videoUrl_;
+				std::string scales_;
 				std::string videoName_;
 				std::string callbackUrl_;
 				std::string applicationId_;

+ 57 - 0
multimediaai/include/alibabacloud/multimediaai/model/CreateTemplateRequest.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_MULTIMEDIAAI_MODEL_CREATETEMPLATEREQUEST_H_
+#define ALIBABACLOUD_MULTIMEDIAAI_MODEL_CREATETEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/multimediaai/MultimediaaiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Multimediaai
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_MULTIMEDIAAI_EXPORT CreateTemplateRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateTemplateRequest();
+				~CreateTemplateRequest();
+
+				int getType()const;
+				void setType(int type);
+				std::string getContent()const;
+				void setContent(const std::string& content);
+				std::string getTemplateName()const;
+				void setTemplateName(const std::string& templateName);
+				bool getIsDefault()const;
+				void setIsDefault(bool isDefault);
+
+            private:
+				int type_;
+				std::string content_;
+				std::string templateName_;
+				bool isDefault_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_MULTIMEDIAAI_MODEL_CREATETEMPLATEREQUEST_H_

+ 51 - 0
multimediaai/include/alibabacloud/multimediaai/model/CreateTemplateResult.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_MULTIMEDIAAI_MODEL_CREATETEMPLATERESULT_H_
+#define ALIBABACLOUD_MULTIMEDIAAI_MODEL_CREATETEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/multimediaai/MultimediaaiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Multimediaai
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_MULTIMEDIAAI_EXPORT CreateTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				CreateTemplateResult();
+				explicit CreateTemplateResult(const std::string &payload);
+				~CreateTemplateResult();
+				std::string getTemplateId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string templateId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_MULTIMEDIAAI_MODEL_CREATETEMPLATERESULT_H_

+ 48 - 0
multimediaai/include/alibabacloud/multimediaai/model/GetTemplateRequest.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_MULTIMEDIAAI_MODEL_GETTEMPLATEREQUEST_H_
+#define ALIBABACLOUD_MULTIMEDIAAI_MODEL_GETTEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/multimediaai/MultimediaaiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Multimediaai
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_MULTIMEDIAAI_EXPORT GetTemplateRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetTemplateRequest();
+				~GetTemplateRequest();
+
+				long getTemplateId()const;
+				void setTemplateId(long templateId);
+
+            private:
+				long templateId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_MULTIMEDIAAI_MODEL_GETTEMPLATEREQUEST_H_

+ 63 - 0
multimediaai/include/alibabacloud/multimediaai/model/GetTemplateResult.h

@@ -0,0 +1,63 @@
+/*
+ * 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_MULTIMEDIAAI_MODEL_GETTEMPLATERESULT_H_
+#define ALIBABACLOUD_MULTIMEDIAAI_MODEL_GETTEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/multimediaai/MultimediaaiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Multimediaai
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_MULTIMEDIAAI_EXPORT GetTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				GetTemplateResult();
+				explicit GetTemplateResult(const std::string &payload);
+				~GetTemplateResult();
+				bool getIsDefault()const;
+				int getCategory()const;
+				std::string getContent()const;
+				std::string getCreateTime()const;
+				std::string getUpdateTime()const;
+				std::string getTemplateName()const;
+				std::string getTemplateId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool isDefault_;
+				int category_;
+				std::string content_;
+				std::string createTime_;
+				std::string updateTime_;
+				std::string templateName_;
+				std::string templateId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_MULTIMEDIAAI_MODEL_GETTEMPLATERESULT_H_

+ 60 - 0
multimediaai/include/alibabacloud/multimediaai/model/ListTemplatesRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_MULTIMEDIAAI_MODEL_LISTTEMPLATESREQUEST_H_
+#define ALIBABACLOUD_MULTIMEDIAAI_MODEL_LISTTEMPLATESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/multimediaai/MultimediaaiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Multimediaai
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_MULTIMEDIAAI_EXPORT ListTemplatesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListTemplatesRequest();
+				~ListTemplatesRequest();
+
+				long getTemplateId()const;
+				void setTemplateId(long templateId);
+				int getType()const;
+				void setType(int type);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getTemplateName()const;
+				void setTemplateName(const std::string& templateName);
+
+            private:
+				long templateId_;
+				int type_;
+				int pageNumber_;
+				int pageSize_;
+				std::string templateName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_MULTIMEDIAAI_MODEL_LISTTEMPLATESREQUEST_H_

+ 68 - 0
multimediaai/include/alibabacloud/multimediaai/model/ListTemplatesResult.h

@@ -0,0 +1,68 @@
+/*
+ * 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_MULTIMEDIAAI_MODEL_LISTTEMPLATESRESULT_H_
+#define ALIBABACLOUD_MULTIMEDIAAI_MODEL_LISTTEMPLATESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/multimediaai/MultimediaaiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Multimediaai
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_MULTIMEDIAAI_EXPORT ListTemplatesResult : public ServiceResult
+			{
+			public:
+				struct _Template
+				{
+					bool isDefault;
+					int type;
+					std::string createTime;
+					std::string updateTime;
+					std::string templateName;
+					std::string templateId;
+				};
+
+
+				ListTemplatesResult();
+				explicit ListTemplatesResult(const std::string &payload);
+				~ListTemplatesResult();
+				long getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<_Template> getTemplates()const;
+				long getTotalAmount()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<_Template> templates_;
+				long totalAmount_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_MULTIMEDIAAI_MODEL_LISTTEMPLATESRESULT_H_

+ 6 - 0
multimediaai/include/alibabacloud/multimediaai/model/RegisterFaceImageResult.h

@@ -32,15 +32,21 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_MULTIMEDIAAI_EXPORT RegisterFaceImageResult : public ServiceResult
 			{
 			public:
+				struct FaceImage
+				{
+					long faceImageId;
+				};
 
 
 				RegisterFaceImageResult();
 				explicit RegisterFaceImageResult(const std::string &payload);
 				~RegisterFaceImageResult();
+				std::vector<FaceImage> getFaceImages()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::vector<FaceImage> faceImages_;
 
 			};
 		}

+ 60 - 0
multimediaai/include/alibabacloud/multimediaai/model/UpdateTemplateRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_MULTIMEDIAAI_MODEL_UPDATETEMPLATEREQUEST_H_
+#define ALIBABACLOUD_MULTIMEDIAAI_MODEL_UPDATETEMPLATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/multimediaai/MultimediaaiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Multimediaai
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_MULTIMEDIAAI_EXPORT UpdateTemplateRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateTemplateRequest();
+				~UpdateTemplateRequest();
+
+				std::string getTemplateId()const;
+				void setTemplateId(const std::string& templateId);
+				int getType()const;
+				void setType(int type);
+				std::string getContent()const;
+				void setContent(const std::string& content);
+				std::string getTemplateName()const;
+				void setTemplateName(const std::string& templateName);
+				bool getIsDefault()const;
+				void setIsDefault(bool isDefault);
+
+            private:
+				std::string templateId_;
+				int type_;
+				std::string content_;
+				std::string templateName_;
+				bool isDefault_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_MULTIMEDIAAI_MODEL_UPDATETEMPLATEREQUEST_H_

+ 49 - 0
multimediaai/include/alibabacloud/multimediaai/model/UpdateTemplateResult.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_MULTIMEDIAAI_MODEL_UPDATETEMPLATERESULT_H_
+#define ALIBABACLOUD_MULTIMEDIAAI_MODEL_UPDATETEMPLATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/multimediaai/MultimediaaiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Multimediaai
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_MULTIMEDIAAI_EXPORT UpdateTemplateResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateTemplateResult();
+				explicit UpdateTemplateResult(const std::string &payload);
+				~UpdateTemplateResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_MULTIMEDIAAI_MODEL_UPDATETEMPLATERESULT_H_

+ 144 - 0
multimediaai/src/MultimediaaiClient.cc

@@ -231,6 +231,42 @@ MultimediaaiClient::CreateLabelTaskOutcomeCallable MultimediaaiClient::createLab
 	return task->get_future();
 }
 
+MultimediaaiClient::CreateTemplateOutcome MultimediaaiClient::createTemplate(const CreateTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateTemplateOutcome(CreateTemplateResult(outcome.result()));
+	else
+		return CreateTemplateOutcome(outcome.error());
+}
+
+void MultimediaaiClient::createTemplateAsync(const CreateTemplateRequest& request, const CreateTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+MultimediaaiClient::CreateTemplateOutcomeCallable MultimediaaiClient::createTemplateCallable(const CreateTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->createTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 MultimediaaiClient::DeleteFaceGroupOutcome MultimediaaiClient::deleteFaceGroup(const DeleteFaceGroupRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -411,6 +447,42 @@ MultimediaaiClient::GetTaskStatusOutcomeCallable MultimediaaiClient::getTaskStat
 	return task->get_future();
 }
 
+MultimediaaiClient::GetTemplateOutcome MultimediaaiClient::getTemplate(const GetTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetTemplateOutcome(GetTemplateResult(outcome.result()));
+	else
+		return GetTemplateOutcome(outcome.error());
+}
+
+void MultimediaaiClient::getTemplateAsync(const GetTemplateRequest& request, const GetTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+MultimediaaiClient::GetTemplateOutcomeCallable MultimediaaiClient::getTemplateCallable(const GetTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->getTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 MultimediaaiClient::ListFaceGroupsOutcome MultimediaaiClient::listFaceGroups(const ListFaceGroupsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -519,6 +591,42 @@ MultimediaaiClient::ListFacePersonsOutcomeCallable MultimediaaiClient::listFaceP
 	return task->get_future();
 }
 
+MultimediaaiClient::ListTemplatesOutcome MultimediaaiClient::listTemplates(const ListTemplatesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListTemplatesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListTemplatesOutcome(ListTemplatesResult(outcome.result()));
+	else
+		return ListTemplatesOutcome(outcome.error());
+}
+
+void MultimediaaiClient::listTemplatesAsync(const ListTemplatesRequest& request, const ListTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listTemplates(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+MultimediaaiClient::ListTemplatesOutcomeCallable MultimediaaiClient::listTemplatesCallable(const ListTemplatesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListTemplatesOutcome()>>(
+			[this, request]()
+			{
+			return this->listTemplates(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 MultimediaaiClient::RegisterFaceImageOutcome MultimediaaiClient::registerFaceImage(const RegisterFaceImageRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -555,3 +663,39 @@ MultimediaaiClient::RegisterFaceImageOutcomeCallable MultimediaaiClient::registe
 	return task->get_future();
 }
 
+MultimediaaiClient::UpdateTemplateOutcome MultimediaaiClient::updateTemplate(const UpdateTemplateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateTemplateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateTemplateOutcome(UpdateTemplateResult(outcome.result()));
+	else
+		return UpdateTemplateOutcome(outcome.error());
+}
+
+void MultimediaaiClient::updateTemplateAsync(const UpdateTemplateRequest& request, const UpdateTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateTemplate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+MultimediaaiClient::UpdateTemplateOutcomeCallable MultimediaaiClient::updateTemplateCallable(const UpdateTemplateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateTemplateOutcome()>>(
+			[this, request]()
+			{
+			return this->updateTemplate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 11 - 0
multimediaai/src/model/CreateCoverTaskRequest.cc

@@ -49,6 +49,17 @@ void CreateCoverTaskRequest::setVideoUrl(const std::string& videoUrl)
 	setParameter("VideoUrl", videoUrl);
 }
 
+std::string CreateCoverTaskRequest::getScales()const
+{
+	return scales_;
+}
+
+void CreateCoverTaskRequest::setScales(const std::string& scales)
+{
+	scales_ = scales;
+	setBodyParameter("Scales", scales);
+}
+
 std::string CreateCoverTaskRequest::getVideoName()const
 {
 	return videoName_;

+ 11 - 0
multimediaai/src/model/CreateGifTaskRequest.cc

@@ -49,6 +49,17 @@ void CreateGifTaskRequest::setVideoUrl(const std::string& videoUrl)
 	setParameter("VideoUrl", videoUrl);
 }
 
+std::string CreateGifTaskRequest::getScales()const
+{
+	return scales_;
+}
+
+void CreateGifTaskRequest::setScales(const std::string& scales)
+{
+	scales_ = scales;
+	setBodyParameter("Scales", scales);
+}
+
 std::string CreateGifTaskRequest::getVideoName()const
 {
 	return videoName_;

+ 73 - 0
multimediaai/src/model/CreateTemplateRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/multimediaai/model/CreateTemplateRequest.h>
+
+using AlibabaCloud::Multimediaai::Model::CreateTemplateRequest;
+
+CreateTemplateRequest::CreateTemplateRequest() :
+	RpcServiceRequest("multimediaai", "2019-08-10", "CreateTemplate")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateTemplateRequest::~CreateTemplateRequest()
+{}
+
+int CreateTemplateRequest::getType()const
+{
+	return type_;
+}
+
+void CreateTemplateRequest::setType(int type)
+{
+	type_ = type;
+	setParameter("Type", std::to_string(type));
+}
+
+std::string CreateTemplateRequest::getContent()const
+{
+	return content_;
+}
+
+void CreateTemplateRequest::setContent(const std::string& content)
+{
+	content_ = content;
+	setParameter("Content", content);
+}
+
+std::string CreateTemplateRequest::getTemplateName()const
+{
+	return templateName_;
+}
+
+void CreateTemplateRequest::setTemplateName(const std::string& templateName)
+{
+	templateName_ = templateName;
+	setParameter("TemplateName", templateName);
+}
+
+bool CreateTemplateRequest::getIsDefault()const
+{
+	return isDefault_;
+}
+
+void CreateTemplateRequest::setIsDefault(bool isDefault)
+{
+	isDefault_ = isDefault;
+	setParameter("IsDefault", isDefault ? "true" : "false");
+}
+

+ 51 - 0
multimediaai/src/model/CreateTemplateResult.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 <alibabacloud/multimediaai/model/CreateTemplateResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Multimediaai;
+using namespace AlibabaCloud::Multimediaai::Model;
+
+CreateTemplateResult::CreateTemplateResult() :
+	ServiceResult()
+{}
+
+CreateTemplateResult::CreateTemplateResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateTemplateResult::~CreateTemplateResult()
+{}
+
+void CreateTemplateResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["TemplateId"].isNull())
+		templateId_ = value["TemplateId"].asString();
+
+}
+
+std::string CreateTemplateResult::getTemplateId()const
+{
+	return templateId_;
+}
+

+ 40 - 0
multimediaai/src/model/GetTemplateRequest.cc

@@ -0,0 +1,40 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/multimediaai/model/GetTemplateRequest.h>
+
+using AlibabaCloud::Multimediaai::Model::GetTemplateRequest;
+
+GetTemplateRequest::GetTemplateRequest() :
+	RpcServiceRequest("multimediaai", "2019-08-10", "GetTemplate")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetTemplateRequest::~GetTemplateRequest()
+{}
+
+long GetTemplateRequest::getTemplateId()const
+{
+	return templateId_;
+}
+
+void GetTemplateRequest::setTemplateId(long templateId)
+{
+	templateId_ = templateId;
+	setParameter("TemplateId", std::to_string(templateId));
+}
+

+ 93 - 0
multimediaai/src/model/GetTemplateResult.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/multimediaai/model/GetTemplateResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Multimediaai;
+using namespace AlibabaCloud::Multimediaai::Model;
+
+GetTemplateResult::GetTemplateResult() :
+	ServiceResult()
+{}
+
+GetTemplateResult::GetTemplateResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetTemplateResult::~GetTemplateResult()
+{}
+
+void GetTemplateResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["TemplateId"].isNull())
+		templateId_ = value["TemplateId"].asString();
+	if(!value["TemplateName"].isNull())
+		templateName_ = value["TemplateName"].asString();
+	if(!value["Content"].isNull())
+		content_ = value["Content"].asString();
+	if(!value["Category"].isNull())
+		category_ = std::stoi(value["Category"].asString());
+	if(!value["IsDefault"].isNull())
+		isDefault_ = value["IsDefault"].asString() == "true";
+	if(!value["CreateTime"].isNull())
+		createTime_ = value["CreateTime"].asString();
+	if(!value["UpdateTime"].isNull())
+		updateTime_ = value["UpdateTime"].asString();
+
+}
+
+bool GetTemplateResult::getIsDefault()const
+{
+	return isDefault_;
+}
+
+int GetTemplateResult::getCategory()const
+{
+	return category_;
+}
+
+std::string GetTemplateResult::getContent()const
+{
+	return content_;
+}
+
+std::string GetTemplateResult::getCreateTime()const
+{
+	return createTime_;
+}
+
+std::string GetTemplateResult::getUpdateTime()const
+{
+	return updateTime_;
+}
+
+std::string GetTemplateResult::getTemplateName()const
+{
+	return templateName_;
+}
+
+std::string GetTemplateResult::getTemplateId()const
+{
+	return templateId_;
+}
+

+ 84 - 0
multimediaai/src/model/ListTemplatesRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/multimediaai/model/ListTemplatesRequest.h>
+
+using AlibabaCloud::Multimediaai::Model::ListTemplatesRequest;
+
+ListTemplatesRequest::ListTemplatesRequest() :
+	RpcServiceRequest("multimediaai", "2019-08-10", "ListTemplates")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListTemplatesRequest::~ListTemplatesRequest()
+{}
+
+long ListTemplatesRequest::getTemplateId()const
+{
+	return templateId_;
+}
+
+void ListTemplatesRequest::setTemplateId(long templateId)
+{
+	templateId_ = templateId;
+	setParameter("TemplateId", std::to_string(templateId));
+}
+
+int ListTemplatesRequest::getType()const
+{
+	return type_;
+}
+
+void ListTemplatesRequest::setType(int type)
+{
+	type_ = type;
+	setParameter("Type", std::to_string(type));
+}
+
+int ListTemplatesRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListTemplatesRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+int ListTemplatesRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListTemplatesRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string ListTemplatesRequest::getTemplateName()const
+{
+	return templateName_;
+}
+
+void ListTemplatesRequest::setTemplateName(const std::string& templateName)
+{
+	templateName_ = templateName;
+	setParameter("TemplateName", templateName);
+}
+

+ 95 - 0
multimediaai/src/model/ListTemplatesResult.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/multimediaai/model/ListTemplatesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Multimediaai;
+using namespace AlibabaCloud::Multimediaai::Model;
+
+ListTemplatesResult::ListTemplatesResult() :
+	ServiceResult()
+{}
+
+ListTemplatesResult::ListTemplatesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListTemplatesResult::~ListTemplatesResult()
+{}
+
+void ListTemplatesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTemplatesNode = value["Templates"]["Template"];
+	for (auto valueTemplatesTemplate : allTemplatesNode)
+	{
+		_Template templatesObject;
+		if(!valueTemplatesTemplate["TemplateId"].isNull())
+			templatesObject.templateId = valueTemplatesTemplate["TemplateId"].asString();
+		if(!valueTemplatesTemplate["TemplateName"].isNull())
+			templatesObject.templateName = valueTemplatesTemplate["TemplateName"].asString();
+		if(!valueTemplatesTemplate["Type"].isNull())
+			templatesObject.type = std::stoi(valueTemplatesTemplate["Type"].asString());
+		if(!valueTemplatesTemplate["IsDefault"].isNull())
+			templatesObject.isDefault = valueTemplatesTemplate["IsDefault"].asString() == "true";
+		if(!valueTemplatesTemplate["CreateTime"].isNull())
+			templatesObject.createTime = valueTemplatesTemplate["CreateTime"].asString();
+		if(!valueTemplatesTemplate["UpdateTime"].isNull())
+			templatesObject.updateTime = valueTemplatesTemplate["UpdateTime"].asString();
+		templates_.push_back(templatesObject);
+	}
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stol(value["TotalCount"].asString());
+	if(!value["TotalAmount"].isNull())
+		totalAmount_ = std::stol(value["TotalAmount"].asString());
+
+}
+
+long ListTemplatesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int ListTemplatesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListTemplatesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListTemplatesResult::_Template> ListTemplatesResult::getTemplates()const
+{
+	return templates_;
+}
+
+long ListTemplatesResult::getTotalAmount()const
+{
+	return totalAmount_;
+}
+

+ 13 - 0
multimediaai/src/model/RegisterFaceImageResult.cc

@@ -39,6 +39,19 @@ void RegisterFaceImageResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
+	auto allFaceImagesNode = value["FaceImages"]["FaceImage"];
+	for (auto valueFaceImagesFaceImage : allFaceImagesNode)
+	{
+		FaceImage faceImagesObject;
+		if(!valueFaceImagesFaceImage["FaceImageId"].isNull())
+			faceImagesObject.faceImageId = std::stol(valueFaceImagesFaceImage["FaceImageId"].asString());
+		faceImages_.push_back(faceImagesObject);
+	}
 
 }
 
+std::vector<RegisterFaceImageResult::FaceImage> RegisterFaceImageResult::getFaceImages()const
+{
+	return faceImages_;
+}
+

+ 84 - 0
multimediaai/src/model/UpdateTemplateRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/multimediaai/model/UpdateTemplateRequest.h>
+
+using AlibabaCloud::Multimediaai::Model::UpdateTemplateRequest;
+
+UpdateTemplateRequest::UpdateTemplateRequest() :
+	RpcServiceRequest("multimediaai", "2019-08-10", "UpdateTemplate")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateTemplateRequest::~UpdateTemplateRequest()
+{}
+
+std::string UpdateTemplateRequest::getTemplateId()const
+{
+	return templateId_;
+}
+
+void UpdateTemplateRequest::setTemplateId(const std::string& templateId)
+{
+	templateId_ = templateId;
+	setParameter("TemplateId", templateId);
+}
+
+int UpdateTemplateRequest::getType()const
+{
+	return type_;
+}
+
+void UpdateTemplateRequest::setType(int type)
+{
+	type_ = type;
+	setParameter("Type", std::to_string(type));
+}
+
+std::string UpdateTemplateRequest::getContent()const
+{
+	return content_;
+}
+
+void UpdateTemplateRequest::setContent(const std::string& content)
+{
+	content_ = content;
+	setParameter("Content", content);
+}
+
+std::string UpdateTemplateRequest::getTemplateName()const
+{
+	return templateName_;
+}
+
+void UpdateTemplateRequest::setTemplateName(const std::string& templateName)
+{
+	templateName_ = templateName;
+	setParameter("TemplateName", templateName);
+}
+
+bool UpdateTemplateRequest::getIsDefault()const
+{
+	return isDefault_;
+}
+
+void UpdateTemplateRequest::setIsDefault(bool isDefault)
+{
+	isDefault_ = isDefault;
+	setParameter("IsDefault", isDefault ? "true" : "false");
+}
+

+ 44 - 0
multimediaai/src/model/UpdateTemplateResult.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 <alibabacloud/multimediaai/model/UpdateTemplateResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Multimediaai;
+using namespace AlibabaCloud::Multimediaai::Model;
+
+UpdateTemplateResult::UpdateTemplateResult() :
+	ServiceResult()
+{}
+
+UpdateTemplateResult::UpdateTemplateResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateTemplateResult::~UpdateTemplateResult()
+{}
+
+void UpdateTemplateResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+