Procházet zdrojové kódy

Generated 2016-11-01 for live.

sdk-team před 5 roky
rodič
revize
e8a74f4418
52 změnil soubory, kde provedl 1523 přidání a 645 odebrání
  1. 3 0
      CHANGELOG
  2. 22 10
      live/CMakeLists.txt
  3. 40 16
      live/include/alibabacloud/live/LiveClient.h
  4. 3 0
      live/include/alibabacloud/live/model/AddLiveStreamTranscodeRequest.h
  5. 54 0
      live/include/alibabacloud/live/model/DeleteLiveDomainPlayMappingRequest.h
  6. 7 17
      live/include/alibabacloud/live/model/DeleteLiveDomainPlayMappingResult.h
  7. 6 3
      live/include/alibabacloud/live/model/DescribeCasterComponentsResult.h
  8. 18 15
      live/include/alibabacloud/live/model/DescribeDomainUsageDataRequest.h
  9. 68 0
      live/include/alibabacloud/live/model/DescribeDomainUsageDataResult.h
  10. 0 2
      live/include/alibabacloud/live/model/DescribeLiveCertificateDetailResult.h
  11. 6 15
      live/include/alibabacloud/live/model/DescribeLiveDomainPvUvDataRequest.h
  12. 65 0
      live/include/alibabacloud/live/model/DescribeLiveDomainPvUvDataResult.h
  13. 7 0
      live/include/alibabacloud/live/model/DescribeLiveStreamTranscodeInfoResult.h
  14. 6 3
      live/include/alibabacloud/live/model/DescribeLiveStreamsControlHistoryRequest.h
  15. 51 0
      live/include/alibabacloud/live/model/DescribeLiveVerifyContentRequest.h
  16. 9 17
      live/include/alibabacloud/live/model/DescribeLiveVerifyContentResult.h
  17. 3 0
      live/include/alibabacloud/live/model/SetLiveStreamsNotifyUrlConfigRequest.h
  18. 54 0
      live/include/alibabacloud/live/model/VerifyLiveDomainOwnerRequest.h
  19. 51 0
      live/include/alibabacloud/live/model/VerifyLiveDomainOwnerResult.h
  20. 180 72
      live/src/LiveClient.cc
  21. 11 0
      live/src/model/AddLiveStreamTranscodeRequest.cc
  22. 62 0
      live/src/model/DeleteLiveDomainPlayMappingRequest.cc
  23. 44 0
      live/src/model/DeleteLiveDomainPlayMappingResult.cc
  24. 12 12
      live/src/model/DescribeBoardSnapshotResult.cc
  25. 6 0
      live/src/model/DescribeCasterComponentsResult.cc
  26. 20 20
      live/src/model/DescribeCasterLayoutsResult.cc
  27. 8 8
      live/src/model/DescribeCasterScenesResult.cc
  28. 8 8
      live/src/model/DescribeCasterStreamUrlResult.cc
  29. 117 0
      live/src/model/DescribeDomainUsageDataRequest.cc
  30. 101 0
      live/src/model/DescribeDomainUsageDataResult.cc
  31. 12 12
      live/src/model/DescribeHlsLiveStreamRealTimeBpsDataResult.cc
  32. 0 7
      live/src/model/DescribeLiveCertificateDetailResult.cc
  33. 6 6
      live/src/model/DescribeLiveDomainConfigsResult.cc
  34. 6 6
      live/src/model/DescribeLiveDomainOnlineUserNumResult.cc
  35. 73 0
      live/src/model/DescribeLiveDomainPvUvDataRequest.cc
  36. 89 0
      live/src/model/DescribeLiveDomainPvUvDataResult.cc
  37. 8 8
      live/src/model/DescribeLiveDomainRealTimeHttpCodeDataResult.cc
  38. 10 10
      live/src/model/DescribeLiveRecordConfigResult.cc
  39. 8 8
      live/src/model/DescribeLiveStreamCountResult.cc
  40. 0 106
      live/src/model/DescribeLiveStreamOnlineUserNumRequest.cc
  41. 0 68
      live/src/model/DescribeLiveStreamOnlineUserNumResult.cc
  42. 7 0
      live/src/model/DescribeLiveStreamTranscodeInfoResult.cc
  43. 22 11
      live/src/model/DescribeLiveStreamsControlHistoryRequest.cc
  44. 0 106
      live/src/model/DescribeLiveStreamsFrameRateAndBitRateDataRequest.cc
  45. 0 65
      live/src/model/DescribeLiveStreamsFrameRateAndBitRateDataResult.cc
  46. 6 6
      live/src/model/DescribeLiveTagResourcesResult.cc
  47. 51 0
      live/src/model/DescribeLiveVerifyContentRequest.cc
  48. 51 0
      live/src/model/DescribeLiveVerifyContentResult.cc
  49. 11 0
      live/src/model/SetLiveStreamsNotifyUrlConfigRequest.cc
  50. 8 8
      live/src/model/StartCasterResult.cc
  51. 62 0
      live/src/model/VerifyLiveDomainOwnerRequest.cc
  52. 51 0
      live/src/model/VerifyLiveDomainOwnerResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-01-13 Version: patch
+- Generated 2016-11-01 for `live`.
+
 2021-01-12 Version: patch
 - Add new API for recording.
 

+ 22 - 10
live/CMakeLists.txt

@@ -137,6 +137,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DeleteLiveDomainResult.h
 	include/alibabacloud/live/model/DeleteLiveDomainMappingRequest.h
 	include/alibabacloud/live/model/DeleteLiveDomainMappingResult.h
+	include/alibabacloud/live/model/DeleteLiveDomainPlayMappingRequest.h
+	include/alibabacloud/live/model/DeleteLiveDomainPlayMappingResult.h
 	include/alibabacloud/live/model/DeleteLiveLazyPullStreamInfoConfigRequest.h
 	include/alibabacloud/live/model/DeleteLiveLazyPullStreamInfoConfigResult.h
 	include/alibabacloud/live/model/DeleteLivePullStreamInfoConfigRequest.h
@@ -189,6 +191,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/DescribeDomainUsageDataRequest.h
+	include/alibabacloud/live/model/DescribeDomainUsageDataResult.h
 	include/alibabacloud/live/model/DescribeForbidPushStreamRoomListRequest.h
 	include/alibabacloud/live/model/DescribeForbidPushStreamRoomListResult.h
 	include/alibabacloud/live/model/DescribeHlsLiveStreamRealTimeBpsDataRequest.h
@@ -231,6 +235,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveDomainPushBpsDataResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainPushTrafficDataRequest.h
 	include/alibabacloud/live/model/DescribeLiveDomainPushTrafficDataResult.h
+	include/alibabacloud/live/model/DescribeLiveDomainPvUvDataRequest.h
+	include/alibabacloud/live/model/DescribeLiveDomainPvUvDataResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainRealTimeBpsDataRequest.h
 	include/alibabacloud/live/model/DescribeLiveDomainRealTimeBpsDataResult.h
 	include/alibabacloud/live/model/DescribeLiveDomainRealTimeHttpCodeDataRequest.h
@@ -275,8 +281,6 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveStreamDelayConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamHistoryUserNumRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamHistoryUserNumResult.h
-	include/alibabacloud/live/model/DescribeLiveStreamOnlineUserNumRequest.h
-	include/alibabacloud/live/model/DescribeLiveStreamOnlineUserNumResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamOptimizedFeatureConfigRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamOptimizedFeatureConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamRecordContentRequest.h
@@ -295,8 +299,6 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveStreamsBlockListResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsControlHistoryRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamsControlHistoryResult.h
-	include/alibabacloud/live/model/DescribeLiveStreamsFrameRateAndBitRateDataRequest.h
-	include/alibabacloud/live/model/DescribeLiveStreamsFrameRateAndBitRateDataResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsNotifyUrlConfigRequest.h
 	include/alibabacloud/live/model/DescribeLiveStreamsNotifyUrlConfigResult.h
 	include/alibabacloud/live/model/DescribeLiveStreamsOnlineListRequest.h
@@ -311,6 +313,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeLiveUserDomainsResult.h
 	include/alibabacloud/live/model/DescribeLiveUserTagsRequest.h
 	include/alibabacloud/live/model/DescribeLiveUserTagsResult.h
+	include/alibabacloud/live/model/DescribeLiveVerifyContentRequest.h
+	include/alibabacloud/live/model/DescribeLiveVerifyContentResult.h
 	include/alibabacloud/live/model/DescribeMixStreamListRequest.h
 	include/alibabacloud/live/model/DescribeMixStreamListResult.h
 	include/alibabacloud/live/model/DescribeRecordRequest.h
