sdk-team 3 anni fa
parent
commit
25cf7939ec

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1573
+1.36.1574

+ 16 - 0
live/CMakeLists.txt

@@ -105,6 +105,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/CreateCasterResult.h
 	include/alibabacloud/live/model/CreateCustomTemplateRequest.h
 	include/alibabacloud/live/model/CreateCustomTemplateResult.h
+	include/alibabacloud/live/model/CreateEventSubRequest.h
+	include/alibabacloud/live/model/CreateEventSubResult.h
 	include/alibabacloud/live/model/CreateLiveDelayConfigRequest.h
 	include/alibabacloud/live/model/CreateLiveDelayConfigResult.h
 	include/alibabacloud/live/model/CreateLiveRealTimeLogDeliveryRequest.h
@@ -139,6 +141,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DeleteCasterVideoResourceResult.h
 	include/alibabacloud/live/model/DeleteCustomTemplateRequest.h
 	include/alibabacloud/live/model/DeleteCustomTemplateResult.h
+	include/alibabacloud/live/model/DeleteEventSubRequest.h
+	include/alibabacloud/live/model/DeleteEventSubResult.h
 	include/alibabacloud/live/model/DeleteLiveAppRecordConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveAppRecordConfigResult.h
 	include/alibabacloud/live/model/DeleteLiveAppSnapshotConfigRequest.h
@@ -233,6 +237,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeCasterVideoResourcesResult.h
 	include/alibabacloud/live/model/DescribeCastersRequest.h
 	include/alibabacloud/live/model/DescribeCastersResult.h
+	include/alibabacloud/live/model/DescribeChannelParticipantsRequest.h
+	include/alibabacloud/live/model/DescribeChannelParticipantsResult.h
 	include/alibabacloud/live/model/DescribeDomainUsageDataRequest.h
 	include/alibabacloud/live/model/DescribeDomainUsageDataResult.h
 	include/alibabacloud/live/model/DescribeDomainWithIntegrityRequest.h
@@ -535,6 +541,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/RealTimeSnapshotCommandResult.h
 	include/alibabacloud/live/model/RemoveShowFromShowListRequest.h
 	include/alibabacloud/live/model/RemoveShowFromShowListResult.h
+	include/alibabacloud/live/model/RemoveTerminalsRequest.h
+	include/alibabacloud/live/model/RemoveTerminalsResult.h
 	include/alibabacloud/live/model/RestartCasterRequest.h
 	include/alibabacloud/live/model/RestartCasterResult.h
 	include/alibabacloud/live/model/ResumeLiveStreamRequest.h
