Преглед на файлове

Generated 2018-01-20 for Linkvisual.

sdk-team преди 2 години
родител
ревизия
2d2d1e86d9
променени са 54 файла, в които са добавени 4054 реда и са изтрити 1 реда
  1. 1 1
      VERSION
  2. 48 0
      linkvisual/CMakeLists.txt
  3. 96 0
      linkvisual/include/alibabacloud/linkvisual/LinkvisualClient.h
  4. 3 0
      linkvisual/include/alibabacloud/linkvisual/model/CreateGbDeviceRequest.h
  5. 66 0
      linkvisual/include/alibabacloud/linkvisual/model/CreateStreamPushJobRequest.h
  6. 61 0
      linkvisual/include/alibabacloud/linkvisual/model/CreateStreamPushJobResult.h
  7. 63 0
      linkvisual/include/alibabacloud/linkvisual/model/CreateStreamSnapshotJobRequest.h
  8. 55 0
      linkvisual/include/alibabacloud/linkvisual/model/CreateStreamSnapshotJobResult.h
  9. 57 0
      linkvisual/include/alibabacloud/linkvisual/model/DeleteGbDeviceRequest.h
  10. 55 0
      linkvisual/include/alibabacloud/linkvisual/model/DeleteGbDeviceResult.h
  11. 60 0
      linkvisual/include/alibabacloud/linkvisual/model/DeleteStreamPushJobRequest.h
  12. 55 0
      linkvisual/include/alibabacloud/linkvisual/model/DeleteStreamPushJobResult.h
  13. 60 0
      linkvisual/include/alibabacloud/linkvisual/model/DeleteStreamSnapshotJobRequest.h
  14. 55 0
      linkvisual/include/alibabacloud/linkvisual/model/DeleteStreamSnapshotJobResult.h
  15. 60 0
      linkvisual/include/alibabacloud/linkvisual/model/EnableGbSubDeviceRequest.h
  16. 62 0
      linkvisual/include/alibabacloud/linkvisual/model/EnableGbSubDeviceResult.h
  17. 63 0
      linkvisual/include/alibabacloud/linkvisual/model/QueryGbSubDeviceListRequest.h
  18. 70 0
      linkvisual/include/alibabacloud/linkvisual/model/QueryGbSubDeviceListResult.h
  19. 66 0
      linkvisual/include/alibabacloud/linkvisual/model/QueryStreamPushJobListRequest.h
  20. 71 0
      linkvisual/include/alibabacloud/linkvisual/model/QueryStreamPushJobListResult.h
  21. 60 0
      linkvisual/include/alibabacloud/linkvisual/model/QueryStreamPushJobRequest.h
  22. 65 0
      linkvisual/include/alibabacloud/linkvisual/model/QueryStreamPushJobResult.h
  23. 57 0
      linkvisual/include/alibabacloud/linkvisual/model/QueryStreamSnapshotJobRequest.h
  24. 66 0
      linkvisual/include/alibabacloud/linkvisual/model/QueryStreamSnapshotJobResult.h
  25. 57 0
      linkvisual/include/alibabacloud/linkvisual/model/RefreshGbSubDeviceListRequest.h
  26. 55 0
      linkvisual/include/alibabacloud/linkvisual/model/RefreshGbSubDeviceListResult.h
  27. 66 0
      linkvisual/include/alibabacloud/linkvisual/model/UpdateGbDeviceRequest.h
  28. 55 0
      linkvisual/include/alibabacloud/linkvisual/model/UpdateGbDeviceResult.h
  29. 432 0
      linkvisual/src/LinkvisualClient.cc
  30. 9 0
      linkvisual/src/model/CreateGbDeviceRequest.cc
  31. 108 0
      linkvisual/src/model/CreateStreamPushJobRequest.cc
  32. 73 0
      linkvisual/src/model/CreateStreamPushJobResult.cc
  33. 99 0
      linkvisual/src/model/CreateStreamSnapshotJobRequest.cc
  34. 65 0
      linkvisual/src/model/CreateStreamSnapshotJobResult.cc
  35. 81 0
      linkvisual/src/model/DeleteGbDeviceRequest.cc
  36. 65 0
      linkvisual/src/model/DeleteGbDeviceResult.cc
  37. 90 0
      linkvisual/src/model/DeleteStreamPushJobRequest.cc
  38. 65 0
      linkvisual/src/model/DeleteStreamPushJobResult.cc
  39. 90 0
      linkvisual/src/model/DeleteStreamSnapshotJobRequest.cc
  40. 65 0
      linkvisual/src/model/DeleteStreamSnapshotJobResult.cc
  41. 90 0
      linkvisual/src/model/EnableGbSubDeviceRequest.cc
  42. 75 0
      linkvisual/src/model/EnableGbSubDeviceResult.cc
  43. 99 0
      linkvisual/src/model/QueryGbSubDeviceListRequest.cc
  44. 89 0
      linkvisual/src/model/QueryGbSubDeviceListResult.cc
  45. 108 0
      linkvisual/src/model/QueryStreamPushJobListRequest.cc
  46. 91 0
      linkvisual/src/model/QueryStreamPushJobListResult.cc
  47. 90 0
      linkvisual/src/model/QueryStreamPushJobRequest.cc
  48. 81 0
      linkvisual/src/model/QueryStreamPushJobResult.cc
  49. 81 0
      linkvisual/src/model/QueryStreamSnapshotJobRequest.cc
  50. 81 0
      linkvisual/src/model/QueryStreamSnapshotJobResult.cc
  51. 81 0
      linkvisual/src/model/RefreshGbSubDeviceListRequest.cc
  52. 65 0
      linkvisual/src/model/RefreshGbSubDeviceListResult.cc
  53. 108 0
      linkvisual/src/model/UpdateGbDeviceRequest.cc
  54. 65 0
      linkvisual/src/model/UpdateGbDeviceResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1863
+1.36.1864

+ 48 - 0
linkvisual/CMakeLists.txt