@@ -442,7 +446,9 @@ set(live_public_header_model
 	include/alibabacloud/live/model/UpdateLiveTopLevelDomainRequest.h
 	include/alibabacloud/live/model/UpdateLiveTopLevelDomainResult.h
 	include/alibabacloud/live/model/UpdateMixStreamRequest.h
-	include/alibabacloud/live/model/UpdateMixStreamResult.h )
+	include/alibabacloud/live/model/UpdateMixStreamResult.h
+	include/alibabacloud/live/model/VerifyLiveDomainOwnerRequest.h
+	include/alibabacloud/live/model/VerifyLiveDomainOwnerResult.h )
 
 set(live_src 
 	src/LiveClient.cc
@@ -562,6 +568,8 @@ set(live_src
 	src/model/DeleteLiveDomainResult.cc
 	src/model/DeleteLiveDomainMappingRequest.cc
 	src/model/DeleteLiveDomainMappingResult.cc
+	src/model/DeleteLiveDomainPlayMappingRequest.cc
+	src/model/DeleteLiveDomainPlayMappingResult.cc
 	src/model/DeleteLiveLazyPullStreamInfoConfigRequest.cc
 	src/model/DeleteLiveLazyPullStreamInfoConfigResult.cc
 	src/model/DeleteLivePullStreamInfoConfigRequest.cc
@@ -614,6 +622,8 @@ set(live_src
 	src/model/DescribeCasterVideoResourcesResult.cc
 	src/model/DescribeCastersRequest.cc
 	src/model/DescribeCastersResult.cc
+	src/model/DescribeDomainUsageDataRequest.cc
+	src/model/DescribeDomainUsageDataResult.cc
 	src/model/DescribeForbidPushStreamRoomListRequest.cc
 	src/model/DescribeForbidPushStreamRoomListResult.cc
 	src/model/DescribeHlsLiveStreamRealTimeBpsDataRequest.cc
@@ -656,6 +666,8 @@ set(live_src
 	src/model/DescribeLiveDomainPushBpsDataResult.cc
 	src/model/DescribeLiveDomainPushTrafficDataRequest.cc
 	src/model/DescribeLiveDomainPushTrafficDataResult.cc
+	src/model/DescribeLiveDomainPvUvDataRequest.cc
+	src/model/DescribeLiveDomainPvUvDataResult.cc
 	src/model/DescribeLiveDomainRealTimeBpsDataRequest.cc
 	src/model/DescribeLiveDomainRealTimeBpsDataResult.cc
 	src/model/DescribeLiveDomainRealTimeHttpCodeDataRequest.cc
@@ -700,8 +712,6 @@ set(live_src
 	src/model/DescribeLiveStreamDelayConfigResult.cc
 	src/model/DescribeLiveStreamHistoryUserNumRequest.cc
 	src/model/DescribeLiveStreamHistoryUserNumResult.cc
-	src/model/DescribeLiveStreamOnlineUserNumRequest.cc
-	src/model/DescribeLiveStreamOnlineUserNumResult.cc
 	src/model/DescribeLiveStreamOptimizedFeatureConfigRequest.cc
 	src/model/DescribeLiveStreamOptimizedFeatureConfigResult.cc
 	src/model/DescribeLiveStreamRecordContentRequest.cc
@@ -720,8 +730,6 @@ set(live_src
 	src/model/DescribeLiveStreamsBlockListResult.cc
 	src/model/DescribeLiveStreamsControlHistoryRequest.cc
 	src/model/DescribeLiveStreamsControlHistoryResult.cc
-	src/model/DescribeLiveStreamsFrameRateAndBitRateDataRequest.cc
-	src/model/DescribeLiveStreamsFrameRateAndBitRateDataResult.cc
 	src/model/DescribeLiveStreamsNotifyUrlConfigRequest.cc
 	src/model/DescribeLiveStreamsNotifyUrlConfigResult.cc
 	src/model/DescribeLiveStreamsOnlineListRequest.cc
@@ -736,6 +744,8 @@ set(live_src
 	src/model/DescribeLiveUserDomainsResult.cc
 	src/model/DescribeLiveUserTagsRequest.cc
 	src/model/DescribeLiveUserTagsResult.cc
+	src/model/DescribeLiveVerifyContentRequest.cc
+	src/model/DescribeLiveVerifyContentResult.cc
 	src/model/DescribeMixStreamListRequest.cc
 	src/model/DescribeMixStreamListResult.cc
 	src/model/DescribeRecordRequest.cc
@@ -867,7 +877,9 @@ set(live_src
 	src/model/UpdateLiveTopLevelDomainRequest.cc
 	src/model/UpdateLiveTopLevelDomainResult.cc
 	src/model/UpdateMixStreamRequest.cc
-	src/model/UpdateMixStreamResult.cc )
+	src/model/UpdateMixStreamResult.cc
+	src/model/VerifyLiveDomainOwnerRequest.cc
+	src/model/VerifyLiveDomainOwnerResult.cc )
 
 add_library(live ${LIB_TYPE}
 	${live_public_header}

+ 40 - 16
live/include/alibabacloud/live/LiveClient.h

@@ -138,6 +138,8 @@
 #include "model/DeleteLiveDomainResult.h"
 #include "model/DeleteLiveDomainMappingRequest.h"
 #include "model/DeleteLiveDomainMappingResult.h"
+#include "model/DeleteLiveDomainPlayMappingRequest.h"
+#include "model/DeleteLiveDomainPlayMappingResult.h"
 #include "model/DeleteLiveLazyPullStreamInfoConfigRequest.h"
 #include "model/DeleteLiveLazyPullStreamInfoConfigResult.h"
 #include "model/DeleteLivePullStreamInfoConfigRequest.h"
@@ -190,6 +192,8 @@
 #include "model/DescribeCasterVideoResourcesResult.h"
 #include "model/DescribeCastersRequest.h"
 #include "model/DescribeCastersResult.h"
+#include "model/DescribeDomainUsageDataRequest.h"
+#include "model/DescribeDomainUsageDataResult.h"
 #include "model/DescribeForbidPushStreamRoomListRequest.h"
 #include "model/DescribeForbidPushStreamRoomListResult.h"
 #include "model/DescribeHlsLiveStreamRealTimeBpsDataRequest.h"
@@ -232,6 +236,8 @@
 #include "model/DescribeLiveDomainPushBpsDataResult.h"
 #include "model/DescribeLiveDomainPushTrafficDataRequest.h"
 #include "model/DescribeLiveDomainPushTrafficDataResult.h"
+#include "model/DescribeLiveDomainPvUvDataRequest.h"
+#include "model/DescribeLiveDomainPvUvDataResult.h"
 #include "model/DescribeLiveDomainRealTimeBpsDataRequest.h"
 #include "model/DescribeLiveDomainRealTimeBpsDataResult.h"
 #include "model/DescribeLiveDomainRealTimeHttpCodeDataRequest.h"
@@ -276,8 +282,6 @@
 #include "model/DescribeLiveStreamDelayConfigResult.h"
 #include "model/DescribeLiveStreamHistoryUserNumRequest.h"
 #include "model/DescribeLiveStreamHistoryUserNumResult.h"
-#include "model/DescribeLiveStreamOnlineUserNumRequest.h"
-#include "model/DescribeLiveStreamOnlineUserNumResult.h"
 #include "model/DescribeLiveStreamOptimizedFeatureConfigRequest.h"
 #include "model/DescribeLiveStreamOptimizedFeatureConfigResult.h"
 #include "model/DescribeLiveStreamRecordContentRequest.h"
@@ -296,8 +300,6 @@
 #include "model/DescribeLiveStreamsBlockListResult.h"
 #include "model/DescribeLiveStreamsControlHistoryRequest.h"
 #include "model/DescribeLiveStreamsControlHistoryResult.h"
-#include "model/DescribeLiveStreamsFrameRateAndBitRateDataRequest.h"
-#include "model/DescribeLiveStreamsFrameRateAndBitRateDataResult.h"
 #include "model/DescribeLiveStreamsNotifyUrlConfigRequest.h"
 #include "model/DescribeLiveStreamsNotifyUrlConfigResult.h"
 #include "model/DescribeLiveStreamsOnlineListRequest.h"
@@ -312,6 +314,8 @@
 #include "model/DescribeLiveUserDomainsResult.h"
 #include "model/DescribeLiveUserTagsRequest.h"
 #include "model/DescribeLiveUserTagsResult.h"
+#include "model/DescribeLiveVerifyContentRequest.h"
+#include "model/DescribeLiveVerifyContentResult.h"
 #include "model/DescribeMixStreamListRequest.h"
 #include "model/DescribeMixStreamListResult.h"
 #include "model/DescribeRecordRequest.h"
@@ -444,6 +448,8 @@
 #include "model/UpdateLiveTopLevelDomainResult.h"
 #include "model/UpdateMixStreamRequest.h"
 #include "model/UpdateMixStreamResult.h"
+#include "model/VerifyLiveDomainOwnerRequest.h"
+#include "model/VerifyLiveDomainOwnerResult.h"
 
 
 namespace AlibabaCloud
@@ -627,6 +633,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteLiveDomainMappingResult> DeleteLiveDomainMappingOutcome;
 			typedef std::future<DeleteLiveDomainMappingOutcome> DeleteLiveDomainMappingOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveDomainMappingRequest&, const DeleteLiveDomainMappingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveDomainMappingAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLiveDomainPlayMappingResult> DeleteLiveDomainPlayMappingOutcome;
+			typedef std::future<DeleteLiveDomainPlayMappingOutcome> DeleteLiveDomainPlayMappingOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DeleteLiveDomainPlayMappingRequest&, const DeleteLiveDomainPlayMappingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveDomainPlayMappingAsyncHandler;
 			typedef Outcome<Error, Model::DeleteLiveLazyPullStreamInfoConfigResult> DeleteLiveLazyPullStreamInfoConfigOutcome;
 			typedef std::future<DeleteLiveLazyPullStreamInfoConfigOutcome> DeleteLiveLazyPullStreamInfoConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveLazyPullStreamInfoConfigRequest&, const DeleteLiveLazyPullStreamInfoConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveLazyPullStreamInfoConfigAsyncHandler;
@@ -705,6 +714,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::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;
 			typedef Outcome<Error, Model::DescribeForbidPushStreamRoomListResult> DescribeForbidPushStreamRoomListOutcome;
 			typedef std::future<DescribeForbidPushStreamRoomListOutcome> DescribeForbidPushStreamRoomListOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeForbidPushStreamRoomListRequest&, const DescribeForbidPushStreamRoomListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeForbidPushStreamRoomListAsyncHandler;
@@ -768,6 +780,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveDomainPushTrafficDataResult> DescribeLiveDomainPushTrafficDataOutcome;
 			typedef std::future<DescribeLiveDomainPushTrafficDataOutcome> DescribeLiveDomainPushTrafficDataOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainPushTrafficDataRequest&, const DescribeLiveDomainPushTrafficDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainPushTrafficDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveDomainPvUvDataResult> DescribeLiveDomainPvUvDataOutcome;
+			typedef std::future<DescribeLiveDomainPvUvDataOutcome> DescribeLiveDomainPvUvDataOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainPvUvDataRequest&, const DescribeLiveDomainPvUvDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainPvUvDataAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveDomainRealTimeBpsDataResult> DescribeLiveDomainRealTimeBpsDataOutcome;
 			typedef std::future<DescribeLiveDomainRealTimeBpsDataOutcome> DescribeLiveDomainRealTimeBpsDataOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveDomainRealTimeBpsDataRequest&, const DescribeLiveDomainRealTimeBpsDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveDomainRealTimeBpsDataAsyncHandler;
@@ -834,9 +849,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveStreamHistoryUserNumResult> DescribeLiveStreamHistoryUserNumOutcome;
 			typedef std::future<DescribeLiveStreamHistoryUserNumOutcome> DescribeLiveStreamHistoryUserNumOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamHistoryUserNumRequest&, const DescribeLiveStreamHistoryUserNumOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamHistoryUserNumAsyncHandler;
-			typedef Outcome<Error, Model::DescribeLiveStreamOnlineUserNumResult> DescribeLiveStreamOnlineUserNumOutcome;
-			typedef std::future<DescribeLiveStreamOnlineUserNumOutcome> DescribeLiveStreamOnlineUserNumOutcomeCallable;
-			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamOnlineUserNumRequest&, const DescribeLiveStreamOnlineUserNumOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamOnlineUserNumAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveStreamOptimizedFeatureConfigResult> DescribeLiveStreamOptimizedFeatureConfigOutcome;
 			typedef std::future<DescribeLiveStreamOptimizedFeatureConfigOutcome> DescribeLiveStreamOptimizedFeatureConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamOptimizedFeatureConfigRequest&, const DescribeLiveStreamOptimizedFeatureConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamOptimizedFeatureConfigAsyncHandler;
@@ -864,9 +876,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveStreamsControlHistoryResult> DescribeLiveStreamsControlHistoryOutcome;
 			typedef std::future<DescribeLiveStreamsControlHistoryOutcome> DescribeLiveStreamsControlHistoryOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamsControlHistoryRequest&, const DescribeLiveStreamsControlHistoryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamsControlHistoryAsyncHandler;
-			typedef Outcome<Error, Model::DescribeLiveStreamsFrameRateAndBitRateDataResult> DescribeLiveStreamsFrameRateAndBitRateDataOutcome;
-			typedef std::future<DescribeLiveStreamsFrameRateAndBitRateDataOutcome> DescribeLiveStreamsFrameRateAndBitRateDataOutcomeCallable;
-			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamsFrameRateAndBitRateDataRequest&, const DescribeLiveStreamsFrameRateAndBitRateDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamsFrameRateAndBitRateDataAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveStreamsNotifyUrlConfigResult> DescribeLiveStreamsNotifyUrlConfigOutcome;
 			typedef std::future<DescribeLiveStreamsNotifyUrlConfigOutcome> DescribeLiveStreamsNotifyUrlConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveStreamsNotifyUrlConfigRequest&, const DescribeLiveStreamsNotifyUrlConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveStreamsNotifyUrlConfigAsyncHandler;
@@ -888,6 +897,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveUserTagsResult> DescribeLiveUserTagsOutcome;
 			typedef std::future<DescribeLiveUserTagsOutcome> DescribeLiveUserTagsOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveUserTagsRequest&, const DescribeLiveUserTagsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveUserTagsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveVerifyContentResult> DescribeLiveVerifyContentOutcome;
+			typedef std::future<DescribeLiveVerifyContentOutcome> DescribeLiveVerifyContentOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveVerifyContentRequest&, const DescribeLiveVerifyContentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveVerifyContentAsyncHandler;
 			typedef Outcome<Error, Model::DescribeMixStreamListResult> DescribeMixStreamListOutcome;
 			typedef std::future<DescribeMixStreamListOutcome> DescribeMixStreamListOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeMixStreamListRequest&, const DescribeMixStreamListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeMixStreamListAsyncHandler;
@@ -1086,6 +1098,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateMixStreamResult> UpdateMixStreamOutcome;
 			typedef std::future<UpdateMixStreamOutcome> UpdateMixStreamOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::UpdateMixStreamRequest&, const UpdateMixStreamOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateMixStreamAsyncHandler;
+			typedef Outcome<Error, Model::VerifyLiveDomainOwnerResult> VerifyLiveDomainOwnerOutcome;
+			typedef std::future<VerifyLiveDomainOwnerOutcome> VerifyLiveDomainOwnerOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::VerifyLiveDomainOwnerRequest&, const VerifyLiveDomainOwnerOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> VerifyLiveDomainOwnerAsyncHandler;
 
 			LiveClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			LiveClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -1265,6 +1280,9 @@ namespace AlibabaCloud
 			DeleteLiveDomainMappingOutcome deleteLiveDomainMapping(const Model::DeleteLiveDomainMappingRequest &request)const;
 			void deleteLiveDomainMappingAsync(const Model::DeleteLiveDomainMappingRequest& request, const DeleteLiveDomainMappingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveDomainMappingOutcomeCallable deleteLiveDomainMappingCallable(const Model::DeleteLiveDomainMappingRequest& request) const;
+			DeleteLiveDomainPlayMappingOutcome deleteLiveDomainPlayMapping(const Model::DeleteLiveDomainPlayMappingRequest &request)const;
+			void deleteLiveDomainPlayMappingAsync(const Model::DeleteLiveDomainPlayMappingRequest& request, const DeleteLiveDomainPlayMappingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLiveDomainPlayMappingOutcomeCallable deleteLiveDomainPlayMappingCallable(const Model::DeleteLiveDomainPlayMappingRequest& request) const;
 			DeleteLiveLazyPullStreamInfoConfigOutcome deleteLiveLazyPullStreamInfoConfig(const Model::DeleteLiveLazyPullStreamInfoConfigRequest &request)const;
 			void deleteLiveLazyPullStreamInfoConfigAsync(const Model::DeleteLiveLazyPullStreamInfoConfigRequest& request, const DeleteLiveLazyPullStreamInfoConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveLazyPullStreamInfoConfigOutcomeCallable deleteLiveLazyPullStreamInfoConfigCallable(const Model::DeleteLiveLazyPullStreamInfoConfigRequest& request) const;
@@ -1343,6 +1361,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;
+			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;
 			DescribeForbidPushStreamRoomListOutcome describeForbidPushStreamRoomList(const Model::DescribeForbidPushStreamRoomListRequest &request)const;
 			void describeForbidPushStreamRoomListAsync(const Model::DescribeForbidPushStreamRoomListRequest& request, const DescribeForbidPushStreamRoomListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeForbidPushStreamRoomListOutcomeCallable describeForbidPushStreamRoomListCallable(const Model::DescribeForbidPushStreamRoomListRequest& request) const;
@@ -1406,6 +1427,9 @@ namespace AlibabaCloud
 			DescribeLiveDomainPushTrafficDataOutcome describeLiveDomainPushTrafficData(const Model::DescribeLiveDomainPushTrafficDataRequest &request)const;
 			void describeLiveDomainPushTrafficDataAsync(const Model::DescribeLiveDomainPushTrafficDataRequest& request, const DescribeLiveDomainPushTrafficDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveDomainPushTrafficDataOutcomeCallable describeLiveDomainPushTrafficDataCallable(const Model::DescribeLiveDomainPushTrafficDataRequest& request) const;
+			DescribeLiveDomainPvUvDataOutcome describeLiveDomainPvUvData(const Model::DescribeLiveDomainPvUvDataRequest &request)const;
+			void describeLiveDomainPvUvDataAsync(const Model::DescribeLiveDomainPvUvDataRequest& request, const DescribeLiveDomainPvUvDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveDomainPvUvDataOutcomeCallable describeLiveDomainPvUvDataCallable(const Model::DescribeLiveDomainPvUvDataRequest& request) const;
 			DescribeLiveDomainRealTimeBpsDataOutcome describeLiveDomainRealTimeBpsData(const Model::DescribeLiveDomainRealTimeBpsDataRequest &request)const;
 			void describeLiveDomainRealTimeBpsDataAsync(const Model::DescribeLiveDomainRealTimeBpsDataRequest& request, const DescribeLiveDomainRealTimeBpsDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveDomainRealTimeBpsDataOutcomeCallable describeLiveDomainRealTimeBpsDataCallable(const Model::DescribeLiveDomainRealTimeBpsDataRequest& request) const;
@@ -1472,9 +1496,6 @@ namespace AlibabaCloud
 			DescribeLiveStreamHistoryUserNumOutcome describeLiveStreamHistoryUserNum(const Model::DescribeLiveStreamHistoryUserNumRequest &request)const;
 			void describeLiveStreamHistoryUserNumAsync(const Model::DescribeLiveStreamHistoryUserNumRequest& request, const DescribeLiveStreamHistoryUserNumAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamHistoryUserNumOutcomeCallable describeLiveStreamHistoryUserNumCallable(const Model::DescribeLiveStreamHistoryUserNumRequest& request) const;
-			DescribeLiveStreamOnlineUserNumOutcome describeLiveStreamOnlineUserNum(const Model::DescribeLiveStreamOnlineUserNumRequest &request)const;
-			void describeLiveStreamOnlineUserNumAsync(const Model::DescribeLiveStreamOnlineUserNumRequest& request, const DescribeLiveStreamOnlineUserNumAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			DescribeLiveStreamOnlineUserNumOutcomeCallable describeLiveStreamOnlineUserNumCallable(const Model::DescribeLiveStreamOnlineUserNumRequest& request) const;
 			DescribeLiveStreamOptimizedFeatureConfigOutcome describeLiveStreamOptimizedFeatureConfig(const Model::DescribeLiveStreamOptimizedFeatureConfigRequest &request)const;
 			void describeLiveStreamOptimizedFeatureConfigAsync(const Model::DescribeLiveStreamOptimizedFeatureConfigRequest& request, const DescribeLiveStreamOptimizedFeatureConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamOptimizedFeatureConfigOutcomeCallable describeLiveStreamOptimizedFeatureConfigCallable(const Model::DescribeLiveStreamOptimizedFeatureConfigRequest& request) const;
@@ -1502,9 +1523,6 @@ namespace AlibabaCloud
 			DescribeLiveStreamsControlHistoryOutcome describeLiveStreamsControlHistory(const Model::DescribeLiveStreamsControlHistoryRequest &request)const;
 			void describeLiveStreamsControlHistoryAsync(const Model::DescribeLiveStreamsControlHistoryRequest& request, const DescribeLiveStreamsControlHistoryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamsControlHistoryOutcomeCallable describeLiveStreamsControlHistoryCallable(const Model::DescribeLiveStreamsControlHistoryRequest& request) const;
-			DescribeLiveStreamsFrameRateAndBitRateDataOutcome describeLiveStreamsFrameRateAndBitRateData(const Model::DescribeLiveStreamsFrameRateAndBitRateDataRequest &request)const;
-			void describeLiveStreamsFrameRateAndBitRateDataAsync(const Model::DescribeLiveStreamsFrameRateAndBitRateDataRequest& request, const DescribeLiveStreamsFrameRateAndBitRateDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			DescribeLiveStreamsFrameRateAndBitRateDataOutcomeCallable describeLiveStreamsFrameRateAndBitRateDataCallable(const Model::DescribeLiveStreamsFrameRateAndBitRateDataRequest& request) const;
 			DescribeLiveStreamsNotifyUrlConfigOutcome describeLiveStreamsNotifyUrlConfig(const Model::DescribeLiveStreamsNotifyUrlConfigRequest &request)const;
 			void describeLiveStreamsNotifyUrlConfigAsync(const Model::DescribeLiveStreamsNotifyUrlConfigRequest& request, const DescribeLiveStreamsNotifyUrlConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveStreamsNotifyUrlConfigOutcomeCallable describeLiveStreamsNotifyUrlConfigCallable(const Model::DescribeLiveStreamsNotifyUrlConfigRequest& request) const;
@@ -1526,6 +1544,9 @@ namespace AlibabaCloud
 			DescribeLiveUserTagsOutcome describeLiveUserTags(const Model::DescribeLiveUserTagsRequest &request)const;
 			void describeLiveUserTagsAsync(const Model::DescribeLiveUserTagsRequest& request, const DescribeLiveUserTagsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveUserTagsOutcomeCallable describeLiveUserTagsCallable(const Model::DescribeLiveUserTagsRequest& request) const;
+			DescribeLiveVerifyContentOutcome describeLiveVerifyContent(const Model::DescribeLiveVerifyContentRequest &request)const;
+			void describeLiveVerifyContentAsync(const Model::DescribeLiveVerifyContentRequest& request, const DescribeLiveVerifyContentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveVerifyContentOutcomeCallable describeLiveVerifyContentCallable(const Model::DescribeLiveVerifyContentRequest& request) const;
 			DescribeMixStreamListOutcome describeMixStreamList(const Model::DescribeMixStreamListRequest &request)const;
 			void describeMixStreamListAsync(const Model::DescribeMixStreamListRequest& request, const DescribeMixStreamListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeMixStreamListOutcomeCallable describeMixStreamListCallable(const Model::DescribeMixStreamListRequest& request) const;
@@ -1724,6 +1745,9 @@ namespace AlibabaCloud
 			UpdateMixStreamOutcome updateMixStream(const Model::UpdateMixStreamRequest &request)const;
 			void updateMixStreamAsync(const Model::UpdateMixStreamRequest& request, const UpdateMixStreamAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateMixStreamOutcomeCallable updateMixStreamCallable(const Model::UpdateMixStreamRequest& request) const;
+			VerifyLiveDomainOwnerOutcome verifyLiveDomainOwner(const Model::VerifyLiveDomainOwnerRequest &request)const;
+			void verifyLiveDomainOwnerAsync(const Model::VerifyLiveDomainOwnerRequest& request, const VerifyLiveDomainOwnerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			VerifyLiveDomainOwnerOutcomeCallable verifyLiveDomainOwnerCallable(const Model::VerifyLiveDomainOwnerRequest& request) const;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

+ 3 - 0
live/include/alibabacloud/live/model/AddLiveStreamTranscodeRequest.h

@@ -43,6 +43,8 @@ namespace AlibabaCloud
 				void setMix(const std::string& mix);
 				std::string getApp()const;
 				void setApp(const std::string& app);
+				std::string getEncryptParameters()const;
+				void setEncryptParameters(const std::string& encryptParameters);
 				std::string getWatermark()const;
 				void setWatermark(const std::string& watermark);
 				long getOwnerId()const;
@@ -59,6 +61,7 @@ namespace AlibabaCloud
 				std::string lazy_;
 				std::string mix_;
 				std::string app_;
+				std::string encryptParameters_;
 				std::string watermark_;
 				long ownerId_;
 				std::string domain_;

+ 54 - 0
live/include/alibabacloud/live/model/DeleteLiveDomainPlayMappingRequest.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_DELETELIVEDOMAINPLAYMAPPINGREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETELIVEDOMAINPLAYMAPPINGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DeleteLiveDomainPlayMappingRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteLiveDomainPlayMappingRequest();
+				~DeleteLiveDomainPlayMappingRequest();
+
+				std::string getPlayDomain()const;
+				void setPlayDomain(const std::string& playDomain);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getPullDomain()const;
+				void setPullDomain(const std::string& pullDomain);
+
+            private:
+				std::string playDomain_;
+				long ownerId_;
+				std::string pullDomain_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETELIVEDOMAINPLAYMAPPINGREQUEST_H_

+ 7 - 17
live/include/alibabacloud/live/model/DescribeLiveStreamOnlineUserNumResult.h → live/include/alibabacloud/live/model/DeleteLiveDomainPlayMappingResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMONLINEUSERNUMRESULT_H_
-#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMONLINEUSERNUMRESULT_H_
+#ifndef ALIBABACLOUD_LIVE_MODEL_DELETELIVEDOMAINPLAYMAPPINGRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETELIVEDOMAINPLAYMAPPINGRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,31 +29,21 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveStreamOnlineUserNumResult : public ServiceResult
+			class ALIBABACLOUD_LIVE_EXPORT DeleteLiveDomainPlayMappingResult : public ServiceResult
 			{
 			public:
-				struct LiveStreamOnlineUserNumInfo
-				{
-					std::string time;
-					std::string streamUrl;
-					long userNumber;
-				};
 
 
-				DescribeLiveStreamOnlineUserNumResult();
-				explicit DescribeLiveStreamOnlineUserNumResult(const std::string &payload);
-				~DescribeLiveStreamOnlineUserNumResult();
-				std::vector<LiveStreamOnlineUserNumInfo> getOnlineUserInfo()const;
-				long getTotalUserNumber()const;
+				DeleteLiveDomainPlayMappingResult();
+				explicit DeleteLiveDomainPlayMappingResult(const std::string &payload);
+				~DeleteLiveDomainPlayMappingResult();
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::vector<LiveStreamOnlineUserNumInfo> onlineUserInfo_;
-				long totalUserNumber_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMONLINEUSERNUMRESULT_H_
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETELIVEDOMAINPLAYMAPPINGRESULT_H_

+ 6 - 3
live/include/alibabacloud/live/model/DescribeCasterComponentsResult.h

@@ -57,15 +57,18 @@ namespace AlibabaCloud
 					};
 					struct CaptionLayerContent
 					{
-						int ptsOffset;
 						float borderWidthNormalized;
-						float sizeNormalized;
 						std::string color;
 						std::string locationId;
-						std::string fontName;
+						std::string sourceLan;
+						bool showSourceLan;
 						std::string borderColor;
 						int wordCountPerLine;
+						int ptsOffset;
+						float sizeNormalized;
+						std::string fontName;
 						float wordSpaceNormalized;
+						std::string targetLan;
 						int wordsCount;
 						float lineSpaceNormalized;
 					};

+ 18 - 15
live/include/alibabacloud/live/model/DescribeLiveStreamsFrameRateAndBitRateDataRequest.h → live/include/alibabacloud/live/model/DescribeDomainUsageDataRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMSFRAMERATEANDBITRATEDATAREQUEST_H_
-#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMSFRAMERATEANDBITRATEDATAREQUEST_H_
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBEDOMAINUSAGEDATAREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBEDOMAINUSAGEDATAREQUEST_H_
 
 #include <string>
 #include <vector>
@@ -28,39 +28,42 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveStreamsFrameRateAndBitRateDataRequest : public RpcServiceRequest
+			class ALIBABACLOUD_LIVE_EXPORT DescribeDomainUsageDataRequest : public RpcServiceRequest
 			{
 
 			public:
-				DescribeLiveStreamsFrameRateAndBitRateDataRequest();
-				~DescribeLiveStreamsFrameRateAndBitRateDataRequest();
+				DescribeDomainUsageDataRequest();
+				~DescribeDomainUsageDataRequest();
 
 				std::string getStartTime()const;
 				void setStartTime(const std::string& startTime);
-				std::string getAppName()const;
-				void setAppName(const std::string& appName);
-				std::string getSecurityToken()const;
-				void setSecurityToken(const std::string& securityToken);
-				std::string getStreamName()const;
-				void setStreamName(const std::string& streamName);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getArea()const;
+				void setArea(const std::string& area);
 				std::string getDomainName()const;
 				void setDomainName(const std::string& domainName);
 				std::string getEndTime()const;
 				void setEndTime(const std::string& endTime);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
+				std::string getField()const;
+				void setField(const std::string& field);
+				std::string getInterval()const;
+				void setInterval(const std::string& interval);
 
             private:
 				std::string startTime_;
-				std::string appName_;
-				std::string securityToken_;
-				std::string streamName_;
+				std::string type_;
+				std::string area_;
 				std::string domainName_;
 				std::string endTime_;
 				long ownerId_;
+				std::string field_;
+				std::string interval_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMSFRAMERATEANDBITRATEDATAREQUEST_H_
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBEDOMAINUSAGEDATAREQUEST_H_

+ 68 - 0
live/include/alibabacloud/live/model/DescribeDomainUsageDataResult.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_LIVE_MODEL_DESCRIBEDOMAINUSAGEDATARESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBEDOMAINUSAGEDATARESULT_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 DescribeDomainUsageDataResult : public ServiceResult
+			{
+			public:
+				struct DataModule
+				{
+					std::string value;
+					std::string timeStamp;
+				};
+
+
+				DescribeDomainUsageDataResult();
+				explicit DescribeDomainUsageDataResult(const std::string &payload);
+				~DescribeDomainUsageDataResult();
+				std::vector<DataModule> getUsageDataPerInterval()const;
+				std::string getField()const;
+				std::string getArea()const;
+				std::string getEndTime()const;
+				std::string getDomainName()const;
+				std::string getStartTime()const;
+				std::string getDataInterval()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DataModule> usageDataPerInterval_;
+				std::string field_;
+				std::string area_;
+				std::string endTime_;
+				std::string domainName_;
+				std::string startTime_;
+				std::string dataInterval_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBEDOMAINUSAGEDATARESULT_H_

+ 0 - 2
live/include/alibabacloud/live/model/DescribeLiveCertificateDetailResult.h

@@ -40,7 +40,6 @@ namespace AlibabaCloud
 				long getCertId()const;
 				std::string getCert()const;
 				std::string getCertName()const;
-				std::string getKey()const;
 
 			protected:
 				void parse(const std::string &payload);
@@ -48,7 +47,6 @@ namespace AlibabaCloud
 				long certId_;
 				std::string cert_;
 				std::string certName_;
-				std::string key_;
 
 			};
 		}

+ 6 - 15
live/include/alibabacloud/live/model/DescribeLiveStreamOnlineUserNumRequest.h → live/include/alibabacloud/live/model/DescribeLiveDomainPvUvDataRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMONLINEUSERNUMREQUEST_H_
-#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMONLINEUSERNUMREQUEST_H_
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINPVUVDATAREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINPVUVDATAREQUEST_H_
 
 #include <string>
 #include <vector>
@@ -28,21 +28,15 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveStreamOnlineUserNumRequest : public RpcServiceRequest
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveDomainPvUvDataRequest : public RpcServiceRequest
 			{
 
 			public:
-				DescribeLiveStreamOnlineUserNumRequest();
-				~DescribeLiveStreamOnlineUserNumRequest();
+				DescribeLiveDomainPvUvDataRequest();
+				~DescribeLiveDomainPvUvDataRequest();
 
 				std::string getStartTime()const;
 				void setStartTime(const std::string& startTime);
-				std::string getAppName()const;
-				void setAppName(const std::string& appName);
-				std::string getSecurityToken()const;
-				void setSecurityToken(const std::string& securityToken);
-				std::string getStreamName()const;
-				void setStreamName(const std::string& streamName);
 				std::string getDomainName()const;
 				void setDomainName(const std::string& domainName);
 				std::string getEndTime()const;
@@ -52,9 +46,6 @@ namespace AlibabaCloud
 
             private:
 				std::string startTime_;
-				std::string appName_;
-				std::string securityToken_;
-				std::string streamName_;
 				std::string domainName_;
 				std::string endTime_;
 				long ownerId_;
@@ -63,4 +54,4 @@ namespace AlibabaCloud
 		}
 	}
 }
-#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMONLINEUSERNUMREQUEST_H_
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINPVUVDATAREQUEST_H_

+ 65 - 0
live/include/alibabacloud/live/model/DescribeLiveDomainPvUvDataResult.h

@@ -0,0 +1,65 @@
+/*
+ * 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_DESCRIBELIVEDOMAINPVUVDATARESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINPVUVDATARESULT_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 DescribeLiveDomainPvUvDataResult : public ServiceResult
+			{
+			public:
+				struct PvUvDataInfo
+				{
+					std::string uV;
+					std::string pV;
+					std::string timeStamp;
+				};
+
+
+				DescribeLiveDomainPvUvDataResult();
+				explicit DescribeLiveDomainPvUvDataResult(const std::string &payload);
+				~DescribeLiveDomainPvUvDataResult();
+				std::string getEndTime()const;
+				std::string getDomainName()const;
+				std::string getStartTime()const;
+				std::string getDataInterval()const;
+				std::vector<PvUvDataInfo> getPvUvDataInfos()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string endTime_;
+				std::string domainName_;
+				std::string startTime_;
+				std::string dataInterval_;
+				std::vector<PvUvDataInfo> pvUvDataInfos_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEDOMAINPVUVDATARESULT_H_

+ 7 - 0
live/include/alibabacloud/live/model/DescribeLiveStreamTranscodeInfoResult.h

@@ -51,8 +51,15 @@ namespace AlibabaCloud
 						int audioRate;
 						int videoBitrate;
 					};
+					struct EncryptParameters
+					{
+						std::string encryptType;
+						std::string kmsKeyID;
+						std::string kmsKeyExpireInterval;
+					};
 					std::string transcodeTemplate;
 					CustomTranscodeParameters customTranscodeParameters;
+					EncryptParameters encryptParameters;
 					std::string transcodeApp;
 					std::string transcodeName;
 				};

+ 6 - 3
live/include/alibabacloud/live/model/DescribeLiveStreamsControlHistoryRequest.h

@@ -39,22 +39,25 @@ namespace AlibabaCloud
 				void setStartTime(const std::string& startTime);
 				std::string getAppName()const;
 				void setAppName(const std::string& appName);
-				std::string getSecurityToken()const;
-				void setSecurityToken(const std::string& securityToken);
 				std::string getDomainName()const;
 				void setDomainName(const std::string& domainName);
 				std::string getEndTime()const;
 				void setEndTime(const std::string& endTime);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
+				int getRows()const;
+				void setRows(int rows);
+				int getPage()const;
+				void setPage(int page);
 
             private:
 				std::string startTime_;
 				std::string appName_;
-				std::string securityToken_;
 				std::string domainName_;
 				std::string endTime_;
 				long ownerId_;
+				int rows_;
+				int page_;
 
 			};
 		}

+ 51 - 0
live/include/alibabacloud/live/model/DescribeLiveVerifyContentRequest.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_DESCRIBELIVEVERIFYCONTENTREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEVERIFYCONTENTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveVerifyContentRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeLiveVerifyContentRequest();
+				~DescribeLiveVerifyContentRequest();
+
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				std::string domainName_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEVERIFYCONTENTREQUEST_H_

+ 9 - 17
live/include/alibabacloud/live/model/DescribeLiveStreamsFrameRateAndBitRateDataResult.h → live/include/alibabacloud/live/model/DescribeLiveVerifyContentResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMSFRAMERATEANDBITRATEDATARESULT_H_
-#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMSFRAMERATEANDBITRATEDATARESULT_H_
+#ifndef ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEVERIFYCONTENTRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEVERIFYCONTENTRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,31 +29,23 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveStreamsFrameRateAndBitRateDataResult : public ServiceResult
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveVerifyContentResult : public ServiceResult
 			{
 			public:
-				struct FrameRateAndBitRateInfo
-				{
-					float videoFrameRate;
-					std::string time;
-					float audioFrameRate;
-					float bitRate;
-					std::string streamUrl;
-				};
 
 
-				DescribeLiveStreamsFrameRateAndBitRateDataResult();
-				explicit DescribeLiveStreamsFrameRateAndBitRateDataResult(const std::string &payload);
-				~DescribeLiveStreamsFrameRateAndBitRateDataResult();
-				std::vector<FrameRateAndBitRateInfo> getFrameRateAndBitRateInfos()const;
+				DescribeLiveVerifyContentResult();
+				explicit DescribeLiveVerifyContentResult(const std::string &payload);
+				~DescribeLiveVerifyContentResult();
+				std::string getContent()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::vector<FrameRateAndBitRateInfo> frameRateAndBitRateInfos_;
+				std::string content_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVESTREAMSFRAMERATEANDBITRATEDATARESULT_H_
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEVERIFYCONTENTRESULT_H_

+ 3 - 0
live/include/alibabacloud/live/model/SetLiveStreamsNotifyUrlConfigRequest.h

@@ -41,6 +41,8 @@ namespace AlibabaCloud
 				void setAuthType(const std::string& authType);
 				std::string getNotifyUrl()const;
 				void setNotifyUrl(const std::string& notifyUrl);
+				std::string getNotifyType()const;
+				void setNotifyType(const std::string& notifyType);
 				std::string getDomainName()const;
 				void setDomainName(const std::string& domainName);
 				long getOwnerId()const;
@@ -50,6 +52,7 @@ namespace AlibabaCloud
 				std::string authKey_;
 				std::string authType_;
 				std::string notifyUrl_;
+				std::string notifyType_;
 				std::string domainName_;
 				long ownerId_;
 

+ 54 - 0
live/include/alibabacloud/live/model/VerifyLiveDomainOwnerRequest.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_VERIFYLIVEDOMAINOWNERREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_VERIFYLIVEDOMAINOWNERREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT VerifyLiveDomainOwnerRequest : public RpcServiceRequest
+			{
+
+			public:
+				VerifyLiveDomainOwnerRequest();
+				~VerifyLiveDomainOwnerRequest();
+
+				std::string getVerifyType()const;
+				void setVerifyType(const std::string& verifyType);
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				std::string verifyType_;
+				std::string domainName_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_VERIFYLIVEDOMAINOWNERREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/VerifyLiveDomainOwnerResult.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_VERIFYLIVEDOMAINOWNERRESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_VERIFYLIVEDOMAINOWNERRESULT_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 VerifyLiveDomainOwnerResult : public ServiceResult
+			{
+			public:
+
+
+				VerifyLiveDomainOwnerResult();
+				explicit VerifyLiveDomainOwnerResult(const std::string &payload);
+				~VerifyLiveDomainOwnerResult();
+				std::string getContent()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string content_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_VERIFYLIVEDOMAINOWNERRESULT_H_

+ 180 - 72
live/src/LiveClient.cc

@@ -2139,6 +2139,42 @@ LiveClient::DeleteLiveDomainMappingOutcomeCallable LiveClient::deleteLiveDomainM
 	return task->get_future();
 }
 
+LiveClient::DeleteLiveDomainPlayMappingOutcome LiveClient::deleteLiveDomainPlayMapping(const DeleteLiveDomainPlayMappingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteLiveDomainPlayMappingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteLiveDomainPlayMappingOutcome(DeleteLiveDomainPlayMappingResult(outcome.result()));
+	else
+		return DeleteLiveDomainPlayMappingOutcome(outcome.error());
+}
+
+void LiveClient::deleteLiveDomainPlayMappingAsync(const DeleteLiveDomainPlayMappingRequest& request, const DeleteLiveDomainPlayMappingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteLiveDomainPlayMapping(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DeleteLiveDomainPlayMappingOutcomeCallable LiveClient::deleteLiveDomainPlayMappingCallable(const DeleteLiveDomainPlayMappingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteLiveDomainPlayMappingOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteLiveDomainPlayMapping(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DeleteLiveLazyPullStreamInfoConfigOutcome LiveClient::deleteLiveLazyPullStreamInfoConfig(const DeleteLiveLazyPullStreamInfoConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3075,6 +3111,42 @@ LiveClient::DescribeCastersOutcomeCallable LiveClient::describeCastersCallable(c
 	return task->get_future();
 }
 
+LiveClient::DescribeDomainUsageDataOutcome LiveClient::describeDomainUsageData(const DescribeDomainUsageDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDomainUsageDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDomainUsageDataOutcome(DescribeDomainUsageDataResult(outcome.result()));
+	else
+		return DescribeDomainUsageDataOutcome(outcome.error());
+}
+
+void LiveClient::describeDomainUsageDataAsync(const DescribeDomainUsageDataRequest& request, const DescribeDomainUsageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDomainUsageData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeDomainUsageDataOutcomeCallable LiveClient::describeDomainUsageDataCallable(const DescribeDomainUsageDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDomainUsageDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDomainUsageData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeForbidPushStreamRoomListOutcome LiveClient::describeForbidPushStreamRoomList(const DescribeForbidPushStreamRoomListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3831,6 +3903,42 @@ LiveClient::DescribeLiveDomainPushTrafficDataOutcomeCallable LiveClient::describ
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveDomainPvUvDataOutcome LiveClient::describeLiveDomainPvUvData(const DescribeLiveDomainPvUvDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveDomainPvUvDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveDomainPvUvDataOutcome(DescribeLiveDomainPvUvDataResult(outcome.result()));
+	else
+		return DescribeLiveDomainPvUvDataOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveDomainPvUvDataAsync(const DescribeLiveDomainPvUvDataRequest& request, const DescribeLiveDomainPvUvDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveDomainPvUvData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveDomainPvUvDataOutcomeCallable LiveClient::describeLiveDomainPvUvDataCallable(const DescribeLiveDomainPvUvDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveDomainPvUvDataOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveDomainPvUvData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveDomainRealTimeBpsDataOutcome LiveClient::describeLiveDomainRealTimeBpsData(const DescribeLiveDomainRealTimeBpsDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4623,42 +4731,6 @@ LiveClient::DescribeLiveStreamHistoryUserNumOutcomeCallable LiveClient::describe
 	return task->get_future();
 }
 
-LiveClient::DescribeLiveStreamOnlineUserNumOutcome LiveClient::describeLiveStreamOnlineUserNum(const DescribeLiveStreamOnlineUserNumRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return DescribeLiveStreamOnlineUserNumOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return DescribeLiveStreamOnlineUserNumOutcome(DescribeLiveStreamOnlineUserNumResult(outcome.result()));
-	else
-		return DescribeLiveStreamOnlineUserNumOutcome(outcome.error());
-}
-
-void LiveClient::describeLiveStreamOnlineUserNumAsync(const DescribeLiveStreamOnlineUserNumRequest& request, const DescribeLiveStreamOnlineUserNumAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, describeLiveStreamOnlineUserNum(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-LiveClient::DescribeLiveStreamOnlineUserNumOutcomeCallable LiveClient::describeLiveStreamOnlineUserNumCallable(const DescribeLiveStreamOnlineUserNumRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<DescribeLiveStreamOnlineUserNumOutcome()>>(
-			[this, request]()
-			{
-			return this->describeLiveStreamOnlineUserNum(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 LiveClient::DescribeLiveStreamOptimizedFeatureConfigOutcome LiveClient::describeLiveStreamOptimizedFeatureConfig(const DescribeLiveStreamOptimizedFeatureConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4983,42 +5055,6 @@ LiveClient::DescribeLiveStreamsControlHistoryOutcomeCallable LiveClient::describ
 	return task->get_future();
 }
 
-LiveClient::DescribeLiveStreamsFrameRateAndBitRateDataOutcome LiveClient::describeLiveStreamsFrameRateAndBitRateData(const DescribeLiveStreamsFrameRateAndBitRateDataRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return DescribeLiveStreamsFrameRateAndBitRateDataOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return DescribeLiveStreamsFrameRateAndBitRateDataOutcome(DescribeLiveStreamsFrameRateAndBitRateDataResult(outcome.result()));
-	else
-		return DescribeLiveStreamsFrameRateAndBitRateDataOutcome(outcome.error());
-}
-
-void LiveClient::describeLiveStreamsFrameRateAndBitRateDataAsync(const DescribeLiveStreamsFrameRateAndBitRateDataRequest& request, const DescribeLiveStreamsFrameRateAndBitRateDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, describeLiveStreamsFrameRateAndBitRateData(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-LiveClient::DescribeLiveStreamsFrameRateAndBitRateDataOutcomeCallable LiveClient::describeLiveStreamsFrameRateAndBitRateDataCallable(const DescribeLiveStreamsFrameRateAndBitRateDataRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<DescribeLiveStreamsFrameRateAndBitRateDataOutcome()>>(
-			[this, request]()
-			{
-			return this->describeLiveStreamsFrameRateAndBitRateData(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 LiveClient::DescribeLiveStreamsNotifyUrlConfigOutcome LiveClient::describeLiveStreamsNotifyUrlConfig(const DescribeLiveStreamsNotifyUrlConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5271,6 +5307,42 @@ LiveClient::DescribeLiveUserTagsOutcomeCallable LiveClient::describeLiveUserTags
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveVerifyContentOutcome LiveClient::describeLiveVerifyContent(const DescribeLiveVerifyContentRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveVerifyContentOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveVerifyContentOutcome(DescribeLiveVerifyContentResult(outcome.result()));
+	else
+		return DescribeLiveVerifyContentOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveVerifyContentAsync(const DescribeLiveVerifyContentRequest& request, const DescribeLiveVerifyContentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveVerifyContent(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveVerifyContentOutcomeCallable LiveClient::describeLiveVerifyContentCallable(const DescribeLiveVerifyContentRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveVerifyContentOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveVerifyContent(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeMixStreamListOutcome LiveClient::describeMixStreamList(const DescribeMixStreamListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7647,3 +7719,39 @@ LiveClient::UpdateMixStreamOutcomeCallable LiveClient::updateMixStreamCallable(c
 	return task->get_future();
 }
 
+LiveClient::VerifyLiveDomainOwnerOutcome LiveClient::verifyLiveDomainOwner(const VerifyLiveDomainOwnerRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return VerifyLiveDomainOwnerOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return VerifyLiveDomainOwnerOutcome(VerifyLiveDomainOwnerResult(outcome.result()));
+	else
+		return VerifyLiveDomainOwnerOutcome(outcome.error());
+}
+
+void LiveClient::verifyLiveDomainOwnerAsync(const VerifyLiveDomainOwnerRequest& request, const VerifyLiveDomainOwnerAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, verifyLiveDomainOwner(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::VerifyLiveDomainOwnerOutcomeCallable LiveClient::verifyLiveDomainOwnerCallable(const VerifyLiveDomainOwnerRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<VerifyLiveDomainOwnerOutcome()>>(
+			[this, request]()
+			{
+			return this->verifyLiveDomainOwner(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+

+ 11 - 0
live/src/model/AddLiveStreamTranscodeRequest.cc

@@ -71,6 +71,17 @@ void AddLiveStreamTranscodeRequest::setApp(const std::string& app)
 	setParameter("App", app);
 }
 
+std::string AddLiveStreamTranscodeRequest::getEncryptParameters()const
+{
+	return encryptParameters_;
+}
+
+void AddLiveStreamTranscodeRequest::setEncryptParameters(const std::string& encryptParameters)
+{
+	encryptParameters_ = encryptParameters;
+	setParameter("EncryptParameters", encryptParameters);
+}
+
 std::string AddLiveStreamTranscodeRequest::getWatermark()const
 {
 	return watermark_;

+ 62 - 0
live/src/model/DeleteLiveDomainPlayMappingRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DeleteLiveDomainPlayMappingRequest.h>
+
+using AlibabaCloud::Live::Model::DeleteLiveDomainPlayMappingRequest;
+
+DeleteLiveDomainPlayMappingRequest::DeleteLiveDomainPlayMappingRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DeleteLiveDomainPlayMapping")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteLiveDomainPlayMappingRequest::~DeleteLiveDomainPlayMappingRequest()
+{}
+
+std::string DeleteLiveDomainPlayMappingRequest::getPlayDomain()const
+{
+	return playDomain_;
+}
+
+void DeleteLiveDomainPlayMappingRequest::setPlayDomain(const std::string& playDomain)
+{
+	playDomain_ = playDomain;
+	setParameter("PlayDomain", playDomain);
+}
+
+long DeleteLiveDomainPlayMappingRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DeleteLiveDomainPlayMappingRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DeleteLiveDomainPlayMappingRequest::getPullDomain()const
+{
+	return pullDomain_;
+}
+
+void DeleteLiveDomainPlayMappingRequest::setPullDomain(const std::string& pullDomain)
+{
+	pullDomain_ = pullDomain;
+	setParameter("PullDomain", pullDomain);
+}
+

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

+ 12 - 12
live/src/model/DescribeBoardSnapshotResult.cc

@@ -57,20 +57,20 @@ void DescribeBoardSnapshotResult::parse(const std::string &payload)
 		Snapshot::Board::Page pageObject;
 		if(!boardNodePagesPage["PageIndex"].isNull())
 			pageObject.pageIndex = std::stoi(boardNodePagesPage["PageIndex"].asString());
-		auto allElementsNode = allPagesNode["Elements"]["Element"];
-		for (auto allPagesNodeElementsElement : allElementsNode)
+		auto allElementsNode = boardNodePagesPage["Elements"]["Element"];
+		for (auto boardNodePagesPageElementsElement : allElementsNode)
 		{
 			Snapshot::Board::Page::Element elementsObject;
-			if(!allPagesNodeElementsElement["ElementIndex"].isNull())
-				elementsObject.elementIndex = allPagesNodeElementsElement["ElementIndex"].asString();
-			if(!allPagesNodeElementsElement["OwnerId"].isNull())
-				elementsObject.ownerId = allPagesNodeElementsElement["OwnerId"].asString();
-			if(!allPagesNodeElementsElement["ElementType"].isNull())
-				elementsObject.elementType = std::stoi(allPagesNodeElementsElement["ElementType"].asString());
-			if(!allPagesNodeElementsElement["UpdateTimestamp"].isNull())
-				elementsObject.updateTimestamp = std::stol(allPagesNodeElementsElement["UpdateTimestamp"].asString());
-			if(!allPagesNodeElementsElement["Data"].isNull())
-				elementsObject.data = allPagesNodeElementsElement["Data"].asString();
+			if(!boardNodePagesPageElementsElement["ElementIndex"].isNull())
+				elementsObject.elementIndex = boardNodePagesPageElementsElement["ElementIndex"].asString();
+			if(!boardNodePagesPageElementsElement["OwnerId"].isNull())
+				elementsObject.ownerId = boardNodePagesPageElementsElement["OwnerId"].asString();
+			if(!boardNodePagesPageElementsElement["ElementType"].isNull())
+				elementsObject.elementType = std::stoi(boardNodePagesPageElementsElement["ElementType"].asString());
+			if(!boardNodePagesPageElementsElement["UpdateTimestamp"].isNull())
+				elementsObject.updateTimestamp = std::stol(boardNodePagesPageElementsElement["UpdateTimestamp"].asString());
+			if(!boardNodePagesPageElementsElement["Data"].isNull())
+				elementsObject.data = boardNodePagesPageElementsElement["Data"].asString();
 			pageObject.elements.push_back(elementsObject);
 		}
 		snapshot_.board.pages.push_back(pageObject);

+ 6 - 0
live/src/model/DescribeCasterComponentsResult.cc

@@ -92,6 +92,12 @@ void DescribeCasterComponentsResult::parse(const std::string &payload)
 			componentsObject.captionLayerContent.color = captionLayerContentNode["Color"].asString();
 		if(!captionLayerContentNode["FontName"].isNull())
 			componentsObject.captionLayerContent.fontName = captionLayerContentNode["FontName"].asString();
+		if(!captionLayerContentNode["SourceLan"].isNull())
+			componentsObject.captionLayerContent.sourceLan = captionLayerContentNode["SourceLan"].asString();
+		if(!captionLayerContentNode["TargetLan"].isNull())
+			componentsObject.captionLayerContent.targetLan = captionLayerContentNode["TargetLan"].asString();
+		if(!captionLayerContentNode["ShowSourceLan"].isNull())
+			componentsObject.captionLayerContent.showSourceLan = captionLayerContentNode["ShowSourceLan"].asString() == "true";
 		if(!captionLayerContentNode["SizeNormalized"].isNull())
 			componentsObject.captionLayerContent.sizeNormalized = std::stof(captionLayerContentNode["SizeNormalized"].asString());
 		if(!captionLayerContentNode["BorderWidthNormalized"].isNull())

+ 20 - 20
live/src/model/DescribeCasterLayoutsResult.cc

@@ -45,35 +45,35 @@ void DescribeCasterLayoutsResult::parse(const std::string &payload)
 		Layout layoutsObject;
 		if(!valueLayoutsLayout["LayoutId"].isNull())
 			layoutsObject.layoutId = valueLayoutsLayout["LayoutId"].asString();
-		auto allVideoLayersNode = allLayoutsNode["VideoLayers"]["VideoLayer"];
-		for (auto allLayoutsNodeVideoLayersVideoLayer : allVideoLayersNode)
+		auto allVideoLayersNode = valueLayoutsLayout["VideoLayers"]["VideoLayer"];
+		for (auto valueLayoutsLayoutVideoLayersVideoLayer : allVideoLayersNode)
 		{
 			Layout::VideoLayer videoLayersObject;
-			if(!allLayoutsNodeVideoLayersVideoLayer["FillMode"].isNull())
-				videoLayersObject.fillMode = allLayoutsNodeVideoLayersVideoLayer["FillMode"].asString();
-			if(!allLayoutsNodeVideoLayersVideoLayer["HeightNormalized"].isNull())
-				videoLayersObject.heightNormalized = std::stof(allLayoutsNodeVideoLayersVideoLayer["HeightNormalized"].asString());
-			if(!allLayoutsNodeVideoLayersVideoLayer["WidthNormalized"].isNull())
-				videoLayersObject.widthNormalized = std::stof(allLayoutsNodeVideoLayersVideoLayer["WidthNormalized"].asString());
-			if(!allLayoutsNodeVideoLayersVideoLayer["PositionRefer"].isNull())
-				videoLayersObject.positionRefer = allLayoutsNodeVideoLayersVideoLayer["PositionRefer"].asString();
-			if(!allLayoutsNodeVideoLayersVideoLayer["FixedDelayDuration"].isNull())
-				videoLayersObject.fixedDelayDuration = std::stoi(allLayoutsNodeVideoLayersVideoLayer["FixedDelayDuration"].asString());
+			if(!valueLayoutsLayoutVideoLayersVideoLayer["FillMode"].isNull())
+				videoLayersObject.fillMode = valueLayoutsLayoutVideoLayersVideoLayer["FillMode"].asString();
+			if(!valueLayoutsLayoutVideoLayersVideoLayer["HeightNormalized"].isNull())
+				videoLayersObject.heightNormalized = std::stof(valueLayoutsLayoutVideoLayersVideoLayer["HeightNormalized"].asString());
+			if(!valueLayoutsLayoutVideoLayersVideoLayer["WidthNormalized"].isNull())
+				videoLayersObject.widthNormalized = std::stof(valueLayoutsLayoutVideoLayersVideoLayer["WidthNormalized"].asString());
+			if(!valueLayoutsLayoutVideoLayersVideoLayer["PositionRefer"].isNull())
+				videoLayersObject.positionRefer = valueLayoutsLayoutVideoLayersVideoLayer["PositionRefer"].asString();
+			if(!valueLayoutsLayoutVideoLayersVideoLayer["FixedDelayDuration"].isNull())
+				videoLayersObject.fixedDelayDuration = std::stoi(valueLayoutsLayoutVideoLayersVideoLayer["FixedDelayDuration"].asString());
 			auto allPositionNormalizeds = value["PositionNormalizeds"]["Position"];
 			for (auto value : allPositionNormalizeds)
 				videoLayersObject.positionNormalizeds.push_back(value.asString());
 			layoutsObject.videoLayers.push_back(videoLayersObject);
 		}
-		auto allAudioLayersNode = allLayoutsNode["AudioLayers"]["AudioLayer"];
-		for (auto allLayoutsNodeAudioLayersAudioLayer : allAudioLayersNode)
+		auto allAudioLayersNode = valueLayoutsLayout["AudioLayers"]["AudioLayer"];
+		for (auto valueLayoutsLayoutAudioLayersAudioLayer : allAudioLayersNode)
 		{
 			Layout::AudioLayer audioLayersObject;
-			if(!allLayoutsNodeAudioLayersAudioLayer["VolumeRate"].isNull())
-				audioLayersObject.volumeRate = std::stof(allLayoutsNodeAudioLayersAudioLayer["VolumeRate"].asString());
-			if(!allLayoutsNodeAudioLayersAudioLayer["ValidChannel"].isNull())
-				audioLayersObject.validChannel = allLayoutsNodeAudioLayersAudioLayer["ValidChannel"].asString();
-			if(!allLayoutsNodeAudioLayersAudioLayer["FixedDelayDuration"].isNull())
-				audioLayersObject.fixedDelayDuration = std::stoi(allLayoutsNodeAudioLayersAudioLayer["FixedDelayDuration"].asString());
+			if(!valueLayoutsLayoutAudioLayersAudioLayer["VolumeRate"].isNull())
+				audioLayersObject.volumeRate = std::stof(valueLayoutsLayoutAudioLayersAudioLayer["VolumeRate"].asString());
+			if(!valueLayoutsLayoutAudioLayersAudioLayer["ValidChannel"].isNull())
+				audioLayersObject.validChannel = valueLayoutsLayoutAudioLayersAudioLayer["ValidChannel"].asString();
+			if(!valueLayoutsLayoutAudioLayersAudioLayer["FixedDelayDuration"].isNull())
+				audioLayersObject.fixedDelayDuration = std::stoi(valueLayoutsLayoutAudioLayersAudioLayer["FixedDelayDuration"].asString());
 			layoutsObject.audioLayers.push_back(audioLayersObject);
 		}
 		auto allBlendList = value["BlendList"]["LocationId"];

+ 8 - 8
live/src/model/DescribeCasterScenesResult.cc

@@ -55,16 +55,16 @@ void DescribeCasterScenesResult::parse(const std::string &payload)
 			sceneListObject.streamUrl = valueSceneListScene["StreamUrl"].asString();
 		if(!valueSceneListScene["Status"].isNull())
 			sceneListObject.status = std::stoi(valueSceneListScene["Status"].asString());
-		auto allStreamInfosNode = allSceneListNode["StreamInfos"]["StreamInfo"];
-		for (auto allSceneListNodeStreamInfosStreamInfo : allStreamInfosNode)
+		auto allStreamInfosNode = valueSceneListScene["StreamInfos"]["StreamInfo"];
+		for (auto valueSceneListSceneStreamInfosStreamInfo : allStreamInfosNode)
 		{
 			Scene::StreamInfo streamInfosObject;
-			if(!allSceneListNodeStreamInfosStreamInfo["TranscodeConfig"].isNull())
-				streamInfosObject.transcodeConfig = allSceneListNodeStreamInfosStreamInfo["TranscodeConfig"].asString();
-			if(!allSceneListNodeStreamInfosStreamInfo["VideoFormat"].isNull())
-				streamInfosObject.videoFormat = allSceneListNodeStreamInfosStreamInfo["VideoFormat"].asString();
-			if(!allSceneListNodeStreamInfosStreamInfo["OutputStreamUrl"].isNull())
-				streamInfosObject.outputStreamUrl = allSceneListNodeStreamInfosStreamInfo["OutputStreamUrl"].asString();
+			if(!valueSceneListSceneStreamInfosStreamInfo["TranscodeConfig"].isNull())
+				streamInfosObject.transcodeConfig = valueSceneListSceneStreamInfosStreamInfo["TranscodeConfig"].asString();
+			if(!valueSceneListSceneStreamInfosStreamInfo["VideoFormat"].isNull())
+				streamInfosObject.videoFormat = valueSceneListSceneStreamInfosStreamInfo["VideoFormat"].asString();
+			if(!valueSceneListSceneStreamInfosStreamInfo["OutputStreamUrl"].isNull())
+				streamInfosObject.outputStreamUrl = valueSceneListSceneStreamInfosStreamInfo["OutputStreamUrl"].asString();
 			sceneListObject.streamInfos.push_back(streamInfosObject);
 		}
 		auto allComponentIds = value["ComponentIds"]["componentId"];

+ 8 - 8
live/src/model/DescribeCasterStreamUrlResult.cc

@@ -51,16 +51,16 @@ void DescribeCasterStreamUrlResult::parse(const std::string &payload)
 			casterStreamsObject.rtmpUrl = valueCasterStreamsCasterStream["RtmpUrl"].asString();
 		if(!valueCasterStreamsCasterStream["OutputType"].isNull())
 			casterStreamsObject.outputType = std::stoi(valueCasterStreamsCasterStream["OutputType"].asString());
-		auto allStreamInfosNode = allCasterStreamsNode["StreamInfos"]["StreamInfo"];
-		for (auto allCasterStreamsNodeStreamInfosStreamInfo : allStreamInfosNode)
+		auto allStreamInfosNode = valueCasterStreamsCasterStream["StreamInfos"]["StreamInfo"];
+		for (auto valueCasterStreamsCasterStreamStreamInfosStreamInfo : allStreamInfosNode)
 		{
 			CasterStream::StreamInfo streamInfosObject;
-			if(!allCasterStreamsNodeStreamInfosStreamInfo["TranscodeConfig"].isNull())
-				streamInfosObject.transcodeConfig = allCasterStreamsNodeStreamInfosStreamInfo["TranscodeConfig"].asString();
-			if(!allCasterStreamsNodeStreamInfosStreamInfo["VideoFormat"].isNull())
-				streamInfosObject.videoFormat = allCasterStreamsNodeStreamInfosStreamInfo["VideoFormat"].asString();
-			if(!allCasterStreamsNodeStreamInfosStreamInfo["OutputStreamUrl"].isNull())
-				streamInfosObject.outputStreamUrl = allCasterStreamsNodeStreamInfosStreamInfo["OutputStreamUrl"].asString();
+			if(!valueCasterStreamsCasterStreamStreamInfosStreamInfo["TranscodeConfig"].isNull())
+				streamInfosObject.transcodeConfig = valueCasterStreamsCasterStreamStreamInfosStreamInfo["TranscodeConfig"].asString();
+			if(!valueCasterStreamsCasterStreamStreamInfosStreamInfo["VideoFormat"].isNull())
+				streamInfosObject.videoFormat = valueCasterStreamsCasterStreamStreamInfosStreamInfo["VideoFormat"].asString();
+			if(!valueCasterStreamsCasterStreamStreamInfosStreamInfo["OutputStreamUrl"].isNull())
+				streamInfosObject.outputStreamUrl = valueCasterStreamsCasterStreamStreamInfosStreamInfo["OutputStreamUrl"].asString();
 			casterStreamsObject.streamInfos.push_back(streamInfosObject);
 		}
 		casterStreams_.push_back(casterStreamsObject);

+ 117 - 0
live/src/model/DescribeDomainUsageDataRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/DescribeDomainUsageDataRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeDomainUsageDataRequest;
+
+DescribeDomainUsageDataRequest::DescribeDomainUsageDataRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeDomainUsageData")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDomainUsageDataRequest::~DescribeDomainUsageDataRequest()
+{}
+
+std::string DescribeDomainUsageDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeDomainUsageDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeDomainUsageDataRequest::getType()const
+{
+	return type_;
+}
+
+void DescribeDomainUsageDataRequest::setType(const std::string& type)
+{
+	type_ = type;
+	setParameter("Type", type);
+}
+
+std::string DescribeDomainUsageDataRequest::getArea()const
+{
+	return area_;
+}
+
+void DescribeDomainUsageDataRequest::setArea(const std::string& area)
+{
+	area_ = area;
+	setParameter("Area", area);
+}
+
+std::string DescribeDomainUsageDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeDomainUsageDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeDomainUsageDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeDomainUsageDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+long DescribeDomainUsageDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDomainUsageDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDomainUsageDataRequest::getField()const
+{
+	return field_;
+}
+
+void DescribeDomainUsageDataRequest::setField(const std::string& field)
+{
+	field_ = field;
+	setParameter("Field", field);
+}
+
+std::string DescribeDomainUsageDataRequest::getInterval()const
+{
+	return interval_;
+}
+
+void DescribeDomainUsageDataRequest::setInterval(const std::string& interval)
+{
+	interval_ = interval;
+	setParameter("Interval", interval);
+}
+

+ 101 - 0
live/src/model/DescribeDomainUsageDataResult.cc

@@ -0,0 +1,101 @@
+/*
+ * 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/DescribeDomainUsageDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeDomainUsageDataResult::DescribeDomainUsageDataResult() :
+	ServiceResult()
+{}
+
+DescribeDomainUsageDataResult::DescribeDomainUsageDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDomainUsageDataResult::~DescribeDomainUsageDataResult()
+{}
+
+void DescribeDomainUsageDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allUsageDataPerIntervalNode = value["UsageDataPerInterval"]["DataModule"];
+	for (auto valueUsageDataPerIntervalDataModule : allUsageDataPerIntervalNode)
+	{
+		DataModule usageDataPerIntervalObject;
+		if(!valueUsageDataPerIntervalDataModule["TimeStamp"].isNull())
+			usageDataPerIntervalObject.timeStamp = valueUsageDataPerIntervalDataModule["TimeStamp"].asString();
+		if(!valueUsageDataPerIntervalDataModule["Value"].isNull())
+			usageDataPerIntervalObject.value = valueUsageDataPerIntervalDataModule["Value"].asString();
+		usageDataPerInterval_.push_back(usageDataPerIntervalObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["Field"].isNull())
+		field_ = value["Field"].asString();
+	if(!value["Area"].isNull())
+		area_ = value["Area"].asString();
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::vector<DescribeDomainUsageDataResult::DataModule> DescribeDomainUsageDataResult::getUsageDataPerInterval()const
+{
+	return usageDataPerInterval_;
+}
+
+std::string DescribeDomainUsageDataResult::getField()const
+{
+	return field_;
+}
+
+std::string DescribeDomainUsageDataResult::getArea()const
+{
+	return area_;
+}
+
+std::string DescribeDomainUsageDataResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::string DescribeDomainUsageDataResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::string DescribeDomainUsageDataResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string DescribeDomainUsageDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+

+ 12 - 12
live/src/model/DescribeHlsLiveStreamRealTimeBpsDataResult.cc

@@ -45,22 +45,22 @@ void DescribeHlsLiveStreamRealTimeBpsDataResult::parse(const std::string &payloa
 		UsageDataPerDomain usageDataObject;
 		if(!valueUsageDataUsageDataPerDomain["DomainName"].isNull())
 			usageDataObject.domainName = valueUsageDataUsageDataPerDomain["DomainName"].asString();
-		auto allStreamInfosNode = allUsageDataNode["StreamInfos"]["StreamInfo"];
-		for (auto allUsageDataNodeStreamInfosStreamInfo : allStreamInfosNode)
+		auto allStreamInfosNode = valueUsageDataUsageDataPerDomain["StreamInfos"]["StreamInfo"];
+		for (auto valueUsageDataUsageDataPerDomainStreamInfosStreamInfo : allStreamInfosNode)
 		{
 			UsageDataPerDomain::StreamInfo streamInfosObject;
-			if(!allUsageDataNodeStreamInfosStreamInfo["StreamName"].isNull())
-				streamInfosObject.streamName = allUsageDataNodeStreamInfosStreamInfo["StreamName"].asString();
-			auto allInfosNode = allStreamInfosNode["Infos"]["Info"];
-			for (auto allStreamInfosNodeInfosInfo : allInfosNode)
+			if(!valueUsageDataUsageDataPerDomainStreamInfosStreamInfo["StreamName"].isNull())
+				streamInfosObject.streamName = valueUsageDataUsageDataPerDomainStreamInfosStreamInfo["StreamName"].asString();
+			auto allInfosNode = valueUsageDataUsageDataPerDomainStreamInfosStreamInfo["Infos"]["Info"];
+			for (auto valueUsageDataUsageDataPerDomainStreamInfosStreamInfoInfosInfo : allInfosNode)
 			{
 				UsageDataPerDomain::StreamInfo::Info infosObject;
-				if(!allStreamInfosNodeInfosInfo["DownFlow"].isNull())
-					infosObject.downFlow = std::stof(allStreamInfosNodeInfosInfo["DownFlow"].asString());
-				if(!allStreamInfosNodeInfosInfo["Rate"].isNull())
-					infosObject.rate = allStreamInfosNodeInfosInfo["Rate"].asString();
-				if(!allStreamInfosNodeInfosInfo["Online"].isNull())
-					infosObject.online = std::stof(allStreamInfosNodeInfosInfo["Online"].asString());
+				if(!valueUsageDataUsageDataPerDomainStreamInfosStreamInfoInfosInfo["DownFlow"].isNull())
+					infosObject.downFlow = std::stof(valueUsageDataUsageDataPerDomainStreamInfosStreamInfoInfosInfo["DownFlow"].asString());
+				if(!valueUsageDataUsageDataPerDomainStreamInfosStreamInfoInfosInfo["Rate"].isNull())
+					infosObject.rate = valueUsageDataUsageDataPerDomainStreamInfosStreamInfoInfosInfo["Rate"].asString();
+				if(!valueUsageDataUsageDataPerDomainStreamInfosStreamInfoInfosInfo["Online"].isNull())
+					infosObject.online = std::stof(valueUsageDataUsageDataPerDomainStreamInfosStreamInfoInfosInfo["Online"].asString());
 				streamInfosObject.infos.push_back(infosObject);
 			}
 			usageDataObject.streamInfos.push_back(streamInfosObject);

+ 0 - 7
live/src/model/DescribeLiveCertificateDetailResult.cc

@@ -41,8 +41,6 @@ void DescribeLiveCertificateDetailResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	if(!value["Cert"].isNull())
 		cert_ = value["Cert"].asString();
-	if(!value["Key"].isNull())
-		key_ = value["Key"].asString();
 	if(!value["CertId"].isNull())
 		certId_ = std::stol(value["CertId"].asString());
 	if(!value["CertName"].isNull())
@@ -65,8 +63,3 @@ std::string DescribeLiveCertificateDetailResult::getCertName()const
 	return certName_;
 }
 
-std::string DescribeLiveCertificateDetailResult::getKey()const
-{
-	return key_;
-}
-

+ 6 - 6
live/src/model/DescribeLiveDomainConfigsResult.cc

@@ -49,14 +49,14 @@ void DescribeLiveDomainConfigsResult::parse(const std::string &payload)
 			domainConfigsObject.configId = valueDomainConfigsDomainConfig["ConfigId"].asString();
 		if(!valueDomainConfigsDomainConfig["Status"].isNull())
 			domainConfigsObject.status = valueDomainConfigsDomainConfig["Status"].asString();
-		auto allFunctionArgsNode = allDomainConfigsNode["FunctionArgs"]["FunctionArg"];
-		for (auto allDomainConfigsNodeFunctionArgsFunctionArg : allFunctionArgsNode)
+		auto allFunctionArgsNode = valueDomainConfigsDomainConfig["FunctionArgs"]["FunctionArg"];
+		for (auto valueDomainConfigsDomainConfigFunctionArgsFunctionArg : allFunctionArgsNode)
 		{
 			DomainConfig::FunctionArg functionArgsObject;
-			if(!allDomainConfigsNodeFunctionArgsFunctionArg["ArgName"].isNull())
-				functionArgsObject.argName = allDomainConfigsNodeFunctionArgsFunctionArg["ArgName"].asString();
-			if(!allDomainConfigsNodeFunctionArgsFunctionArg["ArgValue"].isNull())
-				functionArgsObject.argValue = allDomainConfigsNodeFunctionArgsFunctionArg["ArgValue"].asString();
+			if(!valueDomainConfigsDomainConfigFunctionArgsFunctionArg["ArgName"].isNull())
+				functionArgsObject.argName = valueDomainConfigsDomainConfigFunctionArgsFunctionArg["ArgName"].asString();
+			if(!valueDomainConfigsDomainConfigFunctionArgsFunctionArg["ArgValue"].isNull())
+				functionArgsObject.argValue = valueDomainConfigsDomainConfigFunctionArgsFunctionArg["ArgValue"].asString();
 			domainConfigsObject.functionArgs.push_back(functionArgsObject);
 		}
 		domainConfigs_.push_back(domainConfigsObject);

+ 6 - 6
live/src/model/DescribeLiveDomainOnlineUserNumResult.cc

@@ -45,14 +45,14 @@ void DescribeLiveDomainOnlineUserNumResult::parse(const std::string &payload)
 		LiveStreamOnlineUserNumInfo onlineUserInfoObject;
 		if(!valueOnlineUserInfoLiveStreamOnlineUserNumInfo["StreamName"].isNull())
 			onlineUserInfoObject.streamName = valueOnlineUserInfoLiveStreamOnlineUserNumInfo["StreamName"].asString();
-		auto allInfosNode = allOnlineUserInfoNode["Infos"]["Info"];
-		for (auto allOnlineUserInfoNodeInfosInfo : allInfosNode)
+		auto allInfosNode = valueOnlineUserInfoLiveStreamOnlineUserNumInfo["Infos"]["Info"];
+		for (auto valueOnlineUserInfoLiveStreamOnlineUserNumInfoInfosInfo : allInfosNode)
 		{
 			LiveStreamOnlineUserNumInfo::Info infosObject;
-			if(!allOnlineUserInfoNodeInfosInfo["TranscodeTemplate"].isNull())
-				infosObject.transcodeTemplate = allOnlineUserInfoNodeInfosInfo["TranscodeTemplate"].asString();
-			if(!allOnlineUserInfoNodeInfosInfo["UserNumber"].isNull())
-				infosObject.userNumber = std::stol(allOnlineUserInfoNodeInfosInfo["UserNumber"].asString());
+			if(!valueOnlineUserInfoLiveStreamOnlineUserNumInfoInfosInfo["TranscodeTemplate"].isNull())
+				infosObject.transcodeTemplate = valueOnlineUserInfoLiveStreamOnlineUserNumInfoInfosInfo["TranscodeTemplate"].asString();
+			if(!valueOnlineUserInfoLiveStreamOnlineUserNumInfoInfosInfo["UserNumber"].isNull())
+				infosObject.userNumber = std::stol(valueOnlineUserInfoLiveStreamOnlineUserNumInfoInfosInfo["UserNumber"].asString());
 			onlineUserInfoObject.infos.push_back(infosObject);
 		}
 		onlineUserInfo_.push_back(onlineUserInfoObject);

+ 73 - 0
live/src/model/DescribeLiveDomainPvUvDataRequest.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/DescribeLiveDomainPvUvDataRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveDomainPvUvDataRequest;
+
+DescribeLiveDomainPvUvDataRequest::DescribeLiveDomainPvUvDataRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeLiveDomainPvUvData")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeLiveDomainPvUvDataRequest::~DescribeLiveDomainPvUvDataRequest()
+{}
+
+std::string DescribeLiveDomainPvUvDataRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeLiveDomainPvUvDataRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string DescribeLiveDomainPvUvDataRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeLiveDomainPvUvDataRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+std::string DescribeLiveDomainPvUvDataRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeLiveDomainPvUvDataRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+long DescribeLiveDomainPvUvDataRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLiveDomainPvUvDataRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

+ 89 - 0
live/src/model/DescribeLiveDomainPvUvDataResult.cc

@@ -0,0 +1,89 @@
+/*
+ * 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/DescribeLiveDomainPvUvDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveDomainPvUvDataResult::DescribeLiveDomainPvUvDataResult() :
+	ServiceResult()
+{}
+
+DescribeLiveDomainPvUvDataResult::DescribeLiveDomainPvUvDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveDomainPvUvDataResult::~DescribeLiveDomainPvUvDataResult()
+{}
+
+void DescribeLiveDomainPvUvDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allPvUvDataInfosNode = value["PvUvDataInfos"]["PvUvDataInfo"];
+	for (auto valuePvUvDataInfosPvUvDataInfo : allPvUvDataInfosNode)
+	{
+		PvUvDataInfo pvUvDataInfosObject;
+		if(!valuePvUvDataInfosPvUvDataInfo["PV"].isNull())
+			pvUvDataInfosObject.pV = valuePvUvDataInfosPvUvDataInfo["PV"].asString();
+		if(!valuePvUvDataInfosPvUvDataInfo["UV"].isNull())
+			pvUvDataInfosObject.uV = valuePvUvDataInfosPvUvDataInfo["UV"].asString();
+		if(!valuePvUvDataInfosPvUvDataInfo["TimeStamp"].isNull())
+			pvUvDataInfosObject.timeStamp = valuePvUvDataInfosPvUvDataInfo["TimeStamp"].asString();
+		pvUvDataInfos_.push_back(pvUvDataInfosObject);
+	}
+	if(!value["DomainName"].isNull())
+		domainName_ = value["DomainName"].asString();
+	if(!value["StartTime"].isNull())
+		startTime_ = value["StartTime"].asString();
+	if(!value["EndTime"].isNull())
+		endTime_ = value["EndTime"].asString();
+	if(!value["DataInterval"].isNull())
+		dataInterval_ = value["DataInterval"].asString();
+
+}
+
+std::string DescribeLiveDomainPvUvDataResult::getEndTime()const
+{
+	return endTime_;
+}
+
+std::string DescribeLiveDomainPvUvDataResult::getDomainName()const
+{
+	return domainName_;
+}
+
+std::string DescribeLiveDomainPvUvDataResult::getStartTime()const
+{
+	return startTime_;
+}
+
+std::string DescribeLiveDomainPvUvDataResult::getDataInterval()const
+{
+	return dataInterval_;
+}
+
+std::vector<DescribeLiveDomainPvUvDataResult::PvUvDataInfo> DescribeLiveDomainPvUvDataResult::getPvUvDataInfos()const
+{
+	return pvUvDataInfos_;
+}
+

+ 8 - 8
live/src/model/DescribeLiveDomainRealTimeHttpCodeDataResult.cc

@@ -45,16 +45,16 @@ void DescribeLiveDomainRealTimeHttpCodeDataResult::parse(const std::string &payl
 		UsageData realTimeHttpCodeDataObject;
 		if(!valueRealTimeHttpCodeDataUsageData["TimeStamp"].isNull())
 			realTimeHttpCodeDataObject.timeStamp = valueRealTimeHttpCodeDataUsageData["TimeStamp"].asString();
-		auto allValueNode = allRealTimeHttpCodeDataNode["Value"]["RealTimeCodeProportionData"];
-		for (auto allRealTimeHttpCodeDataNodeValueRealTimeCodeProportionData : allValueNode)
+		auto allValueNode = valueRealTimeHttpCodeDataUsageData["Value"]["RealTimeCodeProportionData"];
+		for (auto valueRealTimeHttpCodeDataUsageDataValueRealTimeCodeProportionData : allValueNode)
 		{
 			UsageData::RealTimeCodeProportionData valueObject;
-			if(!allRealTimeHttpCodeDataNodeValueRealTimeCodeProportionData["Code"].isNull())
-				valueObject.code = allRealTimeHttpCodeDataNodeValueRealTimeCodeProportionData["Code"].asString();
-			if(!allRealTimeHttpCodeDataNodeValueRealTimeCodeProportionData["Proportion"].isNull())
-				valueObject.proportion = allRealTimeHttpCodeDataNodeValueRealTimeCodeProportionData["Proportion"].asString();
-			if(!allRealTimeHttpCodeDataNodeValueRealTimeCodeProportionData["Count"].isNull())
-				valueObject.count = allRealTimeHttpCodeDataNodeValueRealTimeCodeProportionData["Count"].asString();
+			if(!valueRealTimeHttpCodeDataUsageDataValueRealTimeCodeProportionData["Code"].isNull())
+				valueObject.code = valueRealTimeHttpCodeDataUsageDataValueRealTimeCodeProportionData["Code"].asString();
+			if(!valueRealTimeHttpCodeDataUsageDataValueRealTimeCodeProportionData["Proportion"].isNull())
+				valueObject.proportion = valueRealTimeHttpCodeDataUsageDataValueRealTimeCodeProportionData["Proportion"].asString();
+			if(!valueRealTimeHttpCodeDataUsageDataValueRealTimeCodeProportionData["Count"].isNull())
+				valueObject.count = valueRealTimeHttpCodeDataUsageDataValueRealTimeCodeProportionData["Count"].asString();
 			realTimeHttpCodeDataObject.value.push_back(valueObject);
 		}
 		realTimeHttpCodeData_.push_back(realTimeHttpCodeDataObject);

+ 10 - 10
live/src/model/DescribeLiveRecordConfigResult.cc

@@ -61,18 +61,18 @@ void DescribeLiveRecordConfigResult::parse(const std::string &payload)
 			liveAppRecordListObject.endTime = valueLiveAppRecordListLiveAppRecord["EndTime"].asString();
 		if(!valueLiveAppRecordListLiveAppRecord["OnDemond"].isNull())
 			liveAppRecordListObject.onDemond = std::stoi(valueLiveAppRecordListLiveAppRecord["OnDemond"].asString());
-		auto allRecordFormatListNode = allLiveAppRecordListNode["RecordFormatList"]["RecordFormat"];
-		for (auto allLiveAppRecordListNodeRecordFormatListRecordFormat : allRecordFormatListNode)
+		auto allRecordFormatListNode = valueLiveAppRecordListLiveAppRecord["RecordFormatList"]["RecordFormat"];
+		for (auto valueLiveAppRecordListLiveAppRecordRecordFormatListRecordFormat : allRecordFormatListNode)
 		{
 			LiveAppRecord::RecordFormat recordFormatListObject;
-			if(!allLiveAppRecordListNodeRecordFormatListRecordFormat["Format"].isNull())
-				recordFormatListObject.format = allLiveAppRecordListNodeRecordFormatListRecordFormat["Format"].asString();
-			if(!allLiveAppRecordListNodeRecordFormatListRecordFormat["OssObjectPrefix"].isNull())
-				recordFormatListObject.ossObjectPrefix = allLiveAppRecordListNodeRecordFormatListRecordFormat["OssObjectPrefix"].asString();
-			if(!allLiveAppRecordListNodeRecordFormatListRecordFormat["SliceOssObjectPrefix"].isNull())
-				recordFormatListObject.sliceOssObjectPrefix = allLiveAppRecordListNodeRecordFormatListRecordFormat["SliceOssObjectPrefix"].asString();
-			if(!allLiveAppRecordListNodeRecordFormatListRecordFormat["CycleDuration"].isNull())
-				recordFormatListObject.cycleDuration = std::stoi(allLiveAppRecordListNodeRecordFormatListRecordFormat["CycleDuration"].asString());
+			if(!valueLiveAppRecordListLiveAppRecordRecordFormatListRecordFormat["Format"].isNull())
+				recordFormatListObject.format = valueLiveAppRecordListLiveAppRecordRecordFormatListRecordFormat["Format"].asString();
+			if(!valueLiveAppRecordListLiveAppRecordRecordFormatListRecordFormat["OssObjectPrefix"].isNull())
+				recordFormatListObject.ossObjectPrefix = valueLiveAppRecordListLiveAppRecordRecordFormatListRecordFormat["OssObjectPrefix"].asString();
+			if(!valueLiveAppRecordListLiveAppRecordRecordFormatListRecordFormat["SliceOssObjectPrefix"].isNull())
+				recordFormatListObject.sliceOssObjectPrefix = valueLiveAppRecordListLiveAppRecordRecordFormatListRecordFormat["SliceOssObjectPrefix"].asString();
+			if(!valueLiveAppRecordListLiveAppRecordRecordFormatListRecordFormat["CycleDuration"].isNull())
+				recordFormatListObject.cycleDuration = std::stoi(valueLiveAppRecordListLiveAppRecordRecordFormatListRecordFormat["CycleDuration"].asString());
 			liveAppRecordListObject.recordFormatList.push_back(recordFormatListObject);
 		}
 		liveAppRecordList_.push_back(liveAppRecordListObject);

+ 8 - 8
live/src/model/DescribeLiveStreamCountResult.cc

@@ -49,16 +49,16 @@ void DescribeLiveStreamCountResult::parse(const std::string &payload)
 			streamCountInfosObject.limit = std::stol(valueStreamCountInfosStreamCountInfo["Limit"].asString());
 		if(!valueStreamCountInfosStreamCountInfo["Type"].isNull())
 			streamCountInfosObject.type = valueStreamCountInfosStreamCountInfo["Type"].asString();
-		auto allStreamCountDetailsNode = allStreamCountInfosNode["StreamCountDetails"]["StreamCountDetail"];
-		for (auto allStreamCountInfosNodeStreamCountDetailsStreamCountDetail : allStreamCountDetailsNode)
+		auto allStreamCountDetailsNode = valueStreamCountInfosStreamCountInfo["StreamCountDetails"]["StreamCountDetail"];
+		for (auto valueStreamCountInfosStreamCountInfoStreamCountDetailsStreamCountDetail : allStreamCountDetailsNode)
 		{
 			StreamCountInfo::StreamCountDetail streamCountDetailsObject;
-			if(!allStreamCountInfosNodeStreamCountDetailsStreamCountDetail["Format"].isNull())
-				streamCountDetailsObject.format = allStreamCountInfosNodeStreamCountDetailsStreamCountDetail["Format"].asString();
-			if(!allStreamCountInfosNodeStreamCountDetailsStreamCountDetail["VideoDataRate"].isNull())
-				streamCountDetailsObject.videoDataRate = std::stol(allStreamCountInfosNodeStreamCountDetailsStreamCountDetail["VideoDataRate"].asString());
-			if(!allStreamCountInfosNodeStreamCountDetailsStreamCountDetail["Count"].isNull())
-				streamCountDetailsObject.count = std::stol(allStreamCountInfosNodeStreamCountDetailsStreamCountDetail["Count"].asString());
+			if(!valueStreamCountInfosStreamCountInfoStreamCountDetailsStreamCountDetail["Format"].isNull())
+				streamCountDetailsObject.format = valueStreamCountInfosStreamCountInfoStreamCountDetailsStreamCountDetail["Format"].asString();
+			if(!valueStreamCountInfosStreamCountInfoStreamCountDetailsStreamCountDetail["VideoDataRate"].isNull())
+				streamCountDetailsObject.videoDataRate = std::stol(valueStreamCountInfosStreamCountInfoStreamCountDetailsStreamCountDetail["VideoDataRate"].asString());
+			if(!valueStreamCountInfosStreamCountInfoStreamCountDetailsStreamCountDetail["Count"].isNull())
+				streamCountDetailsObject.count = std::stol(valueStreamCountInfosStreamCountInfoStreamCountDetailsStreamCountDetail["Count"].asString());
 			streamCountInfosObject.streamCountDetails.push_back(streamCountDetailsObject);
 		}
 		streamCountInfos_.push_back(streamCountInfosObject);

+ 0 - 106
live/src/model/DescribeLiveStreamOnlineUserNumRequest.cc

@@ -1,106 +0,0 @@
-/*
- * 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/DescribeLiveStreamOnlineUserNumRequest.h>
-
-using AlibabaCloud::Live::Model::DescribeLiveStreamOnlineUserNumRequest;
-
-DescribeLiveStreamOnlineUserNumRequest::DescribeLiveStreamOnlineUserNumRequest() :
-	RpcServiceRequest("live", "2016-11-01", "DescribeLiveStreamOnlineUserNum")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-DescribeLiveStreamOnlineUserNumRequest::~DescribeLiveStreamOnlineUserNumRequest()
-{}
-
-std::string DescribeLiveStreamOnlineUserNumRequest::getStartTime()const
-{
-	return startTime_;
-}
-
-void DescribeLiveStreamOnlineUserNumRequest::setStartTime(const std::string& startTime)
-{
-	startTime_ = startTime;
-	setParameter("StartTime", startTime);
-}
-
-std::string DescribeLiveStreamOnlineUserNumRequest::getAppName()const
-{
-	return appName_;
-}
-
-void DescribeLiveStreamOnlineUserNumRequest::setAppName(const std::string& appName)
-{
-	appName_ = appName;
-	setParameter("AppName", appName);
-}
-
-std::string DescribeLiveStreamOnlineUserNumRequest::getSecurityToken()const
-{
-	return securityToken_;
-}
-
-void DescribeLiveStreamOnlineUserNumRequest::setSecurityToken(const std::string& securityToken)
-{
-	securityToken_ = securityToken;
-	setParameter("SecurityToken", securityToken);
-}
-
-std::string DescribeLiveStreamOnlineUserNumRequest::getStreamName()const
-{
-	return streamName_;
-}
-
-void DescribeLiveStreamOnlineUserNumRequest::setStreamName(const std::string& streamName)
-{
-	streamName_ = streamName;
-	setParameter("StreamName", streamName);
-}
-
-std::string DescribeLiveStreamOnlineUserNumRequest::getDomainName()const
-{
-	return domainName_;
-}
-
-void DescribeLiveStreamOnlineUserNumRequest::setDomainName(const std::string& domainName)
-{
-	domainName_ = domainName;
-	setParameter("DomainName", domainName);
-}
-
-std::string DescribeLiveStreamOnlineUserNumRequest::getEndTime()const
-{
-	return endTime_;
-}
-
-void DescribeLiveStreamOnlineUserNumRequest::setEndTime(const std::string& endTime)
-{
-	endTime_ = endTime;
-	setParameter("EndTime", endTime);
-}
-
-long DescribeLiveStreamOnlineUserNumRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void DescribeLiveStreamOnlineUserNumRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-

+ 0 - 68
live/src/model/DescribeLiveStreamOnlineUserNumResult.cc

@@ -1,68 +0,0 @@
-/*
- * 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/DescribeLiveStreamOnlineUserNumResult.h>
-#include <json/json.h>
-
-using namespace AlibabaCloud::Live;
-using namespace AlibabaCloud::Live::Model;
-
-DescribeLiveStreamOnlineUserNumResult::DescribeLiveStreamOnlineUserNumResult() :
-	ServiceResult()
-{}
-
-DescribeLiveStreamOnlineUserNumResult::DescribeLiveStreamOnlineUserNumResult(const std::string &payload) :
-	ServiceResult()
-{
-	parse(payload);
-}
-
-DescribeLiveStreamOnlineUserNumResult::~DescribeLiveStreamOnlineUserNumResult()
-{}
-
-void DescribeLiveStreamOnlineUserNumResult::parse(const std::string &payload)
-{
-	Json::Reader reader;
-	Json::Value value;
-	reader.parse(payload, value);
-	setRequestId(value["RequestId"].asString());
-	auto allOnlineUserInfoNode = value["OnlineUserInfo"]["LiveStreamOnlineUserNumInfo"];
-	for (auto valueOnlineUserInfoLiveStreamOnlineUserNumInfo : allOnlineUserInfoNode)
-	{
-		LiveStreamOnlineUserNumInfo onlineUserInfoObject;
-		if(!valueOnlineUserInfoLiveStreamOnlineUserNumInfo["StreamUrl"].isNull())
-			onlineUserInfoObject.streamUrl = valueOnlineUserInfoLiveStreamOnlineUserNumInfo["StreamUrl"].asString();
-		if(!valueOnlineUserInfoLiveStreamOnlineUserNumInfo["UserNumber"].isNull())
-			onlineUserInfoObject.userNumber = std::stol(valueOnlineUserInfoLiveStreamOnlineUserNumInfo["UserNumber"].asString());
-		if(!valueOnlineUserInfoLiveStreamOnlineUserNumInfo["Time"].isNull())
-			onlineUserInfoObject.time = valueOnlineUserInfoLiveStreamOnlineUserNumInfo["Time"].asString();
-		onlineUserInfo_.push_back(onlineUserInfoObject);
-	}
-	if(!value["TotalUserNumber"].isNull())
-		totalUserNumber_ = std::stol(value["TotalUserNumber"].asString());
-
-}
-
-std::vector<DescribeLiveStreamOnlineUserNumResult::LiveStreamOnlineUserNumInfo> DescribeLiveStreamOnlineUserNumResult::getOnlineUserInfo()const
-{
-	return onlineUserInfo_;
-}
-
-long DescribeLiveStreamOnlineUserNumResult::getTotalUserNumber()const
-{
-	return totalUserNumber_;
-}
-

+ 7 - 0
live/src/model/DescribeLiveStreamTranscodeInfoResult.cc

@@ -78,6 +78,13 @@ void DescribeLiveStreamTranscodeInfoResult::parse(const std::string &payload)
 			domainTranscodeListObject.customTranscodeParameters.audioRate = std::stoi(customTranscodeParametersNode["AudioRate"].asString());
 		if(!customTranscodeParametersNode["AudioChannelNum"].isNull())
 			domainTranscodeListObject.customTranscodeParameters.audioChannelNum = std::stoi(customTranscodeParametersNode["AudioChannelNum"].asString());
+		auto encryptParametersNode = value["EncryptParameters"];
+		if(!encryptParametersNode["EncryptType"].isNull())
+			domainTranscodeListObject.encryptParameters.encryptType = encryptParametersNode["EncryptType"].asString();
+		if(!encryptParametersNode["KmsKeyExpireInterval"].isNull())
+			domainTranscodeListObject.encryptParameters.kmsKeyExpireInterval = encryptParametersNode["KmsKeyExpireInterval"].asString();
+		if(!encryptParametersNode["KmsKeyID"].isNull())
+			domainTranscodeListObject.encryptParameters.kmsKeyID = encryptParametersNode["KmsKeyID"].asString();
 		domainTranscodeList_.push_back(domainTranscodeListObject);
 	}
 

+ 22 - 11
live/src/model/DescribeLiveStreamsControlHistoryRequest.cc

@@ -49,17 +49,6 @@ void DescribeLiveStreamsControlHistoryRequest::setAppName(const std::string& app
 	setParameter("AppName", appName);
 }
 
-std::string DescribeLiveStreamsControlHistoryRequest::getSecurityToken()const
-{
-	return securityToken_;
-}
-
-void DescribeLiveStreamsControlHistoryRequest::setSecurityToken(const std::string& securityToken)
-{
-	securityToken_ = securityToken;
-	setParameter("SecurityToken", securityToken);
-}
-
 std::string DescribeLiveStreamsControlHistoryRequest::getDomainName()const
 {
 	return domainName_;
@@ -93,3 +82,25 @@ void DescribeLiveStreamsControlHistoryRequest::setOwnerId(long ownerId)
 	setParameter("OwnerId", std::to_string(ownerId));
 }
 
+int DescribeLiveStreamsControlHistoryRequest::getRows()const
+{
+	return rows_;
+}
+
+void DescribeLiveStreamsControlHistoryRequest::setRows(int rows)
+{
+	rows_ = rows;
+	setParameter("Rows", std::to_string(rows));
+}
+
+int DescribeLiveStreamsControlHistoryRequest::getPage()const
+{
+	return page_;
+}
+
+void DescribeLiveStreamsControlHistoryRequest::setPage(int page)
+{
+	page_ = page;
+	setParameter("Page", std::to_string(page));
+}
+

+ 0 - 106
live/src/model/DescribeLiveStreamsFrameRateAndBitRateDataRequest.cc

@@ -1,106 +0,0 @@
-/*
- * 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/DescribeLiveStreamsFrameRateAndBitRateDataRequest.h>
-
-using AlibabaCloud::Live::Model::DescribeLiveStreamsFrameRateAndBitRateDataRequest;
-
-DescribeLiveStreamsFrameRateAndBitRateDataRequest::DescribeLiveStreamsFrameRateAndBitRateDataRequest() :
-	RpcServiceRequest("live", "2016-11-01", "DescribeLiveStreamsFrameRateAndBitRateData")
-{
-	setMethod(HttpRequest::Method::Post);
-}
-
-DescribeLiveStreamsFrameRateAndBitRateDataRequest::~DescribeLiveStreamsFrameRateAndBitRateDataRequest()
-{}
-
-std::string DescribeLiveStreamsFrameRateAndBitRateDataRequest::getStartTime()const
-{
-	return startTime_;
-}
-
-void DescribeLiveStreamsFrameRateAndBitRateDataRequest::setStartTime(const std::string& startTime)
-{
-	startTime_ = startTime;
-	setParameter("StartTime", startTime);
-}
-
-std::string DescribeLiveStreamsFrameRateAndBitRateDataRequest::getAppName()const
-{
-	return appName_;
-}
-
-void DescribeLiveStreamsFrameRateAndBitRateDataRequest::setAppName(const std::string& appName)
-{
-	appName_ = appName;
-	setParameter("AppName", appName);
-}
-
-std::string DescribeLiveStreamsFrameRateAndBitRateDataRequest::getSecurityToken()const
-{
-	return securityToken_;
-}
-
-void DescribeLiveStreamsFrameRateAndBitRateDataRequest::setSecurityToken(const std::string& securityToken)
-{
-	securityToken_ = securityToken;
-	setParameter("SecurityToken", securityToken);
-}
-
-std::string DescribeLiveStreamsFrameRateAndBitRateDataRequest::getStreamName()const
-{
-	return streamName_;
-}
-
-void DescribeLiveStreamsFrameRateAndBitRateDataRequest::setStreamName(const std::string& streamName)
-{
-	streamName_ = streamName;
-	setParameter("StreamName", streamName);
-}
-
-std::string DescribeLiveStreamsFrameRateAndBitRateDataRequest::getDomainName()const
-{
-	return domainName_;
-}
-
-void DescribeLiveStreamsFrameRateAndBitRateDataRequest::setDomainName(const std::string& domainName)
-{
-	domainName_ = domainName;
-	setParameter("DomainName", domainName);
-}
-
-std::string DescribeLiveStreamsFrameRateAndBitRateDataRequest::getEndTime()const
-{
-	return endTime_;
-}
-
-void DescribeLiveStreamsFrameRateAndBitRateDataRequest::setEndTime(const std::string& endTime)
-{
-	endTime_ = endTime;
-	setParameter("EndTime", endTime);
-}
-
-long DescribeLiveStreamsFrameRateAndBitRateDataRequest::getOwnerId()const
-{
-	return ownerId_;
-}
-
-void DescribeLiveStreamsFrameRateAndBitRateDataRequest::setOwnerId(long ownerId)
-{
-	ownerId_ = ownerId;
-	setParameter("OwnerId", std::to_string(ownerId));
-}
-

+ 0 - 65
live/src/model/DescribeLiveStreamsFrameRateAndBitRateDataResult.cc

@@ -1,65 +0,0 @@
-/*
- * 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/DescribeLiveStreamsFrameRateAndBitRateDataResult.h>
-#include <json/json.h>
-
-using namespace AlibabaCloud::Live;
-using namespace AlibabaCloud::Live::Model;
-
-DescribeLiveStreamsFrameRateAndBitRateDataResult::DescribeLiveStreamsFrameRateAndBitRateDataResult() :
-	ServiceResult()
-{}
-
-DescribeLiveStreamsFrameRateAndBitRateDataResult::DescribeLiveStreamsFrameRateAndBitRateDataResult(const std::string &payload) :
-	ServiceResult()
-{
-	parse(payload);
-}
-
-DescribeLiveStreamsFrameRateAndBitRateDataResult::~DescribeLiveStreamsFrameRateAndBitRateDataResult()
-{}
-
-void DescribeLiveStreamsFrameRateAndBitRateDataResult::parse(const std::string &payload)
-{
-	Json::Reader reader;
-	Json::Value value;
-	reader.parse(payload, value);
-	setRequestId(value["RequestId"].asString());
-	auto allFrameRateAndBitRateInfosNode = value["FrameRateAndBitRateInfos"]["FrameRateAndBitRateInfo"];
-	for (auto valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo : allFrameRateAndBitRateInfosNode)
-	{
-		FrameRateAndBitRateInfo frameRateAndBitRateInfosObject;
-		if(!valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo["StreamUrl"].isNull())
-			frameRateAndBitRateInfosObject.streamUrl = valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo["StreamUrl"].asString();
-		if(!valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo["VideoFrameRate"].isNull())
-			frameRateAndBitRateInfosObject.videoFrameRate = std::stof(valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo["VideoFrameRate"].asString());
-		if(!valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo["AudioFrameRate"].isNull())
-			frameRateAndBitRateInfosObject.audioFrameRate = std::stof(valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo["AudioFrameRate"].asString());
-		if(!valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo["BitRate"].isNull())
-			frameRateAndBitRateInfosObject.bitRate = std::stof(valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo["BitRate"].asString());
-		if(!valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo["Time"].isNull())
-			frameRateAndBitRateInfosObject.time = valueFrameRateAndBitRateInfosFrameRateAndBitRateInfo["Time"].asString();
-		frameRateAndBitRateInfos_.push_back(frameRateAndBitRateInfosObject);
-	}
-
-}
-
-std::vector<DescribeLiveStreamsFrameRateAndBitRateDataResult::FrameRateAndBitRateInfo> DescribeLiveStreamsFrameRateAndBitRateDataResult::getFrameRateAndBitRateInfos()const
-{
-	return frameRateAndBitRateInfos_;
-}
-

+ 6 - 6
live/src/model/DescribeLiveTagResourcesResult.cc

@@ -45,14 +45,14 @@ void DescribeLiveTagResourcesResult::parse(const std::string &payload)
 		TagResource tagResourcesObject;
 		if(!valueTagResourcesTagResource["ResourceId"].isNull())
 			tagResourcesObject.resourceId = valueTagResourcesTagResource["ResourceId"].asString();
-		auto allTagNode = allTagResourcesNode["Tag"]["TagItem"];
-		for (auto allTagResourcesNodeTagTagItem : allTagNode)
+		auto allTagNode = valueTagResourcesTagResource["Tag"]["TagItem"];
+		for (auto valueTagResourcesTagResourceTagTagItem : allTagNode)
 		{
 			TagResource::TagItem tagObject;
-			if(!allTagResourcesNodeTagTagItem["Key"].isNull())
-				tagObject.key = allTagResourcesNodeTagTagItem["Key"].asString();
-			if(!allTagResourcesNodeTagTagItem["Value"].isNull())
-				tagObject.value = allTagResourcesNodeTagTagItem["Value"].asString();
+			if(!valueTagResourcesTagResourceTagTagItem["Key"].isNull())
+				tagObject.key = valueTagResourcesTagResourceTagTagItem["Key"].asString();
+			if(!valueTagResourcesTagResourceTagTagItem["Value"].isNull())
+				tagObject.value = valueTagResourcesTagResourceTagTagItem["Value"].asString();
 			tagResourcesObject.tag.push_back(tagObject);
 		}
 		tagResources_.push_back(tagResourcesObject);

+ 51 - 0
live/src/model/DescribeLiveVerifyContentRequest.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/DescribeLiveVerifyContentRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveVerifyContentRequest;
+
+DescribeLiveVerifyContentRequest::DescribeLiveVerifyContentRequest() :
+	RpcServiceRequest("live", "2016-11-01", "DescribeLiveVerifyContent")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeLiveVerifyContentRequest::~DescribeLiveVerifyContentRequest()
+{}
+
+std::string DescribeLiveVerifyContentRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeLiveVerifyContentRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DescribeLiveVerifyContentRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeLiveVerifyContentRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

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

+ 11 - 0
live/src/model/SetLiveStreamsNotifyUrlConfigRequest.cc

@@ -60,6 +60,17 @@ void SetLiveStreamsNotifyUrlConfigRequest::setNotifyUrl(const std::string& notif
 	setParameter("NotifyUrl", notifyUrl);
 }
 
+std::string SetLiveStreamsNotifyUrlConfigRequest::getNotifyType()const
+{
+	return notifyType_;
+}
+
+void SetLiveStreamsNotifyUrlConfigRequest::setNotifyType(const std::string& notifyType)
+{
+	notifyType_ = notifyType;
+	setParameter("NotifyType", notifyType);
+}
+
 std::string SetLiveStreamsNotifyUrlConfigRequest::getDomainName()const
 {
 	return domainName_;

+ 8 - 8
live/src/model/StartCasterResult.cc

@@ -57,16 +57,16 @@ void StartCasterResult::parse(const std::string &payload)
 			pgmSceneInfosObject.sceneId = valuePgmSceneInfosSceneInfo["SceneId"].asString();
 		if(!valuePgmSceneInfosSceneInfo["StreamUrl"].isNull())
 			pgmSceneInfosObject.streamUrl = valuePgmSceneInfosSceneInfo["StreamUrl"].asString();
-		auto allStreamInfosNode = allPgmSceneInfosNode["StreamInfos"]["StreamInfo"];
-		for (auto allPgmSceneInfosNodeStreamInfosStreamInfo : allStreamInfosNode)
+		auto allStreamInfosNode = valuePgmSceneInfosSceneInfo["StreamInfos"]["StreamInfo"];
+		for (auto valuePgmSceneInfosSceneInfoStreamInfosStreamInfo : allStreamInfosNode)
 		{
 			SceneInfo1::StreamInfo streamInfosObject;
-			if(!allPgmSceneInfosNodeStreamInfosStreamInfo["TranscodeConfig"].isNull())
-				streamInfosObject.transcodeConfig = allPgmSceneInfosNodeStreamInfosStreamInfo["TranscodeConfig"].asString();
-			if(!allPgmSceneInfosNodeStreamInfosStreamInfo["VideoFormat"].isNull())
-				streamInfosObject.videoFormat = allPgmSceneInfosNodeStreamInfosStreamInfo["VideoFormat"].asString();
-			if(!allPgmSceneInfosNodeStreamInfosStreamInfo["OutputStreamUrl"].isNull())
-				streamInfosObject.outputStreamUrl = allPgmSceneInfosNodeStreamInfosStreamInfo["OutputStreamUrl"].asString();
+			if(!valuePgmSceneInfosSceneInfoStreamInfosStreamInfo["TranscodeConfig"].isNull())
+				streamInfosObject.transcodeConfig = valuePgmSceneInfosSceneInfoStreamInfosStreamInfo["TranscodeConfig"].asString();
+			if(!valuePgmSceneInfosSceneInfoStreamInfosStreamInfo["VideoFormat"].isNull())
+				streamInfosObject.videoFormat = valuePgmSceneInfosSceneInfoStreamInfosStreamInfo["VideoFormat"].asString();
+			if(!valuePgmSceneInfosSceneInfoStreamInfosStreamInfo["OutputStreamUrl"].isNull())
+				streamInfosObject.outputStreamUrl = valuePgmSceneInfosSceneInfoStreamInfosStreamInfo["OutputStreamUrl"].asString();
 			pgmSceneInfosObject.streamInfos.push_back(streamInfosObject);
 		}
 		pgmSceneInfos_.push_back(pgmSceneInfosObject);

+ 62 - 0
live/src/model/VerifyLiveDomainOwnerRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/live/model/VerifyLiveDomainOwnerRequest.h>
+
+using AlibabaCloud::Live::Model::VerifyLiveDomainOwnerRequest;
+
+VerifyLiveDomainOwnerRequest::VerifyLiveDomainOwnerRequest() :
+	RpcServiceRequest("live", "2016-11-01", "VerifyLiveDomainOwner")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+VerifyLiveDomainOwnerRequest::~VerifyLiveDomainOwnerRequest()
+{}
+
+std::string VerifyLiveDomainOwnerRequest::getVerifyType()const
+{
+	return verifyType_;
+}
+
+void VerifyLiveDomainOwnerRequest::setVerifyType(const std::string& verifyType)
+{
+	verifyType_ = verifyType;
+	setParameter("VerifyType", verifyType);
+}
+
+std::string VerifyLiveDomainOwnerRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void VerifyLiveDomainOwnerRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long VerifyLiveDomainOwnerRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void VerifyLiveDomainOwnerRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

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