@@ -730,6 +738,8 @@ set(live_src
 	src/model/CreateCasterResult.cc
 	src/model/CreateCustomTemplateRequest.cc
 	src/model/CreateCustomTemplateResult.cc
+	src/model/CreateEventSubRequest.cc
+	src/model/CreateEventSubResult.cc
 	src/model/CreateLiveDelayConfigRequest.cc
 	src/model/CreateLiveDelayConfigResult.cc
 	src/model/CreateLiveRealTimeLogDeliveryRequest.cc
@@ -764,6 +774,8 @@ set(live_src
 	src/model/DeleteCasterVideoResourceResult.cc
 	src/model/DeleteCustomTemplateRequest.cc
 	src/model/DeleteCustomTemplateResult.cc
+	src/model/DeleteEventSubRequest.cc
+	src/model/DeleteEventSubResult.cc
 	src/model/DeleteLiveAppRecordConfigRequest.cc
 	src/model/DeleteLiveAppRecordConfigResult.cc
 	src/model/DeleteLiveAppSnapshotConfigRequest.cc
@@ -858,6 +870,8 @@ set(live_src
 	src/model/DescribeCasterVideoResourcesResult.cc
 	src/model/DescribeCastersRequest.cc
 	src/model/DescribeCastersResult.cc
+	src/model/DescribeChannelParticipantsRequest.cc
+	src/model/DescribeChannelParticipantsResult.cc
 	src/model/DescribeDomainUsageDataRequest.cc
 	src/model/DescribeDomainUsageDataResult.cc
 	src/model/DescribeDomainWithIntegrityRequest.cc
@@ -1160,6 +1174,8 @@ set(live_src
 	src/model/RealTimeSnapshotCommandResult.cc
 	src/model/RemoveShowFromShowListRequest.cc
 	src/model/RemoveShowFromShowListResult.cc
+	src/model/RemoveTerminalsRequest.cc
+	src/model/RemoveTerminalsResult.cc
 	src/model/RestartCasterRequest.cc
 	src/model/RestartCasterResult.cc
 	src/model/ResumeLiveStreamRequest.cc

+ 32 - 0
live/include/alibabacloud/live/LiveClient.h

@@ -106,6 +106,8 @@
 #include "model/CreateCasterResult.h"
 #include "model/CreateCustomTemplateRequest.h"
 #include "model/CreateCustomTemplateResult.h"
+#include "model/CreateEventSubRequest.h"
+#include "model/CreateEventSubResult.h"
 #include "model/CreateLiveDelayConfigRequest.h"
 #include "model/CreateLiveDelayConfigResult.h"
 #include "model/CreateLiveRealTimeLogDeliveryRequest.h"
@@ -140,6 +142,8 @@
 #include "model/DeleteCasterVideoResourceResult.h"
 #include "model/DeleteCustomTemplateRequest.h"
 #include "model/DeleteCustomTemplateResult.h"
+#include "model/DeleteEventSubRequest.h"
+#include "model/DeleteEventSubResult.h"
 #include "model/DeleteLiveAppRecordConfigRequest.h"
 #include "model/DeleteLiveAppRecordConfigResult.h"
 #include "model/DeleteLiveAppSnapshotConfigRequest.h"
@@ -234,6 +238,8 @@
 #include "model/DescribeCasterVideoResourcesResult.h"
 #include "model/DescribeCastersRequest.h"
 #include "model/DescribeCastersResult.h"
+#include "model/DescribeChannelParticipantsRequest.h"
+#include "model/DescribeChannelParticipantsResult.h"
 #include "model/DescribeDomainUsageDataRequest.h"
 #include "model/DescribeDomainUsageDataResult.h"
 #include "model/DescribeDomainWithIntegrityRequest.h"
@@ -536,6 +542,8 @@
 #include "model/RealTimeSnapshotCommandResult.h"
 #include "model/RemoveShowFromShowListRequest.h"
 #include "model/RemoveShowFromShowListResult.h"
+#include "model/RemoveTerminalsRequest.h"
+#include "model/RemoveTerminalsResult.h"
 #include "model/RestartCasterRequest.h"
 #include "model/RestartCasterResult.h"
 #include "model/ResumeLiveStreamRequest.h"
@@ -779,6 +787,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateCustomTemplateResult> CreateCustomTemplateOutcome;
 			typedef std::future<CreateCustomTemplateOutcome> CreateCustomTemplateOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateCustomTemplateRequest&, const CreateCustomTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateCustomTemplateAsyncHandler;
+			typedef Outcome<Error, Model::CreateEventSubResult> CreateEventSubOutcome;
+			typedef std::future<CreateEventSubOutcome> CreateEventSubOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::CreateEventSubRequest&, const CreateEventSubOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateEventSubAsyncHandler;
 			typedef Outcome<Error, Model::CreateLiveDelayConfigResult> CreateLiveDelayConfigOutcome;
 			typedef std::future<CreateLiveDelayConfigOutcome> CreateLiveDelayConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateLiveDelayConfigRequest&, const CreateLiveDelayConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLiveDelayConfigAsyncHandler;
@@ -830,6 +841,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteCustomTemplateResult> DeleteCustomTemplateOutcome;
 			typedef std::future<DeleteCustomTemplateOutcome> DeleteCustomTemplateOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteCustomTemplateRequest&, const DeleteCustomTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteCustomTemplateAsyncHandler;
+			typedef Outcome<Error, Model::DeleteEventSubResult> DeleteEventSubOutcome;
+			typedef std::future<DeleteEventSubOutcome> DeleteEventSubOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DeleteEventSubRequest&, const DeleteEventSubOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteEventSubAsyncHandler;
 			typedef Outcome<Error, Model::DeleteLiveAppRecordConfigResult> DeleteLiveAppRecordConfigOutcome;
 			typedef std::future<DeleteLiveAppRecordConfigOutcome> DeleteLiveAppRecordConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveAppRecordConfigRequest&, const DeleteLiveAppRecordConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveAppRecordConfigAsyncHandler;
@@ -971,6 +985,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeCastersResult> DescribeCastersOutcome;
 			typedef std::future<DescribeCastersOutcome> DescribeCastersOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeCastersRequest&, const DescribeCastersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCastersAsyncHandler;
+			typedef Outcome<Error, Model::DescribeChannelParticipantsResult> DescribeChannelParticipantsOutcome;
+			typedef std::future<DescribeChannelParticipantsOutcome> DescribeChannelParticipantsOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeChannelParticipantsRequest&, const DescribeChannelParticipantsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeChannelParticipantsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeDomainUsageDataResult> DescribeDomainUsageDataOutcome;
 			typedef std::future<DescribeDomainUsageDataOutcome> DescribeDomainUsageDataOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeDomainUsageDataRequest&, const DescribeDomainUsageDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDomainUsageDataAsyncHandler;
@@ -1424,6 +1441,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::RemoveShowFromShowListResult> RemoveShowFromShowListOutcome;
 			typedef std::future<RemoveShowFromShowListOutcome> RemoveShowFromShowListOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::RemoveShowFromShowListRequest&, const RemoveShowFromShowListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveShowFromShowListAsyncHandler;
+			typedef Outcome<Error, Model::RemoveTerminalsResult> RemoveTerminalsOutcome;
+			typedef std::future<RemoveTerminalsOutcome> RemoveTerminalsOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::RemoveTerminalsRequest&, const RemoveTerminalsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveTerminalsAsyncHandler;
 			typedef Outcome<Error, Model::RestartCasterResult> RestartCasterOutcome;
 			typedef std::future<RestartCasterOutcome> RestartCasterOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::RestartCasterRequest&, const RestartCasterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RestartCasterAsyncHandler;
@@ -1717,6 +1737,9 @@ namespace AlibabaCloud
 			CreateCustomTemplateOutcome createCustomTemplate(const Model::CreateCustomTemplateRequest &request)const;
 			void createCustomTemplateAsync(const Model::CreateCustomTemplateRequest& request, const CreateCustomTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateCustomTemplateOutcomeCallable createCustomTemplateCallable(const Model::CreateCustomTemplateRequest& request) const;
+			CreateEventSubOutcome createEventSub(const Model::CreateEventSubRequest &request)const;
+			void createEventSubAsync(const Model::CreateEventSubRequest& request, const CreateEventSubAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateEventSubOutcomeCallable createEventSubCallable(const Model::CreateEventSubRequest& request) const;
 			CreateLiveDelayConfigOutcome createLiveDelayConfig(const Model::CreateLiveDelayConfigRequest &request)const;
 			void createLiveDelayConfigAsync(const Model::CreateLiveDelayConfigRequest& request, const CreateLiveDelayConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateLiveDelayConfigOutcomeCallable createLiveDelayConfigCallable(const Model::CreateLiveDelayConfigRequest& request) const;
@@ -1768,6 +1791,9 @@ namespace AlibabaCloud
 			DeleteCustomTemplateOutcome deleteCustomTemplate(const Model::DeleteCustomTemplateRequest &request)const;
 			void deleteCustomTemplateAsync(const Model::DeleteCustomTemplateRequest& request, const DeleteCustomTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteCustomTemplateOutcomeCallable deleteCustomTemplateCallable(const Model::DeleteCustomTemplateRequest& request) const;
+			DeleteEventSubOutcome deleteEventSub(const Model::DeleteEventSubRequest &request)const;
+			void deleteEventSubAsync(const Model::DeleteEventSubRequest& request, const DeleteEventSubAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteEventSubOutcomeCallable deleteEventSubCallable(const Model::DeleteEventSubRequest& request) const;
 			DeleteLiveAppRecordConfigOutcome deleteLiveAppRecordConfig(const Model::DeleteLiveAppRecordConfigRequest &request)const;
 			void deleteLiveAppRecordConfigAsync(const Model::DeleteLiveAppRecordConfigRequest& request, const DeleteLiveAppRecordConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveAppRecordConfigOutcomeCallable deleteLiveAppRecordConfigCallable(const Model::DeleteLiveAppRecordConfigRequest& request) const;
@@ -1909,6 +1935,9 @@ namespace AlibabaCloud
 			DescribeCastersOutcome describeCasters(const Model::DescribeCastersRequest &request)const;
 			void describeCastersAsync(const Model::DescribeCastersRequest& request, const DescribeCastersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeCastersOutcomeCallable describeCastersCallable(const Model::DescribeCastersRequest& request) const;
+			DescribeChannelParticipantsOutcome describeChannelParticipants(const Model::DescribeChannelParticipantsRequest &request)const;
+			void describeChannelParticipantsAsync(const Model::DescribeChannelParticipantsRequest& request, const DescribeChannelParticipantsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeChannelParticipantsOutcomeCallable describeChannelParticipantsCallable(const Model::DescribeChannelParticipantsRequest& request) const;
 			DescribeDomainUsageDataOutcome describeDomainUsageData(const Model::DescribeDomainUsageDataRequest &request)const;
 			void describeDomainUsageDataAsync(const Model::DescribeDomainUsageDataRequest& request, const DescribeDomainUsageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDomainUsageDataOutcomeCallable describeDomainUsageDataCallable(const Model::DescribeDomainUsageDataRequest& request) const;
@@ -2362,6 +2391,9 @@ namespace AlibabaCloud
 			RemoveShowFromShowListOutcome removeShowFromShowList(const Model::RemoveShowFromShowListRequest &request)const;
 			void removeShowFromShowListAsync(const Model::RemoveShowFromShowListRequest& request, const RemoveShowFromShowListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RemoveShowFromShowListOutcomeCallable removeShowFromShowListCallable(const Model::RemoveShowFromShowListRequest& request) const;
+			RemoveTerminalsOutcome removeTerminals(const Model::RemoveTerminalsRequest &request)const;
+			void removeTerminalsAsync(const Model::RemoveTerminalsRequest& request, const RemoveTerminalsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RemoveTerminalsOutcomeCallable removeTerminalsCallable(const Model::RemoveTerminalsRequest& request) const;
 			RestartCasterOutcome restartCaster(const Model::RestartCasterRequest &request)const;
 			void restartCasterAsync(const Model::RestartCasterRequest& request, const RestartCasterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RestartCasterOutcomeCallable restartCasterCallable(const Model::RestartCasterRequest& request) const;

+ 60 - 0
live/include/alibabacloud/live/model/CreateEventSubRequest.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_LIVE_MODEL_CREATEEVENTSUBREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_CREATEEVENTSUBREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT CreateEventSubRequest : public RpcServiceRequest {
+public:
+	CreateEventSubRequest();
+	~CreateEventSubRequest();
+	int getRole() const;
+	void setRole(int role);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::vector<std::string> getUsers() const;
+	void setUsers(const std::vector<std::string> &users);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+	std::string getCallbackUrl() const;
+	void setCallbackUrl(const std::string &callbackUrl);
+	std::string getChannelId() const;
+	void setChannelId(const std::string &channelId);
+	std::vector<std::string> getEvents() const;
+	void setEvents(const std::vector<std::string> &events);
+
+private:
+	int role_;
+	std::string clientToken_;
+	std::vector<std::string> users_;
+	std::string appId_;
+	std::string callbackUrl_;
+	std::string channelId_;
+	std::vector<std::string> events_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_CREATEEVENTSUBREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/CreateEventSubResult.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_LIVE_MODEL_CREATEEVENTSUBRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_CREATEEVENTSUBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT CreateEventSubResult : public ServiceResult
+			{
+			public:
+
+
+				CreateEventSubResult();
+				explicit CreateEventSubResult(const std::string &payload);
+				~CreateEventSubResult();
+				std::string getSubscribeId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string subscribeId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_CREATEEVENTSUBRESULT_H_

+ 45 - 0
live/include/alibabacloud/live/model/DeleteEventSubRequest.h

@@ -0,0 +1,45 @@
+/*
+ * 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_LIVE_MODEL_DELETEEVENTSUBREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETEEVENTSUBREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT DeleteEventSubRequest : public RpcServiceRequest {
+public:
+	DeleteEventSubRequest();
+	~DeleteEventSubRequest();
+	std::string getSubscribeId() const;
+	void setSubscribeId(const std::string &subscribeId);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+
+private:
+	std::string subscribeId_;
+	std::string appId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETEEVENTSUBREQUEST_H_

+ 49 - 0
live/include/alibabacloud/live/model/DeleteEventSubResult.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_LIVE_MODEL_DELETEEVENTSUBRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETEEVENTSUBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DeleteEventSubResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteEventSubResult();
+				explicit DeleteEventSubResult(const std::string &payload);
+				~DeleteEventSubResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETEEVENTSUBRESULT_H_

+ 54 - 0
live/include/alibabacloud/live/model/DescribeChannelParticipantsRequest.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_LIVE_MODEL_DESCRIBECHANNELPARTICIPANTSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBECHANNELPARTICIPANTSREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT DescribeChannelParticipantsRequest : public RpcServiceRequest {
+public:
+	DescribeChannelParticipantsRequest();
+	~DescribeChannelParticipantsRequest();
+	int getPageNum() const;
+	void setPageNum(int pageNum);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getChannelId() const;
+	void setChannelId(const std::string &channelId);
+	std::string getOrder() const;
+	void setOrder(const std::string &order);
+
+private:
+	int pageNum_;
+	std::string appId_;
+	int pageSize_;
+	std::string channelId_;
+	std::string order_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBECHANNELPARTICIPANTSREQUEST_H_

+ 57 - 0
live/include/alibabacloud/live/model/DescribeChannelParticipantsResult.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_LIVE_MODEL_DESCRIBECHANNELPARTICIPANTSRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBECHANNELPARTICIPANTSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeChannelParticipantsResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeChannelParticipantsResult();
+				explicit DescribeChannelParticipantsResult(const std::string &payload);
+				~DescribeChannelParticipantsResult();
+				int getTotalNum()const;
+				int getTotalPage()const;
+				long getTimes()const;
+				std::vector<std::string> getUserList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalNum_;
+				int totalPage_;
+				long times_;
+				std::vector<std::string> userList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBECHANNELPARTICIPANTSRESULT_H_

+ 48 - 0
live/include/alibabacloud/live/model/RemoveTerminalsRequest.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_LIVE_MODEL_REMOVETERMINALSREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_REMOVETERMINALSREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT RemoveTerminalsRequest : public RpcServiceRequest {
+public:
+	RemoveTerminalsRequest();
+	~RemoveTerminalsRequest();
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+	std::vector<std::string> getTerminalIds() const;
+	void setTerminalIds(const std::vector<std::string> &terminalIds);
+	std::string getChannelId() const;
+	void setChannelId(const std::string &channelId);
+
+private:
+	std::string appId_;
+	std::vector<std::string> terminalIds_;
+	std::string channelId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_REMOVETERMINALSREQUEST_H_

+ 57 - 0
live/include/alibabacloud/live/model/RemoveTerminalsResult.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_LIVE_MODEL_REMOVETERMINALSRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_REMOVETERMINALSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT RemoveTerminalsResult : public ServiceResult
+			{
+			public:
+				struct Terminal
+				{
+					std::string message;
+					std::string id;
+					int code;
+				};
+
+
+				RemoveTerminalsResult();
+				explicit RemoveTerminalsResult(const std::string &payload);
+				~RemoveTerminalsResult();
+				std::vector<Terminal> getTerminals()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Terminal> terminals_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_REMOVETERMINALSRESULT_H_

+ 144 - 0
live/src/LiveClient.cc

@@ -1563,6 +1563,42 @@ LiveClient::CreateCustomTemplateOutcomeCallable LiveClient::createCustomTemplate
 	return task->get_future();
 }
 
+LiveClient::CreateEventSubOutcome LiveClient::createEventSub(const CreateEventSubRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateEventSubOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateEventSubOutcome(CreateEventSubResult(outcome.result()));
+	else
+		return CreateEventSubOutcome(outcome.error());
+}
+
+void LiveClient::createEventSubAsync(const CreateEventSubRequest& request, const CreateEventSubAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createEventSub(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::CreateEventSubOutcomeCallable LiveClient::createEventSubCallable(const CreateEventSubRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateEventSubOutcome()>>(
+			[this, request]()
+			{
+			return this->createEventSub(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::CreateLiveDelayConfigOutcome LiveClient::createLiveDelayConfig(const CreateLiveDelayConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2175,6 +2211,42 @@ LiveClient::DeleteCustomTemplateOutcomeCallable LiveClient::deleteCustomTemplate
 	return task->get_future();
 }
 
+LiveClient::DeleteEventSubOutcome LiveClient::deleteEventSub(const DeleteEventSubRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteEventSubOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteEventSubOutcome(DeleteEventSubResult(outcome.result()));
+	else
+		return DeleteEventSubOutcome(outcome.error());
+}
+
+void LiveClient::deleteEventSubAsync(const DeleteEventSubRequest& request, const DeleteEventSubAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteEventSub(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DeleteEventSubOutcomeCallable LiveClient::deleteEventSubCallable(const DeleteEventSubRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteEventSubOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteEventSub(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DeleteLiveAppRecordConfigOutcome LiveClient::deleteLiveAppRecordConfig(const DeleteLiveAppRecordConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3867,6 +3939,42 @@ LiveClient::DescribeCastersOutcomeCallable LiveClient::describeCastersCallable(c
 	return task->get_future();
 }
 
+LiveClient::DescribeChannelParticipantsOutcome LiveClient::describeChannelParticipants(const DescribeChannelParticipantsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeChannelParticipantsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeChannelParticipantsOutcome(DescribeChannelParticipantsResult(outcome.result()));
+	else
+		return DescribeChannelParticipantsOutcome(outcome.error());
+}
+
+void LiveClient::describeChannelParticipantsAsync(const DescribeChannelParticipantsRequest& request, const DescribeChannelParticipantsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeChannelParticipants(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeChannelParticipantsOutcomeCallable LiveClient::describeChannelParticipantsCallable(const DescribeChannelParticipantsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeChannelParticipantsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeChannelParticipants(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeDomainUsageDataOutcome LiveClient::describeDomainUsageData(const DescribeDomainUsageDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -9303,6 +9411,42 @@ LiveClient::RemoveShowFromShowListOutcomeCallable LiveClient::removeShowFromShow
 	return task->get_future();
 }
 
+LiveClient::RemoveTerminalsOutcome LiveClient::removeTerminals(const RemoveTerminalsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RemoveTerminalsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RemoveTerminalsOutcome(RemoveTerminalsResult(outcome.result()));
+	else
+		return RemoveTerminalsOutcome(outcome.error());
+}
+
+void LiveClient::removeTerminalsAsync(const RemoveTerminalsRequest& request, const RemoveTerminalsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, removeTerminals(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::RemoveTerminalsOutcomeCallable LiveClient::removeTerminalsCallable(const RemoveTerminalsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RemoveTerminalsOutcome()>>(
+			[this, request]()
+			{
+			return this->removeTerminals(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::RestartCasterOutcome LiveClient::restartCaster(const RestartCasterRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 88 - 0
live/src/model/CreateEventSubRequest.cc

@@ -0,0 +1,88 @@
+/*
+ * 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/live/model/CreateEventSubRequest.h>
+
+using AlibabaCloud::Live::Model::CreateEventSubRequest;
+
+CreateEventSubRequest::CreateEventSubRequest()
+    : RpcServiceRequest("live", "2016-11-01", "CreateEventSub") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateEventSubRequest::~CreateEventSubRequest() {}
+
+int CreateEventSubRequest::getRole() const {
+  return role_;
+}
+
+void CreateEventSubRequest::setRole(int role) {
+  role_ = role;
+  setParameter(std::string("Role"), std::to_string(role));
+}
+
+std::string CreateEventSubRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void CreateEventSubRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::vector<std::string> CreateEventSubRequest::getUsers() const {
+  return users_;
+}
+
+void CreateEventSubRequest::setUsers(const std::vector<std::string> &users) {
+  users_ = users;
+}
+
+std::string CreateEventSubRequest::getAppId() const {
+  return appId_;
+}
+
+void CreateEventSubRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setParameter(std::string("AppId"), appId);
+}
+
+std::string CreateEventSubRequest::getCallbackUrl() const {
+  return callbackUrl_;
+}
+
+void CreateEventSubRequest::setCallbackUrl(const std::string &callbackUrl) {
+  callbackUrl_ = callbackUrl;
+  setParameter(std::string("CallbackUrl"), callbackUrl);
+}
+
+std::string CreateEventSubRequest::getChannelId() const {
+  return channelId_;
+}
+
+void CreateEventSubRequest::setChannelId(const std::string &channelId) {
+  channelId_ = channelId;
+  setParameter(std::string("ChannelId"), channelId);
+}
+
+std::vector<std::string> CreateEventSubRequest::getEvents() const {
+  return events_;
+}
+
+void CreateEventSubRequest::setEvents(const std::vector<std::string> &events) {
+  events_ = events;
+}
+

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

+ 45 - 0
live/src/model/DeleteEventSubRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * 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/live/model/DeleteEventSubRequest.h>
+
+using AlibabaCloud::Live::Model::DeleteEventSubRequest;
+
+DeleteEventSubRequest::DeleteEventSubRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DeleteEventSub") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteEventSubRequest::~DeleteEventSubRequest() {}
+
+std::string DeleteEventSubRequest::getSubscribeId() const {
+  return subscribeId_;
+}
+
+void DeleteEventSubRequest::setSubscribeId(const std::string &subscribeId) {
+  subscribeId_ = subscribeId;
+  setParameter(std::string("SubscribeId"), subscribeId);
+}
+
+std::string DeleteEventSubRequest::getAppId() const {
+  return appId_;
+}
+
+void DeleteEventSubRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setParameter(std::string("AppId"), appId);
+}
+

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

+ 72 - 0
live/src/model/DescribeChannelParticipantsRequest.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 <alibabacloud/live/model/DescribeChannelParticipantsRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeChannelParticipantsRequest;
+
+DescribeChannelParticipantsRequest::DescribeChannelParticipantsRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeChannelParticipants") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeChannelParticipantsRequest::~DescribeChannelParticipantsRequest() {}
+
+int DescribeChannelParticipantsRequest::getPageNum() const {
+  return pageNum_;
+}
+
+void DescribeChannelParticipantsRequest::setPageNum(int pageNum) {
+  pageNum_ = pageNum;
+  setParameter(std::string("PageNum"), std::to_string(pageNum));
+}
+
+std::string DescribeChannelParticipantsRequest::getAppId() const {
+  return appId_;
+}
+
+void DescribeChannelParticipantsRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setParameter(std::string("AppId"), appId);
+}
+
+int DescribeChannelParticipantsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeChannelParticipantsRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeChannelParticipantsRequest::getChannelId() const {
+  return channelId_;
+}
+
+void DescribeChannelParticipantsRequest::setChannelId(const std::string &channelId) {
+  channelId_ = channelId;
+  setParameter(std::string("ChannelId"), channelId);
+}
+
+std::string DescribeChannelParticipantsRequest::getOrder() const {
+  return order_;
+}
+
+void DescribeChannelParticipantsRequest::setOrder(const std::string &order) {
+  order_ = order;
+  setParameter(std::string("Order"), order);
+}
+

+ 73 - 0
live/src/model/DescribeChannelParticipantsResult.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/live/model/DescribeChannelParticipantsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeChannelParticipantsResult::DescribeChannelParticipantsResult() :
+	ServiceResult()
+{}
+
+DescribeChannelParticipantsResult::DescribeChannelParticipantsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeChannelParticipantsResult::~DescribeChannelParticipantsResult()
+{}
+
+void DescribeChannelParticipantsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allUserList = value["UserList"]["Users"];
+	for (const auto &item : allUserList)
+		userList_.push_back(item.asString());
+	if(!value["TotalPage"].isNull())
+		totalPage_ = std::stoi(value["TotalPage"].asString());
+	if(!value["TotalNum"].isNull())
+		totalNum_ = std::stoi(value["TotalNum"].asString());
+	if(!value["Times"].isNull())
+		times_ = std::stol(value["Times"].asString());
+
+}
+
+int DescribeChannelParticipantsResult::getTotalNum()const
+{
+	return totalNum_;
+}
+
+int DescribeChannelParticipantsResult::getTotalPage()const
+{
+	return totalPage_;
+}
+
+long DescribeChannelParticipantsResult::getTimes()const
+{
+	return times_;
+}
+
+std::vector<std::string> DescribeChannelParticipantsResult::getUserList()const
+{
+	return userList_;
+}
+

+ 53 - 0
live/src/model/RemoveTerminalsRequest.cc

@@ -0,0 +1,53 @@
+/*
+ * 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/live/model/RemoveTerminalsRequest.h>
+
+using AlibabaCloud::Live::Model::RemoveTerminalsRequest;
+
+RemoveTerminalsRequest::RemoveTerminalsRequest()
+    : RpcServiceRequest("live", "2016-11-01", "RemoveTerminals") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+RemoveTerminalsRequest::~RemoveTerminalsRequest() {}
+
+std::string RemoveTerminalsRequest::getAppId() const {
+  return appId_;
+}
+
+void RemoveTerminalsRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setParameter(std::string("AppId"), appId);
+}
+
+std::vector<std::string> RemoveTerminalsRequest::getTerminalIds() const {
+  return terminalIds_;
+}
+
+void RemoveTerminalsRequest::setTerminalIds(const std::vector<std::string> &terminalIds) {
+  terminalIds_ = terminalIds;
+}
+
+std::string RemoveTerminalsRequest::getChannelId() const {
+  return channelId_;
+}
+
+void RemoveTerminalsRequest::setChannelId(const std::string &channelId) {
+  channelId_ = channelId;
+  setParameter(std::string("ChannelId"), channelId);
+}
+

+ 61 - 0
live/src/model/RemoveTerminalsResult.cc

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/RemoveTerminalsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+RemoveTerminalsResult::RemoveTerminalsResult() :
+	ServiceResult()
+{}
+
+RemoveTerminalsResult::RemoveTerminalsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+RemoveTerminalsResult::~RemoveTerminalsResult()
+{}
+
+void RemoveTerminalsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTerminalsNode = value["Terminals"]["Terminal"];
+	for (auto valueTerminalsTerminal : allTerminalsNode)
+	{
+		Terminal terminalsObject;
+		if(!valueTerminalsTerminal["Code"].isNull())
+			terminalsObject.code = std::stoi(valueTerminalsTerminal["Code"].asString());
+		if(!valueTerminalsTerminal["Message"].isNull())
+			terminalsObject.message = valueTerminalsTerminal["Message"].asString();
+		if(!valueTerminalsTerminal["Id"].isNull())
+			terminalsObject.id = valueTerminalsTerminal["Id"].asString();
+		terminals_.push_back(terminalsObject);
+	}
+
+}
+
+std::vector<RemoveTerminalsResult::Terminal> RemoveTerminalsResult::getTerminals()const
+{
+	return terminals_;
+}
+