@@ -65,6 +65,10 @@ set(linkvisual_public_header_model
 	include/alibabacloud/linkvisual/model/CreateRecordPlanResult.h
 	include/alibabacloud/linkvisual/model/CreateRtmpDeviceRequest.h
 	include/alibabacloud/linkvisual/model/CreateRtmpDeviceResult.h
+	include/alibabacloud/linkvisual/model/CreateStreamPushJobRequest.h
+	include/alibabacloud/linkvisual/model/CreateStreamPushJobResult.h
+	include/alibabacloud/linkvisual/model/CreateStreamSnapshotJobRequest.h
+	include/alibabacloud/linkvisual/model/CreateStreamSnapshotJobResult.h
 	include/alibabacloud/linkvisual/model/CreateTimeTemplateRequest.h
 	include/alibabacloud/linkvisual/model/CreateTimeTemplateResult.h
 	include/alibabacloud/linkvisual/model/DeleteEventRecordPlanRequest.h
@@ -81,6 +85,8 @@ set(linkvisual_public_header_model
 	include/alibabacloud/linkvisual/model/DeleteFaceUserGroupAndDeviceGroupRelationResult.h
 	include/alibabacloud/linkvisual/model/DeleteFaceUserPictureRequest.h
 	include/alibabacloud/linkvisual/model/DeleteFaceUserPictureResult.h
+	include/alibabacloud/linkvisual/model/DeleteGbDeviceRequest.h
+	include/alibabacloud/linkvisual/model/DeleteGbDeviceResult.h
 	include/alibabacloud/linkvisual/model/DeleteLocalFileUploadJobRequest.h
 	include/alibabacloud/linkvisual/model/DeleteLocalFileUploadJobResult.h
 	include/alibabacloud/linkvisual/model/DeletePictureRequest.h
@@ -95,10 +101,16 @@ set(linkvisual_public_header_model
 	include/alibabacloud/linkvisual/model/DeleteRtmpDeviceResult.h
 	include/alibabacloud/linkvisual/model/DeleteRtmpKeyRequest.h
 	include/alibabacloud/linkvisual/model/DeleteRtmpKeyResult.h
+	include/alibabacloud/linkvisual/model/DeleteStreamPushJobRequest.h
+	include/alibabacloud/linkvisual/model/DeleteStreamPushJobResult.h
+	include/alibabacloud/linkvisual/model/DeleteStreamSnapshotJobRequest.h
+	include/alibabacloud/linkvisual/model/DeleteStreamSnapshotJobResult.h
 	include/alibabacloud/linkvisual/model/DeleteTimeTemplateRequest.h
 	include/alibabacloud/linkvisual/model/DeleteTimeTemplateResult.h
 	include/alibabacloud/linkvisual/model/DetectUserFaceByUrlRequest.h
 	include/alibabacloud/linkvisual/model/DetectUserFaceByUrlResult.h
+	include/alibabacloud/linkvisual/model/EnableGbSubDeviceRequest.h
+	include/alibabacloud/linkvisual/model/EnableGbSubDeviceResult.h
 	include/alibabacloud/linkvisual/model/GetPictureSearchJobStatusRequest.h
 	include/alibabacloud/linkvisual/model/GetPictureSearchJobStatusResult.h
 	include/alibabacloud/linkvisual/model/PictureSearchPictureRequest.h
@@ -155,6 +167,8 @@ set(linkvisual_public_header_model
 	include/alibabacloud/linkvisual/model/QueryFaceUserGroupAndDeviceGroupRelationResult.h
 	include/alibabacloud/linkvisual/model/QueryFaceUserIdByCustomUserIdRequest.h
 	include/alibabacloud/linkvisual/model/QueryFaceUserIdByCustomUserIdResult.h
+	include/alibabacloud/linkvisual/model/QueryGbSubDeviceListRequest.h
+	include/alibabacloud/linkvisual/model/QueryGbSubDeviceListResult.h
 	include/alibabacloud/linkvisual/model/QueryLiveStreamingRequest.h
 	include/alibabacloud/linkvisual/model/QueryLiveStreamingResult.h
 	include/alibabacloud/linkvisual/model/QueryLocalFileUploadJobRequest.h
@@ -197,6 +211,12 @@ set(linkvisual_public_header_model
 	include/alibabacloud/linkvisual/model/QueryRecordUrlByTimeResult.h
 	include/alibabacloud/linkvisual/model/QueryRtmpKeyRequest.h
 	include/alibabacloud/linkvisual/model/QueryRtmpKeyResult.h
+	include/alibabacloud/linkvisual/model/QueryStreamPushJobRequest.h
+	include/alibabacloud/linkvisual/model/QueryStreamPushJobResult.h
+	include/alibabacloud/linkvisual/model/QueryStreamPushJobListRequest.h
+	include/alibabacloud/linkvisual/model/QueryStreamPushJobListResult.h
+	include/alibabacloud/linkvisual/model/QueryStreamSnapshotJobRequest.h
+	include/alibabacloud/linkvisual/model/QueryStreamSnapshotJobResult.h
 	include/alibabacloud/linkvisual/model/QueryTimeTemplateRequest.h
 	include/alibabacloud/linkvisual/model/QueryTimeTemplateResult.h
 	include/alibabacloud/linkvisual/model/QueryTimeTemplateDetailRequest.h
@@ -205,6 +225,8 @@ set(linkvisual_public_header_model
 	include/alibabacloud/linkvisual/model/QueryVisionDeviceInfoResult.h
 	include/alibabacloud/linkvisual/model/QueryVoiceIntercomRequest.h
 	include/alibabacloud/linkvisual/model/QueryVoiceIntercomResult.h
+	include/alibabacloud/linkvisual/model/RefreshGbSubDeviceListRequest.h
+	include/alibabacloud/linkvisual/model/RefreshGbSubDeviceListResult.h
 	include/alibabacloud/linkvisual/model/RemoveFaceDeviceFromDeviceGroupRequest.h
 	include/alibabacloud/linkvisual/model/RemoveFaceDeviceFromDeviceGroupResult.h
 	include/alibabacloud/linkvisual/model/RemoveFaceUserFromUserGroupRequest.h
@@ -231,6 +253,8 @@ set(linkvisual_public_header_model
 	include/alibabacloud/linkvisual/model/UpdateFaceUserResult.h
 	include/alibabacloud/linkvisual/model/UpdateFaceUserGroupAndDeviceGroupRelationRequest.h
 	include/alibabacloud/linkvisual/model/UpdateFaceUserGroupAndDeviceGroupRelationResult.h
+	include/alibabacloud/linkvisual/model/UpdateGbDeviceRequest.h
+	include/alibabacloud/linkvisual/model/UpdateGbDeviceResult.h
 	include/alibabacloud/linkvisual/model/UpdateInstanceInternetProtocolRequest.h
 	include/alibabacloud/linkvisual/model/UpdateInstanceInternetProtocolResult.h
 	include/alibabacloud/linkvisual/model/UpdatePictureSearchAppRequest.h
@@ -288,6 +312,10 @@ set(linkvisual_src
 	src/model/CreateRecordPlanResult.cc
 	src/model/CreateRtmpDeviceRequest.cc
 	src/model/CreateRtmpDeviceResult.cc
+	src/model/CreateStreamPushJobRequest.cc
+	src/model/CreateStreamPushJobResult.cc
+	src/model/CreateStreamSnapshotJobRequest.cc
+	src/model/CreateStreamSnapshotJobResult.cc
 	src/model/CreateTimeTemplateRequest.cc
 	src/model/CreateTimeTemplateResult.cc
 	src/model/DeleteEventRecordPlanRequest.cc
@@ -304,6 +332,8 @@ set(linkvisual_src
 	src/model/DeleteFaceUserGroupAndDeviceGroupRelationResult.cc
 	src/model/DeleteFaceUserPictureRequest.cc
 	src/model/DeleteFaceUserPictureResult.cc
+	src/model/DeleteGbDeviceRequest.cc
+	src/model/DeleteGbDeviceResult.cc
 	src/model/DeleteLocalFileUploadJobRequest.cc
 	src/model/DeleteLocalFileUploadJobResult.cc
 	src/model/DeletePictureRequest.cc
@@ -318,10 +348,16 @@ set(linkvisual_src
 	src/model/DeleteRtmpDeviceResult.cc
 	src/model/DeleteRtmpKeyRequest.cc
 	src/model/DeleteRtmpKeyResult.cc
+	src/model/DeleteStreamPushJobRequest.cc
+	src/model/DeleteStreamPushJobResult.cc
+	src/model/DeleteStreamSnapshotJobRequest.cc
+	src/model/DeleteStreamSnapshotJobResult.cc
 	src/model/DeleteTimeTemplateRequest.cc
 	src/model/DeleteTimeTemplateResult.cc
 	src/model/DetectUserFaceByUrlRequest.cc
 	src/model/DetectUserFaceByUrlResult.cc
+	src/model/EnableGbSubDeviceRequest.cc
+	src/model/EnableGbSubDeviceResult.cc
 	src/model/GetPictureSearchJobStatusRequest.cc
 	src/model/GetPictureSearchJobStatusResult.cc
 	src/model/PictureSearchPictureRequest.cc
@@ -378,6 +414,8 @@ set(linkvisual_src
 	src/model/QueryFaceUserGroupAndDeviceGroupRelationResult.cc
 	src/model/QueryFaceUserIdByCustomUserIdRequest.cc
 	src/model/QueryFaceUserIdByCustomUserIdResult.cc
+	src/model/QueryGbSubDeviceListRequest.cc
+	src/model/QueryGbSubDeviceListResult.cc
 	src/model/QueryLiveStreamingRequest.cc
 	src/model/QueryLiveStreamingResult.cc
 	src/model/QueryLocalFileUploadJobRequest.cc
@@ -420,6 +458,12 @@ set(linkvisual_src
 	src/model/QueryRecordUrlByTimeResult.cc
 	src/model/QueryRtmpKeyRequest.cc
 	src/model/QueryRtmpKeyResult.cc
+	src/model/QueryStreamPushJobRequest.cc
+	src/model/QueryStreamPushJobResult.cc
+	src/model/QueryStreamPushJobListRequest.cc
+	src/model/QueryStreamPushJobListResult.cc
+	src/model/QueryStreamSnapshotJobRequest.cc
+	src/model/QueryStreamSnapshotJobResult.cc
 	src/model/QueryTimeTemplateRequest.cc
 	src/model/QueryTimeTemplateResult.cc
 	src/model/QueryTimeTemplateDetailRequest.cc
@@ -428,6 +472,8 @@ set(linkvisual_src
 	src/model/QueryVisionDeviceInfoResult.cc
 	src/model/QueryVoiceIntercomRequest.cc
 	src/model/QueryVoiceIntercomResult.cc
+	src/model/RefreshGbSubDeviceListRequest.cc
+	src/model/RefreshGbSubDeviceListResult.cc
 	src/model/RemoveFaceDeviceFromDeviceGroupRequest.cc
 	src/model/RemoveFaceDeviceFromDeviceGroupResult.cc
 	src/model/RemoveFaceUserFromUserGroupRequest.cc
@@ -454,6 +500,8 @@ set(linkvisual_src
 	src/model/UpdateFaceUserResult.cc
 	src/model/UpdateFaceUserGroupAndDeviceGroupRelationRequest.cc
 	src/model/UpdateFaceUserGroupAndDeviceGroupRelationResult.cc
+	src/model/UpdateGbDeviceRequest.cc
+	src/model/UpdateGbDeviceResult.cc
 	src/model/UpdateInstanceInternetProtocolRequest.cc
 	src/model/UpdateInstanceInternetProtocolResult.cc
 	src/model/UpdatePictureSearchAppRequest.cc

+ 96 - 0
linkvisual/include/alibabacloud/linkvisual/LinkvisualClient.h

@@ -66,6 +66,10 @@
 #include "model/CreateRecordPlanResult.h"
 #include "model/CreateRtmpDeviceRequest.h"
 #include "model/CreateRtmpDeviceResult.h"
+#include "model/CreateStreamPushJobRequest.h"
+#include "model/CreateStreamPushJobResult.h"
+#include "model/CreateStreamSnapshotJobRequest.h"
+#include "model/CreateStreamSnapshotJobResult.h"
 #include "model/CreateTimeTemplateRequest.h"
 #include "model/CreateTimeTemplateResult.h"
 #include "model/DeleteEventRecordPlanRequest.h"
@@ -82,6 +86,8 @@
 #include "model/DeleteFaceUserGroupAndDeviceGroupRelationResult.h"
 #include "model/DeleteFaceUserPictureRequest.h"
 #include "model/DeleteFaceUserPictureResult.h"
+#include "model/DeleteGbDeviceRequest.h"
+#include "model/DeleteGbDeviceResult.h"
 #include "model/DeleteLocalFileUploadJobRequest.h"
 #include "model/DeleteLocalFileUploadJobResult.h"
 #include "model/DeletePictureRequest.h"
@@ -96,10 +102,16 @@
 #include "model/DeleteRtmpDeviceResult.h"
 #include "model/DeleteRtmpKeyRequest.h"
 #include "model/DeleteRtmpKeyResult.h"
+#include "model/DeleteStreamPushJobRequest.h"
+#include "model/DeleteStreamPushJobResult.h"
+#include "model/DeleteStreamSnapshotJobRequest.h"
+#include "model/DeleteStreamSnapshotJobResult.h"
 #include "model/DeleteTimeTemplateRequest.h"
 #include "model/DeleteTimeTemplateResult.h"
 #include "model/DetectUserFaceByUrlRequest.h"
 #include "model/DetectUserFaceByUrlResult.h"
+#include "model/EnableGbSubDeviceRequest.h"
+#include "model/EnableGbSubDeviceResult.h"
 #include "model/GetPictureSearchJobStatusRequest.h"
 #include "model/GetPictureSearchJobStatusResult.h"
 #include "model/PictureSearchPictureRequest.h"
@@ -156,6 +168,8 @@
 #include "model/QueryFaceUserGroupAndDeviceGroupRelationResult.h"
 #include "model/QueryFaceUserIdByCustomUserIdRequest.h"
 #include "model/QueryFaceUserIdByCustomUserIdResult.h"
+#include "model/QueryGbSubDeviceListRequest.h"
+#include "model/QueryGbSubDeviceListResult.h"
 #include "model/QueryLiveStreamingRequest.h"
 #include "model/QueryLiveStreamingResult.h"
 #include "model/QueryLocalFileUploadJobRequest.h"
@@ -198,6 +212,12 @@
 #include "model/QueryRecordUrlByTimeResult.h"
 #include "model/QueryRtmpKeyRequest.h"
 #include "model/QueryRtmpKeyResult.h"
+#include "model/QueryStreamPushJobRequest.h"
+#include "model/QueryStreamPushJobResult.h"
+#include "model/QueryStreamPushJobListRequest.h"
+#include "model/QueryStreamPushJobListResult.h"
+#include "model/QueryStreamSnapshotJobRequest.h"
+#include "model/QueryStreamSnapshotJobResult.h"
 #include "model/QueryTimeTemplateRequest.h"
 #include "model/QueryTimeTemplateResult.h"
 #include "model/QueryTimeTemplateDetailRequest.h"
@@ -206,6 +226,8 @@
 #include "model/QueryVisionDeviceInfoResult.h"
 #include "model/QueryVoiceIntercomRequest.h"
 #include "model/QueryVoiceIntercomResult.h"
+#include "model/RefreshGbSubDeviceListRequest.h"
+#include "model/RefreshGbSubDeviceListResult.h"
 #include "model/RemoveFaceDeviceFromDeviceGroupRequest.h"
 #include "model/RemoveFaceDeviceFromDeviceGroupResult.h"
 #include "model/RemoveFaceUserFromUserGroupRequest.h"
@@ -232,6 +254,8 @@
 #include "model/UpdateFaceUserResult.h"
 #include "model/UpdateFaceUserGroupAndDeviceGroupRelationRequest.h"
 #include "model/UpdateFaceUserGroupAndDeviceGroupRelationResult.h"
+#include "model/UpdateGbDeviceRequest.h"
+#include "model/UpdateGbDeviceResult.h"
 #include "model/UpdateInstanceInternetProtocolRequest.h"
 #include "model/UpdateInstanceInternetProtocolResult.h"
 #include "model/UpdatePictureSearchAppRequest.h"
@@ -317,6 +341,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateRtmpDeviceResult> CreateRtmpDeviceOutcome;
 			typedef std::future<CreateRtmpDeviceOutcome> CreateRtmpDeviceOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::CreateRtmpDeviceRequest&, const CreateRtmpDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRtmpDeviceAsyncHandler;
+			typedef Outcome<Error, Model::CreateStreamPushJobResult> CreateStreamPushJobOutcome;
+			typedef std::future<CreateStreamPushJobOutcome> CreateStreamPushJobOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::CreateStreamPushJobRequest&, const CreateStreamPushJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateStreamPushJobAsyncHandler;
+			typedef Outcome<Error, Model::CreateStreamSnapshotJobResult> CreateStreamSnapshotJobOutcome;
+			typedef std::future<CreateStreamSnapshotJobOutcome> CreateStreamSnapshotJobOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::CreateStreamSnapshotJobRequest&, const CreateStreamSnapshotJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateStreamSnapshotJobAsyncHandler;
 			typedef Outcome<Error, Model::CreateTimeTemplateResult> CreateTimeTemplateOutcome;
 			typedef std::future<CreateTimeTemplateOutcome> CreateTimeTemplateOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::CreateTimeTemplateRequest&, const CreateTimeTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateTimeTemplateAsyncHandler;
@@ -341,6 +371,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteFaceUserPictureResult> DeleteFaceUserPictureOutcome;
 			typedef std::future<DeleteFaceUserPictureOutcome> DeleteFaceUserPictureOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::DeleteFaceUserPictureRequest&, const DeleteFaceUserPictureOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFaceUserPictureAsyncHandler;
+			typedef Outcome<Error, Model::DeleteGbDeviceResult> DeleteGbDeviceOutcome;
+			typedef std::future<DeleteGbDeviceOutcome> DeleteGbDeviceOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::DeleteGbDeviceRequest&, const DeleteGbDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteGbDeviceAsyncHandler;
 			typedef Outcome<Error, Model::DeleteLocalFileUploadJobResult> DeleteLocalFileUploadJobOutcome;
 			typedef std::future<DeleteLocalFileUploadJobOutcome> DeleteLocalFileUploadJobOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::DeleteLocalFileUploadJobRequest&, const DeleteLocalFileUploadJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLocalFileUploadJobAsyncHandler;
@@ -362,12 +395,21 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteRtmpKeyResult> DeleteRtmpKeyOutcome;
 			typedef std::future<DeleteRtmpKeyOutcome> DeleteRtmpKeyOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::DeleteRtmpKeyRequest&, const DeleteRtmpKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRtmpKeyAsyncHandler;
+			typedef Outcome<Error, Model::DeleteStreamPushJobResult> DeleteStreamPushJobOutcome;
+			typedef std::future<DeleteStreamPushJobOutcome> DeleteStreamPushJobOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::DeleteStreamPushJobRequest&, const DeleteStreamPushJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteStreamPushJobAsyncHandler;
+			typedef Outcome<Error, Model::DeleteStreamSnapshotJobResult> DeleteStreamSnapshotJobOutcome;
+			typedef std::future<DeleteStreamSnapshotJobOutcome> DeleteStreamSnapshotJobOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::DeleteStreamSnapshotJobRequest&, const DeleteStreamSnapshotJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteStreamSnapshotJobAsyncHandler;
 			typedef Outcome<Error, Model::DeleteTimeTemplateResult> DeleteTimeTemplateOutcome;
 			typedef std::future<DeleteTimeTemplateOutcome> DeleteTimeTemplateOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::DeleteTimeTemplateRequest&, const DeleteTimeTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTimeTemplateAsyncHandler;
 			typedef Outcome<Error, Model::DetectUserFaceByUrlResult> DetectUserFaceByUrlOutcome;
 			typedef std::future<DetectUserFaceByUrlOutcome> DetectUserFaceByUrlOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::DetectUserFaceByUrlRequest&, const DetectUserFaceByUrlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DetectUserFaceByUrlAsyncHandler;
+			typedef Outcome<Error, Model::EnableGbSubDeviceResult> EnableGbSubDeviceOutcome;
+			typedef std::future<EnableGbSubDeviceOutcome> EnableGbSubDeviceOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::EnableGbSubDeviceRequest&, const EnableGbSubDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableGbSubDeviceAsyncHandler;
 			typedef Outcome<Error, Model::GetPictureSearchJobStatusResult> GetPictureSearchJobStatusOutcome;
 			typedef std::future<GetPictureSearchJobStatusOutcome> GetPictureSearchJobStatusOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::GetPictureSearchJobStatusRequest&, const GetPictureSearchJobStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPictureSearchJobStatusAsyncHandler;
@@ -452,6 +494,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryFaceUserIdByCustomUserIdResult> QueryFaceUserIdByCustomUserIdOutcome;
 			typedef std::future<QueryFaceUserIdByCustomUserIdOutcome> QueryFaceUserIdByCustomUserIdOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::QueryFaceUserIdByCustomUserIdRequest&, const QueryFaceUserIdByCustomUserIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryFaceUserIdByCustomUserIdAsyncHandler;
+			typedef Outcome<Error, Model::QueryGbSubDeviceListResult> QueryGbSubDeviceListOutcome;
+			typedef std::future<QueryGbSubDeviceListOutcome> QueryGbSubDeviceListOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::QueryGbSubDeviceListRequest&, const QueryGbSubDeviceListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryGbSubDeviceListAsyncHandler;
 			typedef Outcome<Error, Model::QueryLiveStreamingResult> QueryLiveStreamingOutcome;
 			typedef std::future<QueryLiveStreamingOutcome> QueryLiveStreamingOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::QueryLiveStreamingRequest&, const QueryLiveStreamingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryLiveStreamingAsyncHandler;
@@ -515,6 +560,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryRtmpKeyResult> QueryRtmpKeyOutcome;
 			typedef std::future<QueryRtmpKeyOutcome> QueryRtmpKeyOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::QueryRtmpKeyRequest&, const QueryRtmpKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryRtmpKeyAsyncHandler;
+			typedef Outcome<Error, Model::QueryStreamPushJobResult> QueryStreamPushJobOutcome;
+			typedef std::future<QueryStreamPushJobOutcome> QueryStreamPushJobOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::QueryStreamPushJobRequest&, const QueryStreamPushJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryStreamPushJobAsyncHandler;
+			typedef Outcome<Error, Model::QueryStreamPushJobListResult> QueryStreamPushJobListOutcome;
+			typedef std::future<QueryStreamPushJobListOutcome> QueryStreamPushJobListOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::QueryStreamPushJobListRequest&, const QueryStreamPushJobListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryStreamPushJobListAsyncHandler;
+			typedef Outcome<Error, Model::QueryStreamSnapshotJobResult> QueryStreamSnapshotJobOutcome;
+			typedef std::future<QueryStreamSnapshotJobOutcome> QueryStreamSnapshotJobOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::QueryStreamSnapshotJobRequest&, const QueryStreamSnapshotJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryStreamSnapshotJobAsyncHandler;
 			typedef Outcome<Error, Model::QueryTimeTemplateResult> QueryTimeTemplateOutcome;
 			typedef std::future<QueryTimeTemplateOutcome> QueryTimeTemplateOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::QueryTimeTemplateRequest&, const QueryTimeTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryTimeTemplateAsyncHandler;
@@ -527,6 +581,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryVoiceIntercomResult> QueryVoiceIntercomOutcome;
 			typedef std::future<QueryVoiceIntercomOutcome> QueryVoiceIntercomOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::QueryVoiceIntercomRequest&, const QueryVoiceIntercomOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryVoiceIntercomAsyncHandler;
+			typedef Outcome<Error, Model::RefreshGbSubDeviceListResult> RefreshGbSubDeviceListOutcome;
+			typedef std::future<RefreshGbSubDeviceListOutcome> RefreshGbSubDeviceListOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::RefreshGbSubDeviceListRequest&, const RefreshGbSubDeviceListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RefreshGbSubDeviceListAsyncHandler;
 			typedef Outcome<Error, Model::RemoveFaceDeviceFromDeviceGroupResult> RemoveFaceDeviceFromDeviceGroupOutcome;
 			typedef std::future<RemoveFaceDeviceFromDeviceGroupOutcome> RemoveFaceDeviceFromDeviceGroupOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::RemoveFaceDeviceFromDeviceGroupRequest&, const RemoveFaceDeviceFromDeviceGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveFaceDeviceFromDeviceGroupAsyncHandler;
@@ -566,6 +623,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateFaceUserGroupAndDeviceGroupRelationResult> UpdateFaceUserGroupAndDeviceGroupRelationOutcome;
 			typedef std::future<UpdateFaceUserGroupAndDeviceGroupRelationOutcome> UpdateFaceUserGroupAndDeviceGroupRelationOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::UpdateFaceUserGroupAndDeviceGroupRelationRequest&, const UpdateFaceUserGroupAndDeviceGroupRelationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateFaceUserGroupAndDeviceGroupRelationAsyncHandler;
+			typedef Outcome<Error, Model::UpdateGbDeviceResult> UpdateGbDeviceOutcome;
+			typedef std::future<UpdateGbDeviceOutcome> UpdateGbDeviceOutcomeCallable;
+			typedef std::function<void(const LinkvisualClient*, const Model::UpdateGbDeviceRequest&, const UpdateGbDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateGbDeviceAsyncHandler;
 			typedef Outcome<Error, Model::UpdateInstanceInternetProtocolResult> UpdateInstanceInternetProtocolOutcome;
 			typedef std::future<UpdateInstanceInternetProtocolOutcome> UpdateInstanceInternetProtocolOutcomeCallable;
 			typedef std::function<void(const LinkvisualClient*, const Model::UpdateInstanceInternetProtocolRequest&, const UpdateInstanceInternetProtocolOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateInstanceInternetProtocolAsyncHandler;
@@ -652,6 +712,12 @@ namespace AlibabaCloud
 			CreateRtmpDeviceOutcome createRtmpDevice(const Model::CreateRtmpDeviceRequest &request)const;
 			void createRtmpDeviceAsync(const Model::CreateRtmpDeviceRequest& request, const CreateRtmpDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateRtmpDeviceOutcomeCallable createRtmpDeviceCallable(const Model::CreateRtmpDeviceRequest& request) const;
+			CreateStreamPushJobOutcome createStreamPushJob(const Model::CreateStreamPushJobRequest &request)const;
+			void createStreamPushJobAsync(const Model::CreateStreamPushJobRequest& request, const CreateStreamPushJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateStreamPushJobOutcomeCallable createStreamPushJobCallable(const Model::CreateStreamPushJobRequest& request) const;
+			CreateStreamSnapshotJobOutcome createStreamSnapshotJob(const Model::CreateStreamSnapshotJobRequest &request)const;
+			void createStreamSnapshotJobAsync(const Model::CreateStreamSnapshotJobRequest& request, const CreateStreamSnapshotJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateStreamSnapshotJobOutcomeCallable createStreamSnapshotJobCallable(const Model::CreateStreamSnapshotJobRequest& request) const;
 			CreateTimeTemplateOutcome createTimeTemplate(const Model::CreateTimeTemplateRequest &request)const;
 			void createTimeTemplateAsync(const Model::CreateTimeTemplateRequest& request, const CreateTimeTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateTimeTemplateOutcomeCallable createTimeTemplateCallable(const Model::CreateTimeTemplateRequest& request) const;
@@ -676,6 +742,9 @@ namespace AlibabaCloud
 			DeleteFaceUserPictureOutcome deleteFaceUserPicture(const Model::DeleteFaceUserPictureRequest &request)const;
 			void deleteFaceUserPictureAsync(const Model::DeleteFaceUserPictureRequest& request, const DeleteFaceUserPictureAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteFaceUserPictureOutcomeCallable deleteFaceUserPictureCallable(const Model::DeleteFaceUserPictureRequest& request) const;
+			DeleteGbDeviceOutcome deleteGbDevice(const Model::DeleteGbDeviceRequest &request)const;
+			void deleteGbDeviceAsync(const Model::DeleteGbDeviceRequest& request, const DeleteGbDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteGbDeviceOutcomeCallable deleteGbDeviceCallable(const Model::DeleteGbDeviceRequest& request) const;
 			DeleteLocalFileUploadJobOutcome deleteLocalFileUploadJob(const Model::DeleteLocalFileUploadJobRequest &request)const;
 			void deleteLocalFileUploadJobAsync(const Model::DeleteLocalFileUploadJobRequest& request, const DeleteLocalFileUploadJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLocalFileUploadJobOutcomeCallable deleteLocalFileUploadJobCallable(const Model::DeleteLocalFileUploadJobRequest& request) const;
@@ -697,12 +766,21 @@ namespace AlibabaCloud
 			DeleteRtmpKeyOutcome deleteRtmpKey(const Model::DeleteRtmpKeyRequest &request)const;
 			void deleteRtmpKeyAsync(const Model::DeleteRtmpKeyRequest& request, const DeleteRtmpKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteRtmpKeyOutcomeCallable deleteRtmpKeyCallable(const Model::DeleteRtmpKeyRequest& request) const;
+			DeleteStreamPushJobOutcome deleteStreamPushJob(const Model::DeleteStreamPushJobRequest &request)const;
+			void deleteStreamPushJobAsync(const Model::DeleteStreamPushJobRequest& request, const DeleteStreamPushJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteStreamPushJobOutcomeCallable deleteStreamPushJobCallable(const Model::DeleteStreamPushJobRequest& request) const;
+			DeleteStreamSnapshotJobOutcome deleteStreamSnapshotJob(const Model::DeleteStreamSnapshotJobRequest &request)const;
+			void deleteStreamSnapshotJobAsync(const Model::DeleteStreamSnapshotJobRequest& request, const DeleteStreamSnapshotJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteStreamSnapshotJobOutcomeCallable deleteStreamSnapshotJobCallable(const Model::DeleteStreamSnapshotJobRequest& request) const;
 			DeleteTimeTemplateOutcome deleteTimeTemplate(const Model::DeleteTimeTemplateRequest &request)const;
 			void deleteTimeTemplateAsync(const Model::DeleteTimeTemplateRequest& request, const DeleteTimeTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteTimeTemplateOutcomeCallable deleteTimeTemplateCallable(const Model::DeleteTimeTemplateRequest& request) const;
 			DetectUserFaceByUrlOutcome detectUserFaceByUrl(const Model::DetectUserFaceByUrlRequest &request)const;
 			void detectUserFaceByUrlAsync(const Model::DetectUserFaceByUrlRequest& request, const DetectUserFaceByUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DetectUserFaceByUrlOutcomeCallable detectUserFaceByUrlCallable(const Model::DetectUserFaceByUrlRequest& request) const;
+			EnableGbSubDeviceOutcome enableGbSubDevice(const Model::EnableGbSubDeviceRequest &request)const;
+			void enableGbSubDeviceAsync(const Model::EnableGbSubDeviceRequest& request, const EnableGbSubDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			EnableGbSubDeviceOutcomeCallable enableGbSubDeviceCallable(const Model::EnableGbSubDeviceRequest& request) const;
 			GetPictureSearchJobStatusOutcome getPictureSearchJobStatus(const Model::GetPictureSearchJobStatusRequest &request)const;
 			void getPictureSearchJobStatusAsync(const Model::GetPictureSearchJobStatusRequest& request, const GetPictureSearchJobStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetPictureSearchJobStatusOutcomeCallable getPictureSearchJobStatusCallable(const Model::GetPictureSearchJobStatusRequest& request) const;
@@ -787,6 +865,9 @@ namespace AlibabaCloud
 			QueryFaceUserIdByCustomUserIdOutcome queryFaceUserIdByCustomUserId(const Model::QueryFaceUserIdByCustomUserIdRequest &request)const;
 			void queryFaceUserIdByCustomUserIdAsync(const Model::QueryFaceUserIdByCustomUserIdRequest& request, const QueryFaceUserIdByCustomUserIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryFaceUserIdByCustomUserIdOutcomeCallable queryFaceUserIdByCustomUserIdCallable(const Model::QueryFaceUserIdByCustomUserIdRequest& request) const;
+			QueryGbSubDeviceListOutcome queryGbSubDeviceList(const Model::QueryGbSubDeviceListRequest &request)const;
+			void queryGbSubDeviceListAsync(const Model::QueryGbSubDeviceListRequest& request, const QueryGbSubDeviceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryGbSubDeviceListOutcomeCallable queryGbSubDeviceListCallable(const Model::QueryGbSubDeviceListRequest& request) const;
 			QueryLiveStreamingOutcome queryLiveStreaming(const Model::QueryLiveStreamingRequest &request)const;
 			void queryLiveStreamingAsync(const Model::QueryLiveStreamingRequest& request, const QueryLiveStreamingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryLiveStreamingOutcomeCallable queryLiveStreamingCallable(const Model::QueryLiveStreamingRequest& request) const;
@@ -850,6 +931,15 @@ namespace AlibabaCloud
 			QueryRtmpKeyOutcome queryRtmpKey(const Model::QueryRtmpKeyRequest &request)const;
 			void queryRtmpKeyAsync(const Model::QueryRtmpKeyRequest& request, const QueryRtmpKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryRtmpKeyOutcomeCallable queryRtmpKeyCallable(const Model::QueryRtmpKeyRequest& request) const;
+			QueryStreamPushJobOutcome queryStreamPushJob(const Model::QueryStreamPushJobRequest &request)const;
+			void queryStreamPushJobAsync(const Model::QueryStreamPushJobRequest& request, const QueryStreamPushJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryStreamPushJobOutcomeCallable queryStreamPushJobCallable(const Model::QueryStreamPushJobRequest& request) const;
+			QueryStreamPushJobListOutcome queryStreamPushJobList(const Model::QueryStreamPushJobListRequest &request)const;
+			void queryStreamPushJobListAsync(const Model::QueryStreamPushJobListRequest& request, const QueryStreamPushJobListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryStreamPushJobListOutcomeCallable queryStreamPushJobListCallable(const Model::QueryStreamPushJobListRequest& request) const;
+			QueryStreamSnapshotJobOutcome queryStreamSnapshotJob(const Model::QueryStreamSnapshotJobRequest &request)const;
+			void queryStreamSnapshotJobAsync(const Model::QueryStreamSnapshotJobRequest& request, const QueryStreamSnapshotJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryStreamSnapshotJobOutcomeCallable queryStreamSnapshotJobCallable(const Model::QueryStreamSnapshotJobRequest& request) const;
 			QueryTimeTemplateOutcome queryTimeTemplate(const Model::QueryTimeTemplateRequest &request)const;
 			void queryTimeTemplateAsync(const Model::QueryTimeTemplateRequest& request, const QueryTimeTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryTimeTemplateOutcomeCallable queryTimeTemplateCallable(const Model::QueryTimeTemplateRequest& request) const;
@@ -862,6 +952,9 @@ namespace AlibabaCloud
 			QueryVoiceIntercomOutcome queryVoiceIntercom(const Model::QueryVoiceIntercomRequest &request)const;
 			void queryVoiceIntercomAsync(const Model::QueryVoiceIntercomRequest& request, const QueryVoiceIntercomAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryVoiceIntercomOutcomeCallable queryVoiceIntercomCallable(const Model::QueryVoiceIntercomRequest& request) const;
+			RefreshGbSubDeviceListOutcome refreshGbSubDeviceList(const Model::RefreshGbSubDeviceListRequest &request)const;
+			void refreshGbSubDeviceListAsync(const Model::RefreshGbSubDeviceListRequest& request, const RefreshGbSubDeviceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RefreshGbSubDeviceListOutcomeCallable refreshGbSubDeviceListCallable(const Model::RefreshGbSubDeviceListRequest& request) const;
 			RemoveFaceDeviceFromDeviceGroupOutcome removeFaceDeviceFromDeviceGroup(const Model::RemoveFaceDeviceFromDeviceGroupRequest &request)const;
 			void removeFaceDeviceFromDeviceGroupAsync(const Model::RemoveFaceDeviceFromDeviceGroupRequest& request, const RemoveFaceDeviceFromDeviceGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RemoveFaceDeviceFromDeviceGroupOutcomeCallable removeFaceDeviceFromDeviceGroupCallable(const Model::RemoveFaceDeviceFromDeviceGroupRequest& request) const;
@@ -901,6 +994,9 @@ namespace AlibabaCloud
 			UpdateFaceUserGroupAndDeviceGroupRelationOutcome updateFaceUserGroupAndDeviceGroupRelation(const Model::UpdateFaceUserGroupAndDeviceGroupRelationRequest &request)const;
 			void updateFaceUserGroupAndDeviceGroupRelationAsync(const Model::UpdateFaceUserGroupAndDeviceGroupRelationRequest& request, const UpdateFaceUserGroupAndDeviceGroupRelationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateFaceUserGroupAndDeviceGroupRelationOutcomeCallable updateFaceUserGroupAndDeviceGroupRelationCallable(const Model::UpdateFaceUserGroupAndDeviceGroupRelationRequest& request) const;
+			UpdateGbDeviceOutcome updateGbDevice(const Model::UpdateGbDeviceRequest &request)const;
+			void updateGbDeviceAsync(const Model::UpdateGbDeviceRequest& request, const UpdateGbDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateGbDeviceOutcomeCallable updateGbDeviceCallable(const Model::UpdateGbDeviceRequest& request) const;
 			UpdateInstanceInternetProtocolOutcome updateInstanceInternetProtocol(const Model::UpdateInstanceInternetProtocolRequest &request)const;
 			void updateInstanceInternetProtocolAsync(const Model::UpdateInstanceInternetProtocolRequest& request, const UpdateInstanceInternetProtocolAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateInstanceInternetProtocolOutcomeCallable updateInstanceInternetProtocolCallable(const Model::UpdateInstanceInternetProtocolRequest& request) const;

+ 3 - 0
linkvisual/include/alibabacloud/linkvisual/model/CreateGbDeviceRequest.h

@@ -52,6 +52,8 @@ public:
 	void setApiProduct(const std::string &apiProduct);
 	std::string getApiRevision() const;
 	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
 
 private:
 	std::string subProductKey_;
@@ -65,6 +67,7 @@ private:
 	std::string mediaNetProtocol_;
 	std::string apiProduct_;
 	std::string apiRevision_;
+	std::string deviceName_;
 };
 } // namespace Model
 } // namespace Linkvisual

+ 66 - 0
linkvisual/include/alibabacloud/linkvisual/model/CreateStreamPushJobRequest.h

@@ -0,0 +1,66 @@
+/*
+ * 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_LINKVISUAL_MODEL_CREATESTREAMPUSHJOBREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_CREATESTREAMPUSHJOBREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT CreateStreamPushJobRequest : public RpcServiceRequest {
+public:
+	CreateStreamPushJobRequest();
+	~CreateStreamPushJobRequest();
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	int getStreamType() const;
+	void setStreamType(int streamType);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	int getJobType() const;
+	void setJobType(int jobType);
+	std::string getPushUrl() const;
+	void setPushUrl(const std::string &pushUrl);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string iotId_;
+	std::string iotInstanceId_;
+	int streamType_;
+	std::string productKey_;
+	int jobType_;
+	std::string pushUrl_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_CREATESTREAMPUSHJOBREQUEST_H_

+ 61 - 0
linkvisual/include/alibabacloud/linkvisual/model/CreateStreamPushJobResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_CREATESTREAMPUSHJOBRESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_CREATESTREAMPUSHJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT CreateStreamPushJobResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string jobId;
+				};
+
+
+				CreateStreamPushJobResult();
+				explicit CreateStreamPushJobResult(const std::string &payload);
+				~CreateStreamPushJobResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_CREATESTREAMPUSHJOBRESULT_H_

+ 63 - 0
linkvisual/include/alibabacloud/linkvisual/model/CreateStreamSnapshotJobRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_CREATESTREAMSNAPSHOTJOBREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_CREATESTREAMSNAPSHOTJOBREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT CreateStreamSnapshotJobRequest : public RpcServiceRequest {
+public:
+	CreateStreamSnapshotJobRequest();
+	~CreateStreamSnapshotJobRequest();
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	int getStreamType() const;
+	void setStreamType(int streamType);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	int getSnapshotInterval() const;
+	void setSnapshotInterval(int snapshotInterval);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string iotId_;
+	std::string iotInstanceId_;
+	int streamType_;
+	std::string productKey_;
+	int snapshotInterval_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_CREATESTREAMSNAPSHOTJOBREQUEST_H_

+ 55 - 0
linkvisual/include/alibabacloud/linkvisual/model/CreateStreamSnapshotJobResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_LINKVISUAL_MODEL_CREATESTREAMSNAPSHOTJOBRESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_CREATESTREAMSNAPSHOTJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT CreateStreamSnapshotJobResult : public ServiceResult
+			{
+			public:
+
+
+				CreateStreamSnapshotJobResult();
+				explicit CreateStreamSnapshotJobResult(const std::string &payload);
+				~CreateStreamSnapshotJobResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_CREATESTREAMSNAPSHOTJOBRESULT_H_

+ 57 - 0
linkvisual/include/alibabacloud/linkvisual/model/DeleteGbDeviceRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_DELETEGBDEVICEREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_DELETEGBDEVICEREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT DeleteGbDeviceRequest : public RpcServiceRequest {
+public:
+	DeleteGbDeviceRequest();
+	~DeleteGbDeviceRequest();
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string iotId_;
+	std::string iotInstanceId_;
+	std::string productKey_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_DELETEGBDEVICEREQUEST_H_

+ 55 - 0
linkvisual/include/alibabacloud/linkvisual/model/DeleteGbDeviceResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_LINKVISUAL_MODEL_DELETEGBDEVICERESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_DELETEGBDEVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT DeleteGbDeviceResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteGbDeviceResult();
+				explicit DeleteGbDeviceResult(const std::string &payload);
+				~DeleteGbDeviceResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_DELETEGBDEVICERESULT_H_

+ 60 - 0
linkvisual/include/alibabacloud/linkvisual/model/DeleteStreamPushJobRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_DELETESTREAMPUSHJOBREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_DELETESTREAMPUSHJOBREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT DeleteStreamPushJobRequest : public RpcServiceRequest {
+public:
+	DeleteStreamPushJobRequest();
+	~DeleteStreamPushJobRequest();
+	std::string getJobId() const;
+	void setJobId(const std::string &jobId);
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string jobId_;
+	std::string iotId_;
+	std::string iotInstanceId_;
+	std::string productKey_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_DELETESTREAMPUSHJOBREQUEST_H_

+ 55 - 0
linkvisual/include/alibabacloud/linkvisual/model/DeleteStreamPushJobResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_LINKVISUAL_MODEL_DELETESTREAMPUSHJOBRESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_DELETESTREAMPUSHJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT DeleteStreamPushJobResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteStreamPushJobResult();
+				explicit DeleteStreamPushJobResult(const std::string &payload);
+				~DeleteStreamPushJobResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_DELETESTREAMPUSHJOBRESULT_H_

+ 60 - 0
linkvisual/include/alibabacloud/linkvisual/model/DeleteStreamSnapshotJobRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_DELETESTREAMSNAPSHOTJOBREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_DELETESTREAMSNAPSHOTJOBREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT DeleteStreamSnapshotJobRequest : public RpcServiceRequest {
+public:
+	DeleteStreamSnapshotJobRequest();
+	~DeleteStreamSnapshotJobRequest();
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	int getStreamType() const;
+	void setStreamType(int streamType);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string iotId_;
+	std::string iotInstanceId_;
+	int streamType_;
+	std::string productKey_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_DELETESTREAMSNAPSHOTJOBREQUEST_H_

+ 55 - 0
linkvisual/include/alibabacloud/linkvisual/model/DeleteStreamSnapshotJobResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_LINKVISUAL_MODEL_DELETESTREAMSNAPSHOTJOBRESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_DELETESTREAMSNAPSHOTJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT DeleteStreamSnapshotJobResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteStreamSnapshotJobResult();
+				explicit DeleteStreamSnapshotJobResult(const std::string &payload);
+				~DeleteStreamSnapshotJobResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_DELETESTREAMSNAPSHOTJOBRESULT_H_

+ 60 - 0
linkvisual/include/alibabacloud/linkvisual/model/EnableGbSubDeviceRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_ENABLEGBSUBDEVICEREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_ENABLEGBSUBDEVICEREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT EnableGbSubDeviceRequest : public RpcServiceRequest {
+public:
+	EnableGbSubDeviceRequest();
+	~EnableGbSubDeviceRequest();
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	std::string getSubDeviceId() const;
+	void setSubDeviceId(const std::string &subDeviceId);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string iotId_;
+	std::string iotInstanceId_;
+	std::string productKey_;
+	std::string subDeviceId_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_ENABLEGBSUBDEVICEREQUEST_H_

+ 62 - 0
linkvisual/include/alibabacloud/linkvisual/model/EnableGbSubDeviceResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_ENABLEGBSUBDEVICERESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_ENABLEGBSUBDEVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT EnableGbSubDeviceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string productKey;
+					std::string deviceName;
+				};
+
+
+				EnableGbSubDeviceResult();
+				explicit EnableGbSubDeviceResult(const std::string &payload);
+				~EnableGbSubDeviceResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_ENABLEGBSUBDEVICERESULT_H_

+ 63 - 0
linkvisual/include/alibabacloud/linkvisual/model/QueryGbSubDeviceListRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_QUERYGBSUBDEVICELISTREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_QUERYGBSUBDEVICELISTREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT QueryGbSubDeviceListRequest : public RpcServiceRequest {
+public:
+	QueryGbSubDeviceListRequest();
+	~QueryGbSubDeviceListRequest();
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+	int getPageStart() const;
+	void setPageStart(int pageStart);
+
+private:
+	std::string iotId_;
+	std::string iotInstanceId_;
+	int pageSize_;
+	std::string productKey_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+	int pageStart_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_QUERYGBSUBDEVICELISTREQUEST_H_

+ 70 - 0
linkvisual/include/alibabacloud/linkvisual/model/QueryGbSubDeviceListResult.h

@@ -0,0 +1,70 @@
+/*
+ * 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_LINKVISUAL_MODEL_QUERYGBSUBDEVICELISTRESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_QUERYGBSUBDEVICELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT QueryGbSubDeviceListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct GbSubDevice
+					{
+						int deviceEnable;
+						std::string iotId;
+						std::string deviceId;
+						std::string productKey;
+						std::string deviceName;
+					};
+					int total;
+					std::vector<GbSubDevice> gbSubDeviceList;
+				};
+
+
+				QueryGbSubDeviceListResult();
+				explicit QueryGbSubDeviceListResult(const std::string &payload);
+				~QueryGbSubDeviceListResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_QUERYGBSUBDEVICELISTRESULT_H_

+ 66 - 0
linkvisual/include/alibabacloud/linkvisual/model/QueryStreamPushJobListRequest.h

@@ -0,0 +1,66 @@
+/*
+ * 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_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBLISTREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBLISTREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT QueryStreamPushJobListRequest : public RpcServiceRequest {
+public:
+	QueryStreamPushJobListRequest();
+	~QueryStreamPushJobListRequest();
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	int getCurrentPage() const;
+	void setCurrentPage(int currentPage);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	int getJobType() const;
+	void setJobType(int jobType);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string iotId_;
+	std::string iotInstanceId_;
+	int pageSize_;
+	int currentPage_;
+	std::string productKey_;
+	int jobType_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBLISTREQUEST_H_

+ 71 - 0
linkvisual/include/alibabacloud/linkvisual/model/QueryStreamPushJobListResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBLISTRESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT QueryStreamPushJobListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Job
+					{
+						int pushStatus;
+						int streamType;
+						int jobType;
+						int createTime;
+						std::string pushUrl;
+						std::string jobId;
+					};
+					int total;
+					std::vector<Job> jobList;
+				};
+
+
+				QueryStreamPushJobListResult();
+				explicit QueryStreamPushJobListResult(const std::string &payload);
+				~QueryStreamPushJobListResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBLISTRESULT_H_

+ 60 - 0
linkvisual/include/alibabacloud/linkvisual/model/QueryStreamPushJobRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT QueryStreamPushJobRequest : public RpcServiceRequest {
+public:
+	QueryStreamPushJobRequest();
+	~QueryStreamPushJobRequest();
+	std::string getJobId() const;
+	void setJobId(const std::string &jobId);
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string jobId_;
+	std::string iotId_;
+	std::string iotInstanceId_;
+	std::string productKey_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBREQUEST_H_

+ 65 - 0
linkvisual/include/alibabacloud/linkvisual/model/QueryStreamPushJobResult.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_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBRESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT QueryStreamPushJobResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					int pushStatus;
+					int streamType;
+					int jobType;
+					int createTime;
+					std::string pushUrl;
+				};
+
+
+				QueryStreamPushJobResult();
+				explicit QueryStreamPushJobResult(const std::string &payload);
+				~QueryStreamPushJobResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMPUSHJOBRESULT_H_

+ 57 - 0
linkvisual/include/alibabacloud/linkvisual/model/QueryStreamSnapshotJobRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMSNAPSHOTJOBREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMSNAPSHOTJOBREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT QueryStreamSnapshotJobRequest : public RpcServiceRequest {
+public:
+	QueryStreamSnapshotJobRequest();
+	~QueryStreamSnapshotJobRequest();
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string iotId_;
+	std::string iotInstanceId_;
+	std::string productKey_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMSNAPSHOTJOBREQUEST_H_

+ 66 - 0
linkvisual/include/alibabacloud/linkvisual/model/QueryStreamSnapshotJobResult.h

@@ -0,0 +1,66 @@
+/*
+ * 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_LINKVISUAL_MODEL_QUERYSTREAMSNAPSHOTJOBRESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMSNAPSHOTJOBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT QueryStreamSnapshotJobResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Job
+					{
+						int snapshotInterval;
+						int streamType;
+					};
+					std::vector<Job> jobList;
+				};
+
+
+				QueryStreamSnapshotJobResult();
+				explicit QueryStreamSnapshotJobResult(const std::string &payload);
+				~QueryStreamSnapshotJobResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_QUERYSTREAMSNAPSHOTJOBRESULT_H_

+ 57 - 0
linkvisual/include/alibabacloud/linkvisual/model/RefreshGbSubDeviceListRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_LINKVISUAL_MODEL_REFRESHGBSUBDEVICELISTREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_REFRESHGBSUBDEVICELISTREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT RefreshGbSubDeviceListRequest : public RpcServiceRequest {
+public:
+	RefreshGbSubDeviceListRequest();
+	~RefreshGbSubDeviceListRequest();
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string iotId_;
+	std::string iotInstanceId_;
+	std::string productKey_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_REFRESHGBSUBDEVICELISTREQUEST_H_

+ 55 - 0
linkvisual/include/alibabacloud/linkvisual/model/RefreshGbSubDeviceListResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_LINKVISUAL_MODEL_REFRESHGBSUBDEVICELISTRESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_REFRESHGBSUBDEVICELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT RefreshGbSubDeviceListResult : public ServiceResult
+			{
+			public:
+
+
+				RefreshGbSubDeviceListResult();
+				explicit RefreshGbSubDeviceListResult(const std::string &payload);
+				~RefreshGbSubDeviceListResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_REFRESHGBSUBDEVICELISTRESULT_H_

+ 66 - 0
linkvisual/include/alibabacloud/linkvisual/model/UpdateGbDeviceRequest.h

@@ -0,0 +1,66 @@
+/*
+ * 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_LINKVISUAL_MODEL_UPDATEGBDEVICEREQUEST_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_UPDATEGBDEVICEREQUEST_H_
+
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Linkvisual {
+namespace Model {
+class ALIBABACLOUD_LINKVISUAL_EXPORT UpdateGbDeviceRequest : public RpcServiceRequest {
+public:
+	UpdateGbDeviceRequest();
+	~UpdateGbDeviceRequest();
+	std::string getGbId() const;
+	void setGbId(const std::string &gbId);
+	std::string getDescription() const;
+	void setDescription(const std::string &description);
+	std::string getPassword() const;
+	void setPassword(const std::string &password);
+	std::string getIotId() const;
+	void setIotId(const std::string &iotId);
+	std::string getIotInstanceId() const;
+	void setIotInstanceId(const std::string &iotInstanceId);
+	std::string getProductKey() const;
+	void setProductKey(const std::string &productKey);
+	std::string getApiProduct() const;
+	void setApiProduct(const std::string &apiProduct);
+	std::string getApiRevision() const;
+	void setApiRevision(const std::string &apiRevision);
+	std::string getDeviceName() const;
+	void setDeviceName(const std::string &deviceName);
+
+private:
+	std::string gbId_;
+	std::string description_;
+	std::string password_;
+	std::string iotId_;
+	std::string iotInstanceId_;
+	std::string productKey_;
+	std::string apiProduct_;
+	std::string apiRevision_;
+	std::string deviceName_;
+};
+} // namespace Model
+} // namespace Linkvisual
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_UPDATEGBDEVICEREQUEST_H_

+ 55 - 0
linkvisual/include/alibabacloud/linkvisual/model/UpdateGbDeviceResult.h

@@ -0,0 +1,55 @@
+/*
+ * 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_LINKVISUAL_MODEL_UPDATEGBDEVICERESULT_H_
+#define ALIBABACLOUD_LINKVISUAL_MODEL_UPDATEGBDEVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/linkvisual/LinkvisualExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Linkvisual
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LINKVISUAL_EXPORT UpdateGbDeviceResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateGbDeviceResult();
+				explicit UpdateGbDeviceResult(const std::string &payload);
+				~UpdateGbDeviceResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LINKVISUAL_MODEL_UPDATEGBDEVICERESULT_H_

+ 432 - 0
linkvisual/src/LinkvisualClient.cc

@@ -843,6 +843,78 @@ LinkvisualClient::CreateRtmpDeviceOutcomeCallable LinkvisualClient::createRtmpDe
 	return task->get_future();
 }
 
+LinkvisualClient::CreateStreamPushJobOutcome LinkvisualClient::createStreamPushJob(const CreateStreamPushJobRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateStreamPushJobOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateStreamPushJobOutcome(CreateStreamPushJobResult(outcome.result()));
+	else
+		return CreateStreamPushJobOutcome(outcome.error());
+}
+
+void LinkvisualClient::createStreamPushJobAsync(const CreateStreamPushJobRequest& request, const CreateStreamPushJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createStreamPushJob(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::CreateStreamPushJobOutcomeCallable LinkvisualClient::createStreamPushJobCallable(const CreateStreamPushJobRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateStreamPushJobOutcome()>>(
+			[this, request]()
+			{
+			return this->createStreamPushJob(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LinkvisualClient::CreateStreamSnapshotJobOutcome LinkvisualClient::createStreamSnapshotJob(const CreateStreamSnapshotJobRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateStreamSnapshotJobOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateStreamSnapshotJobOutcome(CreateStreamSnapshotJobResult(outcome.result()));
+	else
+		return CreateStreamSnapshotJobOutcome(outcome.error());
+}
+
+void LinkvisualClient::createStreamSnapshotJobAsync(const CreateStreamSnapshotJobRequest& request, const CreateStreamSnapshotJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createStreamSnapshotJob(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::CreateStreamSnapshotJobOutcomeCallable LinkvisualClient::createStreamSnapshotJobCallable(const CreateStreamSnapshotJobRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateStreamSnapshotJobOutcome()>>(
+			[this, request]()
+			{
+			return this->createStreamSnapshotJob(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LinkvisualClient::CreateTimeTemplateOutcome LinkvisualClient::createTimeTemplate(const CreateTimeTemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1131,6 +1203,42 @@ LinkvisualClient::DeleteFaceUserPictureOutcomeCallable LinkvisualClient::deleteF
 	return task->get_future();
 }
 
+LinkvisualClient::DeleteGbDeviceOutcome LinkvisualClient::deleteGbDevice(const DeleteGbDeviceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteGbDeviceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteGbDeviceOutcome(DeleteGbDeviceResult(outcome.result()));
+	else
+		return DeleteGbDeviceOutcome(outcome.error());
+}
+
+void LinkvisualClient::deleteGbDeviceAsync(const DeleteGbDeviceRequest& request, const DeleteGbDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteGbDevice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::DeleteGbDeviceOutcomeCallable LinkvisualClient::deleteGbDeviceCallable(const DeleteGbDeviceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteGbDeviceOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteGbDevice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LinkvisualClient::DeleteLocalFileUploadJobOutcome LinkvisualClient::deleteLocalFileUploadJob(const DeleteLocalFileUploadJobRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1383,6 +1491,78 @@ LinkvisualClient::DeleteRtmpKeyOutcomeCallable LinkvisualClient::deleteRtmpKeyCa
 	return task->get_future();
 }
 
+LinkvisualClient::DeleteStreamPushJobOutcome LinkvisualClient::deleteStreamPushJob(const DeleteStreamPushJobRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteStreamPushJobOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteStreamPushJobOutcome(DeleteStreamPushJobResult(outcome.result()));
+	else
+		return DeleteStreamPushJobOutcome(outcome.error());
+}
+
+void LinkvisualClient::deleteStreamPushJobAsync(const DeleteStreamPushJobRequest& request, const DeleteStreamPushJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteStreamPushJob(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::DeleteStreamPushJobOutcomeCallable LinkvisualClient::deleteStreamPushJobCallable(const DeleteStreamPushJobRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteStreamPushJobOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteStreamPushJob(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LinkvisualClient::DeleteStreamSnapshotJobOutcome LinkvisualClient::deleteStreamSnapshotJob(const DeleteStreamSnapshotJobRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteStreamSnapshotJobOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteStreamSnapshotJobOutcome(DeleteStreamSnapshotJobResult(outcome.result()));
+	else
+		return DeleteStreamSnapshotJobOutcome(outcome.error());
+}
+
+void LinkvisualClient::deleteStreamSnapshotJobAsync(const DeleteStreamSnapshotJobRequest& request, const DeleteStreamSnapshotJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteStreamSnapshotJob(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::DeleteStreamSnapshotJobOutcomeCallable LinkvisualClient::deleteStreamSnapshotJobCallable(const DeleteStreamSnapshotJobRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteStreamSnapshotJobOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteStreamSnapshotJob(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LinkvisualClient::DeleteTimeTemplateOutcome LinkvisualClient::deleteTimeTemplate(const DeleteTimeTemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1455,6 +1635,42 @@ LinkvisualClient::DetectUserFaceByUrlOutcomeCallable LinkvisualClient::detectUse
 	return task->get_future();
 }
 
+LinkvisualClient::EnableGbSubDeviceOutcome LinkvisualClient::enableGbSubDevice(const EnableGbSubDeviceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return EnableGbSubDeviceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return EnableGbSubDeviceOutcome(EnableGbSubDeviceResult(outcome.result()));
+	else
+		return EnableGbSubDeviceOutcome(outcome.error());
+}
+
+void LinkvisualClient::enableGbSubDeviceAsync(const EnableGbSubDeviceRequest& request, const EnableGbSubDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, enableGbSubDevice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::EnableGbSubDeviceOutcomeCallable LinkvisualClient::enableGbSubDeviceCallable(const EnableGbSubDeviceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<EnableGbSubDeviceOutcome()>>(
+			[this, request]()
+			{
+			return this->enableGbSubDevice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LinkvisualClient::GetPictureSearchJobStatusOutcome LinkvisualClient::getPictureSearchJobStatus(const GetPictureSearchJobStatusRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2463,6 +2679,42 @@ LinkvisualClient::QueryFaceUserIdByCustomUserIdOutcomeCallable LinkvisualClient:
 	return task->get_future();
 }
 
+LinkvisualClient::QueryGbSubDeviceListOutcome LinkvisualClient::queryGbSubDeviceList(const QueryGbSubDeviceListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryGbSubDeviceListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryGbSubDeviceListOutcome(QueryGbSubDeviceListResult(outcome.result()));
+	else
+		return QueryGbSubDeviceListOutcome(outcome.error());
+}
+
+void LinkvisualClient::queryGbSubDeviceListAsync(const QueryGbSubDeviceListRequest& request, const QueryGbSubDeviceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryGbSubDeviceList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::QueryGbSubDeviceListOutcomeCallable LinkvisualClient::queryGbSubDeviceListCallable(const QueryGbSubDeviceListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryGbSubDeviceListOutcome()>>(
+			[this, request]()
+			{
+			return this->queryGbSubDeviceList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LinkvisualClient::QueryLiveStreamingOutcome LinkvisualClient::queryLiveStreaming(const QueryLiveStreamingRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3219,6 +3471,114 @@ LinkvisualClient::QueryRtmpKeyOutcomeCallable LinkvisualClient::queryRtmpKeyCall
 	return task->get_future();
 }
 
+LinkvisualClient::QueryStreamPushJobOutcome LinkvisualClient::queryStreamPushJob(const QueryStreamPushJobRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryStreamPushJobOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryStreamPushJobOutcome(QueryStreamPushJobResult(outcome.result()));
+	else
+		return QueryStreamPushJobOutcome(outcome.error());
+}
+
+void LinkvisualClient::queryStreamPushJobAsync(const QueryStreamPushJobRequest& request, const QueryStreamPushJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryStreamPushJob(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::QueryStreamPushJobOutcomeCallable LinkvisualClient::queryStreamPushJobCallable(const QueryStreamPushJobRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryStreamPushJobOutcome()>>(
+			[this, request]()
+			{
+			return this->queryStreamPushJob(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LinkvisualClient::QueryStreamPushJobListOutcome LinkvisualClient::queryStreamPushJobList(const QueryStreamPushJobListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryStreamPushJobListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryStreamPushJobListOutcome(QueryStreamPushJobListResult(outcome.result()));
+	else
+		return QueryStreamPushJobListOutcome(outcome.error());
+}
+
+void LinkvisualClient::queryStreamPushJobListAsync(const QueryStreamPushJobListRequest& request, const QueryStreamPushJobListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryStreamPushJobList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::QueryStreamPushJobListOutcomeCallable LinkvisualClient::queryStreamPushJobListCallable(const QueryStreamPushJobListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryStreamPushJobListOutcome()>>(
+			[this, request]()
+			{
+			return this->queryStreamPushJobList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+LinkvisualClient::QueryStreamSnapshotJobOutcome LinkvisualClient::queryStreamSnapshotJob(const QueryStreamSnapshotJobRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryStreamSnapshotJobOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryStreamSnapshotJobOutcome(QueryStreamSnapshotJobResult(outcome.result()));
+	else
+		return QueryStreamSnapshotJobOutcome(outcome.error());
+}
+
+void LinkvisualClient::queryStreamSnapshotJobAsync(const QueryStreamSnapshotJobRequest& request, const QueryStreamSnapshotJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryStreamSnapshotJob(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::QueryStreamSnapshotJobOutcomeCallable LinkvisualClient::queryStreamSnapshotJobCallable(const QueryStreamSnapshotJobRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryStreamSnapshotJobOutcome()>>(
+			[this, request]()
+			{
+			return this->queryStreamSnapshotJob(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LinkvisualClient::QueryTimeTemplateOutcome LinkvisualClient::queryTimeTemplate(const QueryTimeTemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3363,6 +3723,42 @@ LinkvisualClient::QueryVoiceIntercomOutcomeCallable LinkvisualClient::queryVoice
 	return task->get_future();
 }
 
+LinkvisualClient::RefreshGbSubDeviceListOutcome LinkvisualClient::refreshGbSubDeviceList(const RefreshGbSubDeviceListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RefreshGbSubDeviceListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RefreshGbSubDeviceListOutcome(RefreshGbSubDeviceListResult(outcome.result()));
+	else
+		return RefreshGbSubDeviceListOutcome(outcome.error());
+}
+
+void LinkvisualClient::refreshGbSubDeviceListAsync(const RefreshGbSubDeviceListRequest& request, const RefreshGbSubDeviceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, refreshGbSubDeviceList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::RefreshGbSubDeviceListOutcomeCallable LinkvisualClient::refreshGbSubDeviceListCallable(const RefreshGbSubDeviceListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RefreshGbSubDeviceListOutcome()>>(
+			[this, request]()
+			{
+			return this->refreshGbSubDeviceList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LinkvisualClient::RemoveFaceDeviceFromDeviceGroupOutcome LinkvisualClient::removeFaceDeviceFromDeviceGroup(const RemoveFaceDeviceFromDeviceGroupRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3831,6 +4227,42 @@ LinkvisualClient::UpdateFaceUserGroupAndDeviceGroupRelationOutcomeCallable Linkv
 	return task->get_future();
 }
 
+LinkvisualClient::UpdateGbDeviceOutcome LinkvisualClient::updateGbDevice(const UpdateGbDeviceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateGbDeviceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateGbDeviceOutcome(UpdateGbDeviceResult(outcome.result()));
+	else
+		return UpdateGbDeviceOutcome(outcome.error());
+}
+
+void LinkvisualClient::updateGbDeviceAsync(const UpdateGbDeviceRequest& request, const UpdateGbDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateGbDevice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LinkvisualClient::UpdateGbDeviceOutcomeCallable LinkvisualClient::updateGbDeviceCallable(const UpdateGbDeviceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateGbDeviceOutcome()>>(
+			[this, request]()
+			{
+			return this->updateGbDevice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LinkvisualClient::UpdateInstanceInternetProtocolOutcome LinkvisualClient::updateInstanceInternetProtocol(const UpdateInstanceInternetProtocolRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 9 - 0
linkvisual/src/model/CreateGbDeviceRequest.cc

@@ -124,3 +124,12 @@ void CreateGbDeviceRequest::setApiRevision(const std::string &apiRevision) {
   setBodyParameter(std::string("ApiRevision"), apiRevision);
 }
 
+std::string CreateGbDeviceRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void CreateGbDeviceRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 108 - 0
linkvisual/src/model/CreateStreamPushJobRequest.cc

@@ -0,0 +1,108 @@
+/*
+ * 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/linkvisual/model/CreateStreamPushJobRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::CreateStreamPushJobRequest;
+
+CreateStreamPushJobRequest::CreateStreamPushJobRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "CreateStreamPushJob") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateStreamPushJobRequest::~CreateStreamPushJobRequest() {}
+
+std::string CreateStreamPushJobRequest::getIotId() const {
+  return iotId_;
+}
+
+void CreateStreamPushJobRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string CreateStreamPushJobRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void CreateStreamPushJobRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+int CreateStreamPushJobRequest::getStreamType() const {
+  return streamType_;
+}
+
+void CreateStreamPushJobRequest::setStreamType(int streamType) {
+  streamType_ = streamType;
+  setParameter(std::string("StreamType"), std::to_string(streamType));
+}
+
+std::string CreateStreamPushJobRequest::getProductKey() const {
+  return productKey_;
+}
+
+void CreateStreamPushJobRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+int CreateStreamPushJobRequest::getJobType() const {
+  return jobType_;
+}
+
+void CreateStreamPushJobRequest::setJobType(int jobType) {
+  jobType_ = jobType;
+  setParameter(std::string("JobType"), std::to_string(jobType));
+}
+
+std::string CreateStreamPushJobRequest::getPushUrl() const {
+  return pushUrl_;
+}
+
+void CreateStreamPushJobRequest::setPushUrl(const std::string &pushUrl) {
+  pushUrl_ = pushUrl;
+  setParameter(std::string("PushUrl"), pushUrl);
+}
+
+std::string CreateStreamPushJobRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void CreateStreamPushJobRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string CreateStreamPushJobRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void CreateStreamPushJobRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string CreateStreamPushJobRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void CreateStreamPushJobRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 73 - 0
linkvisual/src/model/CreateStreamPushJobResult.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/linkvisual/model/CreateStreamPushJobResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+CreateStreamPushJobResult::CreateStreamPushJobResult() :
+	ServiceResult()
+{}
+
+CreateStreamPushJobResult::CreateStreamPushJobResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateStreamPushJobResult::~CreateStreamPushJobResult()
+{}
+
+void CreateStreamPushJobResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["JobId"].isNull())
+		data_.jobId = dataNode["JobId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+CreateStreamPushJobResult::Data CreateStreamPushJobResult::getData()const
+{
+	return data_;
+}
+
+std::string CreateStreamPushJobResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string CreateStreamPushJobResult::getCode()const
+{
+	return code_;
+}
+
+bool CreateStreamPushJobResult::getSuccess()const
+{
+	return success_;
+}
+

+ 99 - 0
linkvisual/src/model/CreateStreamSnapshotJobRequest.cc

@@ -0,0 +1,99 @@
+/*
+ * 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/linkvisual/model/CreateStreamSnapshotJobRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::CreateStreamSnapshotJobRequest;
+
+CreateStreamSnapshotJobRequest::CreateStreamSnapshotJobRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "CreateStreamSnapshotJob") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateStreamSnapshotJobRequest::~CreateStreamSnapshotJobRequest() {}
+
+std::string CreateStreamSnapshotJobRequest::getIotId() const {
+  return iotId_;
+}
+
+void CreateStreamSnapshotJobRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string CreateStreamSnapshotJobRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void CreateStreamSnapshotJobRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+int CreateStreamSnapshotJobRequest::getStreamType() const {
+  return streamType_;
+}
+
+void CreateStreamSnapshotJobRequest::setStreamType(int streamType) {
+  streamType_ = streamType;
+  setParameter(std::string("StreamType"), std::to_string(streamType));
+}
+
+std::string CreateStreamSnapshotJobRequest::getProductKey() const {
+  return productKey_;
+}
+
+void CreateStreamSnapshotJobRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+int CreateStreamSnapshotJobRequest::getSnapshotInterval() const {
+  return snapshotInterval_;
+}
+
+void CreateStreamSnapshotJobRequest::setSnapshotInterval(int snapshotInterval) {
+  snapshotInterval_ = snapshotInterval;
+  setParameter(std::string("SnapshotInterval"), std::to_string(snapshotInterval));
+}
+
+std::string CreateStreamSnapshotJobRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void CreateStreamSnapshotJobRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string CreateStreamSnapshotJobRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void CreateStreamSnapshotJobRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string CreateStreamSnapshotJobRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void CreateStreamSnapshotJobRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 65 - 0
linkvisual/src/model/CreateStreamSnapshotJobResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/linkvisual/model/CreateStreamSnapshotJobResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+CreateStreamSnapshotJobResult::CreateStreamSnapshotJobResult() :
+	ServiceResult()
+{}
+
+CreateStreamSnapshotJobResult::CreateStreamSnapshotJobResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateStreamSnapshotJobResult::~CreateStreamSnapshotJobResult()
+{}
+
+void CreateStreamSnapshotJobResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string CreateStreamSnapshotJobResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string CreateStreamSnapshotJobResult::getCode()const
+{
+	return code_;
+}
+
+bool CreateStreamSnapshotJobResult::getSuccess()const
+{
+	return success_;
+}
+

+ 81 - 0
linkvisual/src/model/DeleteGbDeviceRequest.cc

@@ -0,0 +1,81 @@
+/*
+ * 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/linkvisual/model/DeleteGbDeviceRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::DeleteGbDeviceRequest;
+
+DeleteGbDeviceRequest::DeleteGbDeviceRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "DeleteGbDevice") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteGbDeviceRequest::~DeleteGbDeviceRequest() {}
+
+std::string DeleteGbDeviceRequest::getIotId() const {
+  return iotId_;
+}
+
+void DeleteGbDeviceRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string DeleteGbDeviceRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void DeleteGbDeviceRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+std::string DeleteGbDeviceRequest::getProductKey() const {
+  return productKey_;
+}
+
+void DeleteGbDeviceRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+std::string DeleteGbDeviceRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void DeleteGbDeviceRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string DeleteGbDeviceRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void DeleteGbDeviceRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string DeleteGbDeviceRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void DeleteGbDeviceRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 65 - 0
linkvisual/src/model/DeleteGbDeviceResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/linkvisual/model/DeleteGbDeviceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+DeleteGbDeviceResult::DeleteGbDeviceResult() :
+	ServiceResult()
+{}
+
+DeleteGbDeviceResult::DeleteGbDeviceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteGbDeviceResult::~DeleteGbDeviceResult()
+{}
+
+void DeleteGbDeviceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string DeleteGbDeviceResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string DeleteGbDeviceResult::getCode()const
+{
+	return code_;
+}
+
+bool DeleteGbDeviceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 90 - 0
linkvisual/src/model/DeleteStreamPushJobRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/linkvisual/model/DeleteStreamPushJobRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::DeleteStreamPushJobRequest;
+
+DeleteStreamPushJobRequest::DeleteStreamPushJobRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "DeleteStreamPushJob") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteStreamPushJobRequest::~DeleteStreamPushJobRequest() {}
+
+std::string DeleteStreamPushJobRequest::getJobId() const {
+  return jobId_;
+}
+
+void DeleteStreamPushJobRequest::setJobId(const std::string &jobId) {
+  jobId_ = jobId;
+  setParameter(std::string("JobId"), jobId);
+}
+
+std::string DeleteStreamPushJobRequest::getIotId() const {
+  return iotId_;
+}
+
+void DeleteStreamPushJobRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string DeleteStreamPushJobRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void DeleteStreamPushJobRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+std::string DeleteStreamPushJobRequest::getProductKey() const {
+  return productKey_;
+}
+
+void DeleteStreamPushJobRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+std::string DeleteStreamPushJobRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void DeleteStreamPushJobRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string DeleteStreamPushJobRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void DeleteStreamPushJobRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string DeleteStreamPushJobRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void DeleteStreamPushJobRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 65 - 0
linkvisual/src/model/DeleteStreamPushJobResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/linkvisual/model/DeleteStreamPushJobResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+DeleteStreamPushJobResult::DeleteStreamPushJobResult() :
+	ServiceResult()
+{}
+
+DeleteStreamPushJobResult::DeleteStreamPushJobResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteStreamPushJobResult::~DeleteStreamPushJobResult()
+{}
+
+void DeleteStreamPushJobResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string DeleteStreamPushJobResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string DeleteStreamPushJobResult::getCode()const
+{
+	return code_;
+}
+
+bool DeleteStreamPushJobResult::getSuccess()const
+{
+	return success_;
+}
+

+ 90 - 0
linkvisual/src/model/DeleteStreamSnapshotJobRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/linkvisual/model/DeleteStreamSnapshotJobRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::DeleteStreamSnapshotJobRequest;
+
+DeleteStreamSnapshotJobRequest::DeleteStreamSnapshotJobRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "DeleteStreamSnapshotJob") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteStreamSnapshotJobRequest::~DeleteStreamSnapshotJobRequest() {}
+
+std::string DeleteStreamSnapshotJobRequest::getIotId() const {
+  return iotId_;
+}
+
+void DeleteStreamSnapshotJobRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string DeleteStreamSnapshotJobRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void DeleteStreamSnapshotJobRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+int DeleteStreamSnapshotJobRequest::getStreamType() const {
+  return streamType_;
+}
+
+void DeleteStreamSnapshotJobRequest::setStreamType(int streamType) {
+  streamType_ = streamType;
+  setParameter(std::string("StreamType"), std::to_string(streamType));
+}
+
+std::string DeleteStreamSnapshotJobRequest::getProductKey() const {
+  return productKey_;
+}
+
+void DeleteStreamSnapshotJobRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+std::string DeleteStreamSnapshotJobRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void DeleteStreamSnapshotJobRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string DeleteStreamSnapshotJobRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void DeleteStreamSnapshotJobRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string DeleteStreamSnapshotJobRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void DeleteStreamSnapshotJobRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 65 - 0
linkvisual/src/model/DeleteStreamSnapshotJobResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/linkvisual/model/DeleteStreamSnapshotJobResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+DeleteStreamSnapshotJobResult::DeleteStreamSnapshotJobResult() :
+	ServiceResult()
+{}
+
+DeleteStreamSnapshotJobResult::DeleteStreamSnapshotJobResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteStreamSnapshotJobResult::~DeleteStreamSnapshotJobResult()
+{}
+
+void DeleteStreamSnapshotJobResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string DeleteStreamSnapshotJobResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string DeleteStreamSnapshotJobResult::getCode()const
+{
+	return code_;
+}
+
+bool DeleteStreamSnapshotJobResult::getSuccess()const
+{
+	return success_;
+}
+

+ 90 - 0
linkvisual/src/model/EnableGbSubDeviceRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/linkvisual/model/EnableGbSubDeviceRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::EnableGbSubDeviceRequest;
+
+EnableGbSubDeviceRequest::EnableGbSubDeviceRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "EnableGbSubDevice") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+EnableGbSubDeviceRequest::~EnableGbSubDeviceRequest() {}
+
+std::string EnableGbSubDeviceRequest::getIotId() const {
+  return iotId_;
+}
+
+void EnableGbSubDeviceRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string EnableGbSubDeviceRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void EnableGbSubDeviceRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+std::string EnableGbSubDeviceRequest::getProductKey() const {
+  return productKey_;
+}
+
+void EnableGbSubDeviceRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+std::string EnableGbSubDeviceRequest::getSubDeviceId() const {
+  return subDeviceId_;
+}
+
+void EnableGbSubDeviceRequest::setSubDeviceId(const std::string &subDeviceId) {
+  subDeviceId_ = subDeviceId;
+  setParameter(std::string("SubDeviceId"), subDeviceId);
+}
+
+std::string EnableGbSubDeviceRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void EnableGbSubDeviceRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string EnableGbSubDeviceRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void EnableGbSubDeviceRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string EnableGbSubDeviceRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void EnableGbSubDeviceRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 75 - 0
linkvisual/src/model/EnableGbSubDeviceResult.cc

@@ -0,0 +1,75 @@
+/*
+ * 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/linkvisual/model/EnableGbSubDeviceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+EnableGbSubDeviceResult::EnableGbSubDeviceResult() :
+	ServiceResult()
+{}
+
+EnableGbSubDeviceResult::EnableGbSubDeviceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+EnableGbSubDeviceResult::~EnableGbSubDeviceResult()
+{}
+
+void EnableGbSubDeviceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["DeviceName"].isNull())
+		data_.deviceName = dataNode["DeviceName"].asString();
+	if(!dataNode["ProductKey"].isNull())
+		data_.productKey = dataNode["ProductKey"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+EnableGbSubDeviceResult::Data EnableGbSubDeviceResult::getData()const
+{
+	return data_;
+}
+
+std::string EnableGbSubDeviceResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string EnableGbSubDeviceResult::getCode()const
+{
+	return code_;
+}
+
+bool EnableGbSubDeviceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 99 - 0
linkvisual/src/model/QueryGbSubDeviceListRequest.cc

@@ -0,0 +1,99 @@
+/*
+ * 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/linkvisual/model/QueryGbSubDeviceListRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::QueryGbSubDeviceListRequest;
+
+QueryGbSubDeviceListRequest::QueryGbSubDeviceListRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "QueryGbSubDeviceList") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+QueryGbSubDeviceListRequest::~QueryGbSubDeviceListRequest() {}
+
+std::string QueryGbSubDeviceListRequest::getIotId() const {
+  return iotId_;
+}
+
+void QueryGbSubDeviceListRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string QueryGbSubDeviceListRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void QueryGbSubDeviceListRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+int QueryGbSubDeviceListRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void QueryGbSubDeviceListRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string QueryGbSubDeviceListRequest::getProductKey() const {
+  return productKey_;
+}
+
+void QueryGbSubDeviceListRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+std::string QueryGbSubDeviceListRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void QueryGbSubDeviceListRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string QueryGbSubDeviceListRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void QueryGbSubDeviceListRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string QueryGbSubDeviceListRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void QueryGbSubDeviceListRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+
+int QueryGbSubDeviceListRequest::getPageStart() const {
+  return pageStart_;
+}
+
+void QueryGbSubDeviceListRequest::setPageStart(int pageStart) {
+  pageStart_ = pageStart;
+  setParameter(std::string("PageStart"), std::to_string(pageStart));
+}
+

+ 89 - 0
linkvisual/src/model/QueryGbSubDeviceListResult.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/linkvisual/model/QueryGbSubDeviceListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+QueryGbSubDeviceListResult::QueryGbSubDeviceListResult() :
+	ServiceResult()
+{}
+
+QueryGbSubDeviceListResult::QueryGbSubDeviceListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryGbSubDeviceListResult::~QueryGbSubDeviceListResult()
+{}
+
+void QueryGbSubDeviceListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["Total"].isNull())
+		data_.total = std::stoi(dataNode["Total"].asString());
+	auto allGbSubDeviceListNode = dataNode["GbSubDeviceList"]["gbSubDevice"];
+	for (auto dataNodeGbSubDeviceListgbSubDevice : allGbSubDeviceListNode)
+	{
+		Data::GbSubDevice gbSubDeviceObject;
+		if(!dataNodeGbSubDeviceListgbSubDevice["ProductKey"].isNull())
+			gbSubDeviceObject.productKey = dataNodeGbSubDeviceListgbSubDevice["ProductKey"].asString();
+		if(!dataNodeGbSubDeviceListgbSubDevice["DeviceName"].isNull())
+			gbSubDeviceObject.deviceName = dataNodeGbSubDeviceListgbSubDevice["DeviceName"].asString();
+		if(!dataNodeGbSubDeviceListgbSubDevice["DeviceId"].isNull())
+			gbSubDeviceObject.deviceId = dataNodeGbSubDeviceListgbSubDevice["DeviceId"].asString();
+		if(!dataNodeGbSubDeviceListgbSubDevice["DeviceEnable"].isNull())
+			gbSubDeviceObject.deviceEnable = std::stoi(dataNodeGbSubDeviceListgbSubDevice["DeviceEnable"].asString());
+		if(!dataNodeGbSubDeviceListgbSubDevice["IotId"].isNull())
+			gbSubDeviceObject.iotId = dataNodeGbSubDeviceListgbSubDevice["IotId"].asString();
+		data_.gbSubDeviceList.push_back(gbSubDeviceObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+QueryGbSubDeviceListResult::Data QueryGbSubDeviceListResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryGbSubDeviceListResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QueryGbSubDeviceListResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryGbSubDeviceListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 108 - 0
linkvisual/src/model/QueryStreamPushJobListRequest.cc

@@ -0,0 +1,108 @@
+/*
+ * 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/linkvisual/model/QueryStreamPushJobListRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::QueryStreamPushJobListRequest;
+
+QueryStreamPushJobListRequest::QueryStreamPushJobListRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "QueryStreamPushJobList") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+QueryStreamPushJobListRequest::~QueryStreamPushJobListRequest() {}
+
+std::string QueryStreamPushJobListRequest::getIotId() const {
+  return iotId_;
+}
+
+void QueryStreamPushJobListRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string QueryStreamPushJobListRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void QueryStreamPushJobListRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+int QueryStreamPushJobListRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void QueryStreamPushJobListRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+int QueryStreamPushJobListRequest::getCurrentPage() const {
+  return currentPage_;
+}
+
+void QueryStreamPushJobListRequest::setCurrentPage(int currentPage) {
+  currentPage_ = currentPage;
+  setParameter(std::string("CurrentPage"), std::to_string(currentPage));
+}
+
+std::string QueryStreamPushJobListRequest::getProductKey() const {
+  return productKey_;
+}
+
+void QueryStreamPushJobListRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+int QueryStreamPushJobListRequest::getJobType() const {
+  return jobType_;
+}
+
+void QueryStreamPushJobListRequest::setJobType(int jobType) {
+  jobType_ = jobType;
+  setParameter(std::string("JobType"), std::to_string(jobType));
+}
+
+std::string QueryStreamPushJobListRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void QueryStreamPushJobListRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string QueryStreamPushJobListRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void QueryStreamPushJobListRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string QueryStreamPushJobListRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void QueryStreamPushJobListRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 91 - 0
linkvisual/src/model/QueryStreamPushJobListResult.cc

@@ -0,0 +1,91 @@
+/*
+ * 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/linkvisual/model/QueryStreamPushJobListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+QueryStreamPushJobListResult::QueryStreamPushJobListResult() :
+	ServiceResult()
+{}
+
+QueryStreamPushJobListResult::QueryStreamPushJobListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryStreamPushJobListResult::~QueryStreamPushJobListResult()
+{}
+
+void QueryStreamPushJobListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["Total"].isNull())
+		data_.total = std::stoi(dataNode["Total"].asString());
+	auto allJobListNode = dataNode["JobList"]["Job"];
+	for (auto dataNodeJobListJob : allJobListNode)
+	{
+		Data::Job jobObject;
+		if(!dataNodeJobListJob["PushUrl"].isNull())
+			jobObject.pushUrl = dataNodeJobListJob["PushUrl"].asString();
+		if(!dataNodeJobListJob["StreamType"].isNull())
+			jobObject.streamType = std::stoi(dataNodeJobListJob["StreamType"].asString());
+		if(!dataNodeJobListJob["JobId"].isNull())
+			jobObject.jobId = dataNodeJobListJob["JobId"].asString();
+		if(!dataNodeJobListJob["CreateTime"].isNull())
+			jobObject.createTime = std::stoi(dataNodeJobListJob["CreateTime"].asString());
+		if(!dataNodeJobListJob["PushStatus"].isNull())
+			jobObject.pushStatus = std::stoi(dataNodeJobListJob["PushStatus"].asString());
+		if(!dataNodeJobListJob["JobType"].isNull())
+			jobObject.jobType = std::stoi(dataNodeJobListJob["JobType"].asString());
+		data_.jobList.push_back(jobObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+QueryStreamPushJobListResult::Data QueryStreamPushJobListResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryStreamPushJobListResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QueryStreamPushJobListResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryStreamPushJobListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 90 - 0
linkvisual/src/model/QueryStreamPushJobRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/linkvisual/model/QueryStreamPushJobRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::QueryStreamPushJobRequest;
+
+QueryStreamPushJobRequest::QueryStreamPushJobRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "QueryStreamPushJob") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+QueryStreamPushJobRequest::~QueryStreamPushJobRequest() {}
+
+std::string QueryStreamPushJobRequest::getJobId() const {
+  return jobId_;
+}
+
+void QueryStreamPushJobRequest::setJobId(const std::string &jobId) {
+  jobId_ = jobId;
+  setParameter(std::string("JobId"), jobId);
+}
+
+std::string QueryStreamPushJobRequest::getIotId() const {
+  return iotId_;
+}
+
+void QueryStreamPushJobRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string QueryStreamPushJobRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void QueryStreamPushJobRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+std::string QueryStreamPushJobRequest::getProductKey() const {
+  return productKey_;
+}
+
+void QueryStreamPushJobRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+std::string QueryStreamPushJobRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void QueryStreamPushJobRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string QueryStreamPushJobRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void QueryStreamPushJobRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string QueryStreamPushJobRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void QueryStreamPushJobRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 81 - 0
linkvisual/src/model/QueryStreamPushJobResult.cc

@@ -0,0 +1,81 @@
+/*
+ * 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/linkvisual/model/QueryStreamPushJobResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+QueryStreamPushJobResult::QueryStreamPushJobResult() :
+	ServiceResult()
+{}
+
+QueryStreamPushJobResult::QueryStreamPushJobResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryStreamPushJobResult::~QueryStreamPushJobResult()
+{}
+
+void QueryStreamPushJobResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["JobType"].isNull())
+		data_.jobType = std::stoi(dataNode["JobType"].asString());
+	if(!dataNode["PushUrl"].isNull())
+		data_.pushUrl = dataNode["PushUrl"].asString();
+	if(!dataNode["StreamType"].isNull())
+		data_.streamType = std::stoi(dataNode["StreamType"].asString());
+	if(!dataNode["CreateTime"].isNull())
+		data_.createTime = std::stoi(dataNode["CreateTime"].asString());
+	if(!dataNode["PushStatus"].isNull())
+		data_.pushStatus = std::stoi(dataNode["PushStatus"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+QueryStreamPushJobResult::Data QueryStreamPushJobResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryStreamPushJobResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QueryStreamPushJobResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryStreamPushJobResult::getSuccess()const
+{
+	return success_;
+}
+

+ 81 - 0
linkvisual/src/model/QueryStreamSnapshotJobRequest.cc

@@ -0,0 +1,81 @@
+/*
+ * 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/linkvisual/model/QueryStreamSnapshotJobRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::QueryStreamSnapshotJobRequest;
+
+QueryStreamSnapshotJobRequest::QueryStreamSnapshotJobRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "QueryStreamSnapshotJob") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+QueryStreamSnapshotJobRequest::~QueryStreamSnapshotJobRequest() {}
+
+std::string QueryStreamSnapshotJobRequest::getIotId() const {
+  return iotId_;
+}
+
+void QueryStreamSnapshotJobRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string QueryStreamSnapshotJobRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void QueryStreamSnapshotJobRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+std::string QueryStreamSnapshotJobRequest::getProductKey() const {
+  return productKey_;
+}
+
+void QueryStreamSnapshotJobRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+std::string QueryStreamSnapshotJobRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void QueryStreamSnapshotJobRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string QueryStreamSnapshotJobRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void QueryStreamSnapshotJobRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string QueryStreamSnapshotJobRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void QueryStreamSnapshotJobRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 81 - 0
linkvisual/src/model/QueryStreamSnapshotJobResult.cc

@@ -0,0 +1,81 @@
+/*
+ * 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/linkvisual/model/QueryStreamSnapshotJobResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+QueryStreamSnapshotJobResult::QueryStreamSnapshotJobResult() :
+	ServiceResult()
+{}
+
+QueryStreamSnapshotJobResult::QueryStreamSnapshotJobResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryStreamSnapshotJobResult::~QueryStreamSnapshotJobResult()
+{}
+
+void QueryStreamSnapshotJobResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	auto allJobListNode = dataNode["JobList"]["Job"];
+	for (auto dataNodeJobListJob : allJobListNode)
+	{
+		Data::Job jobObject;
+		if(!dataNodeJobListJob["StreamType"].isNull())
+			jobObject.streamType = std::stoi(dataNodeJobListJob["StreamType"].asString());
+		if(!dataNodeJobListJob["SnapshotInterval"].isNull())
+			jobObject.snapshotInterval = std::stoi(dataNodeJobListJob["SnapshotInterval"].asString());
+		data_.jobList.push_back(jobObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+QueryStreamSnapshotJobResult::Data QueryStreamSnapshotJobResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryStreamSnapshotJobResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QueryStreamSnapshotJobResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryStreamSnapshotJobResult::getSuccess()const
+{
+	return success_;
+}
+

+ 81 - 0
linkvisual/src/model/RefreshGbSubDeviceListRequest.cc

@@ -0,0 +1,81 @@
+/*
+ * 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/linkvisual/model/RefreshGbSubDeviceListRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::RefreshGbSubDeviceListRequest;
+
+RefreshGbSubDeviceListRequest::RefreshGbSubDeviceListRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "RefreshGbSubDeviceList") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+RefreshGbSubDeviceListRequest::~RefreshGbSubDeviceListRequest() {}
+
+std::string RefreshGbSubDeviceListRequest::getIotId() const {
+  return iotId_;
+}
+
+void RefreshGbSubDeviceListRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string RefreshGbSubDeviceListRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void RefreshGbSubDeviceListRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+std::string RefreshGbSubDeviceListRequest::getProductKey() const {
+  return productKey_;
+}
+
+void RefreshGbSubDeviceListRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+std::string RefreshGbSubDeviceListRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void RefreshGbSubDeviceListRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string RefreshGbSubDeviceListRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void RefreshGbSubDeviceListRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string RefreshGbSubDeviceListRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void RefreshGbSubDeviceListRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 65 - 0
linkvisual/src/model/RefreshGbSubDeviceListResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/linkvisual/model/RefreshGbSubDeviceListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+RefreshGbSubDeviceListResult::RefreshGbSubDeviceListResult() :
+	ServiceResult()
+{}
+
+RefreshGbSubDeviceListResult::RefreshGbSubDeviceListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+RefreshGbSubDeviceListResult::~RefreshGbSubDeviceListResult()
+{}
+
+void RefreshGbSubDeviceListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string RefreshGbSubDeviceListResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string RefreshGbSubDeviceListResult::getCode()const
+{
+	return code_;
+}
+
+bool RefreshGbSubDeviceListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 108 - 0
linkvisual/src/model/UpdateGbDeviceRequest.cc

@@ -0,0 +1,108 @@
+/*
+ * 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/linkvisual/model/UpdateGbDeviceRequest.h>
+
+using AlibabaCloud::Linkvisual::Model::UpdateGbDeviceRequest;
+
+UpdateGbDeviceRequest::UpdateGbDeviceRequest()
+    : RpcServiceRequest("linkvisual", "2018-01-20", "UpdateGbDevice") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateGbDeviceRequest::~UpdateGbDeviceRequest() {}
+
+std::string UpdateGbDeviceRequest::getGbId() const {
+  return gbId_;
+}
+
+void UpdateGbDeviceRequest::setGbId(const std::string &gbId) {
+  gbId_ = gbId;
+  setParameter(std::string("GbId"), gbId);
+}
+
+std::string UpdateGbDeviceRequest::getDescription() const {
+  return description_;
+}
+
+void UpdateGbDeviceRequest::setDescription(const std::string &description) {
+  description_ = description;
+  setParameter(std::string("Description"), description);
+}
+
+std::string UpdateGbDeviceRequest::getPassword() const {
+  return password_;
+}
+
+void UpdateGbDeviceRequest::setPassword(const std::string &password) {
+  password_ = password;
+  setParameter(std::string("Password"), password);
+}
+
+std::string UpdateGbDeviceRequest::getIotId() const {
+  return iotId_;
+}
+
+void UpdateGbDeviceRequest::setIotId(const std::string &iotId) {
+  iotId_ = iotId;
+  setParameter(std::string("IotId"), iotId);
+}
+
+std::string UpdateGbDeviceRequest::getIotInstanceId() const {
+  return iotInstanceId_;
+}
+
+void UpdateGbDeviceRequest::setIotInstanceId(const std::string &iotInstanceId) {
+  iotInstanceId_ = iotInstanceId;
+  setParameter(std::string("IotInstanceId"), iotInstanceId);
+}
+
+std::string UpdateGbDeviceRequest::getProductKey() const {
+  return productKey_;
+}
+
+void UpdateGbDeviceRequest::setProductKey(const std::string &productKey) {
+  productKey_ = productKey;
+  setParameter(std::string("ProductKey"), productKey);
+}
+
+std::string UpdateGbDeviceRequest::getApiProduct() const {
+  return apiProduct_;
+}
+
+void UpdateGbDeviceRequest::setApiProduct(const std::string &apiProduct) {
+  apiProduct_ = apiProduct;
+  setBodyParameter(std::string("ApiProduct"), apiProduct);
+}
+
+std::string UpdateGbDeviceRequest::getApiRevision() const {
+  return apiRevision_;
+}
+
+void UpdateGbDeviceRequest::setApiRevision(const std::string &apiRevision) {
+  apiRevision_ = apiRevision;
+  setBodyParameter(std::string("ApiRevision"), apiRevision);
+}
+
+std::string UpdateGbDeviceRequest::getDeviceName() const {
+  return deviceName_;
+}
+
+void UpdateGbDeviceRequest::setDeviceName(const std::string &deviceName) {
+  deviceName_ = deviceName;
+  setParameter(std::string("DeviceName"), deviceName);
+}
+

+ 65 - 0
linkvisual/src/model/UpdateGbDeviceResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/linkvisual/model/UpdateGbDeviceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Linkvisual;
+using namespace AlibabaCloud::Linkvisual::Model;
+
+UpdateGbDeviceResult::UpdateGbDeviceResult() :
+	ServiceResult()
+{}
+
+UpdateGbDeviceResult::UpdateGbDeviceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateGbDeviceResult::~UpdateGbDeviceResult()
+{}
+
+void UpdateGbDeviceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string UpdateGbDeviceResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string UpdateGbDeviceResult::getCode()const
+{
+	return code_;
+}
+
+bool UpdateGbDeviceResult::getSuccess()const
+{
+	return success_;
+}
+