LinkFaceClient.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. /*
  2. * Copyright 2009-2017 Alibaba Cloud All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #ifndef ALIBABACLOUD_LINKFACE_LINKFACECLIENT_H_
  17. #define ALIBABACLOUD_LINKFACE_LINKFACECLIENT_H_
  18. #include <future>
  19. #include <alibabacloud/core/AsyncCallerContext.h>
  20. #include <alibabacloud/core/EndpointProvider.h>
  21. #include <alibabacloud/core/RpcServiceClient.h>
  22. #include "LinkFaceExport.h"
  23. #include "model/CreateGroupRequest.h"
  24. #include "model/CreateGroupResult.h"
  25. #include "model/DeleteDeviceAllGroupRequest.h"
  26. #include "model/DeleteDeviceAllGroupResult.h"
  27. #include "model/DeleteDeviceGroupRequest.h"
  28. #include "model/DeleteDeviceGroupResult.h"
  29. #include "model/DeleteFaceRequest.h"
  30. #include "model/DeleteFaceResult.h"
  31. #include "model/DeleteGroupRequest.h"
  32. #include "model/DeleteGroupResult.h"
  33. #include "model/LinkFaceRequest.h"
  34. #include "model/LinkFaceResult.h"
  35. #include "model/QueryAddUserInfoRequest.h"
  36. #include "model/QueryAddUserInfoResult.h"
  37. #include "model/QueryAllGroupsRequest.h"
  38. #include "model/QueryAllGroupsResult.h"
  39. #include "model/QueryAuthenticationRequest.h"
  40. #include "model/QueryAuthenticationResult.h"
  41. #include "model/QueryFaceRequest.h"
  42. #include "model/QueryFaceResult.h"
  43. #include "model/QueryGroupUsersRequest.h"
  44. #include "model/QueryGroupUsersResult.h"
  45. #include "model/QueryLicensesRequest.h"
  46. #include "model/QueryLicensesResult.h"
  47. #include "model/QuerySyncPicScheduleRequest.h"
  48. #include "model/QuerySyncPicScheduleResult.h"
  49. #include "model/RegisterFaceRequest.h"
  50. #include "model/RegisterFaceResult.h"
  51. #include "model/SearchFaceRequest.h"
  52. #include "model/SearchFaceResult.h"
  53. #include "model/SyncFacePicturesRequest.h"
  54. #include "model/SyncFacePicturesResult.h"
  55. #include "model/UnlinkFaceRequest.h"
  56. #include "model/UnlinkFaceResult.h"
  57. #include "model/UpdateFaceRequest.h"
  58. #include "model/UpdateFaceResult.h"
  59. namespace AlibabaCloud
  60. {
  61. namespace LinkFace
  62. {
  63. class ALIBABACLOUD_LINKFACE_EXPORT LinkFaceClient : public RpcServiceClient
  64. {
  65. public:
  66. typedef Outcome<Error, Model::CreateGroupResult> CreateGroupOutcome;
  67. typedef std::future<CreateGroupOutcome> CreateGroupOutcomeCallable;
  68. typedef std::function<void(const LinkFaceClient*, const Model::CreateGroupRequest&, const CreateGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateGroupAsyncHandler;
  69. typedef Outcome<Error, Model::DeleteDeviceAllGroupResult> DeleteDeviceAllGroupOutcome;
  70. typedef std::future<DeleteDeviceAllGroupOutcome> DeleteDeviceAllGroupOutcomeCallable;
  71. typedef std::function<void(const LinkFaceClient*, const Model::DeleteDeviceAllGroupRequest&, const DeleteDeviceAllGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDeviceAllGroupAsyncHandler;
  72. typedef Outcome<Error, Model::DeleteDeviceGroupResult> DeleteDeviceGroupOutcome;
  73. typedef std::future<DeleteDeviceGroupOutcome> DeleteDeviceGroupOutcomeCallable;
  74. typedef std::function<void(const LinkFaceClient*, const Model::DeleteDeviceGroupRequest&, const DeleteDeviceGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDeviceGroupAsyncHandler;
  75. typedef Outcome<Error, Model::DeleteFaceResult> DeleteFaceOutcome;
  76. typedef std::future<DeleteFaceOutcome> DeleteFaceOutcomeCallable;
  77. typedef std::function<void(const LinkFaceClient*, const Model::DeleteFaceRequest&, const DeleteFaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFaceAsyncHandler;
  78. typedef Outcome<Error, Model::DeleteGroupResult> DeleteGroupOutcome;
  79. typedef std::future<DeleteGroupOutcome> DeleteGroupOutcomeCallable;
  80. typedef std::function<void(const LinkFaceClient*, const Model::DeleteGroupRequest&, const DeleteGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteGroupAsyncHandler;
  81. typedef Outcome<Error, Model::LinkFaceResult> LinkFaceOutcome;
  82. typedef std::future<LinkFaceOutcome> LinkFaceOutcomeCallable;
  83. typedef std::function<void(const LinkFaceClient*, const Model::LinkFaceRequest&, const LinkFaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> LinkFaceAsyncHandler;
  84. typedef Outcome<Error, Model::QueryAddUserInfoResult> QueryAddUserInfoOutcome;
  85. typedef std::future<QueryAddUserInfoOutcome> QueryAddUserInfoOutcomeCallable;
  86. typedef std::function<void(const LinkFaceClient*, const Model::QueryAddUserInfoRequest&, const QueryAddUserInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryAddUserInfoAsyncHandler;
  87. typedef Outcome<Error, Model::QueryAllGroupsResult> QueryAllGroupsOutcome;
  88. typedef std::future<QueryAllGroupsOutcome> QueryAllGroupsOutcomeCallable;
  89. typedef std::function<void(const LinkFaceClient*, const Model::QueryAllGroupsRequest&, const QueryAllGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryAllGroupsAsyncHandler;
  90. typedef Outcome<Error, Model::QueryAuthenticationResult> QueryAuthenticationOutcome;
  91. typedef std::future<QueryAuthenticationOutcome> QueryAuthenticationOutcomeCallable;
  92. typedef std::function<void(const LinkFaceClient*, const Model::QueryAuthenticationRequest&, const QueryAuthenticationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryAuthenticationAsyncHandler;
  93. typedef Outcome<Error, Model::QueryFaceResult> QueryFaceOutcome;
  94. typedef std::future<QueryFaceOutcome> QueryFaceOutcomeCallable;
  95. typedef std::function<void(const LinkFaceClient*, const Model::QueryFaceRequest&, const QueryFaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryFaceAsyncHandler;
  96. typedef Outcome<Error, Model::QueryGroupUsersResult> QueryGroupUsersOutcome;
  97. typedef std::future<QueryGroupUsersOutcome> QueryGroupUsersOutcomeCallable;
  98. typedef std::function<void(const LinkFaceClient*, const Model::QueryGroupUsersRequest&, const QueryGroupUsersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryGroupUsersAsyncHandler;
  99. typedef Outcome<Error, Model::QueryLicensesResult> QueryLicensesOutcome;
  100. typedef std::future<QueryLicensesOutcome> QueryLicensesOutcomeCallable;
  101. typedef std::function<void(const LinkFaceClient*, const Model::QueryLicensesRequest&, const QueryLicensesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryLicensesAsyncHandler;
  102. typedef Outcome<Error, Model::QuerySyncPicScheduleResult> QuerySyncPicScheduleOutcome;
  103. typedef std::future<QuerySyncPicScheduleOutcome> QuerySyncPicScheduleOutcomeCallable;
  104. typedef std::function<void(const LinkFaceClient*, const Model::QuerySyncPicScheduleRequest&, const QuerySyncPicScheduleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySyncPicScheduleAsyncHandler;
  105. typedef Outcome<Error, Model::RegisterFaceResult> RegisterFaceOutcome;
  106. typedef std::future<RegisterFaceOutcome> RegisterFaceOutcomeCallable;
  107. typedef std::function<void(const LinkFaceClient*, const Model::RegisterFaceRequest&, const RegisterFaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RegisterFaceAsyncHandler;
  108. typedef Outcome<Error, Model::SearchFaceResult> SearchFaceOutcome;
  109. typedef std::future<SearchFaceOutcome> SearchFaceOutcomeCallable;
  110. typedef std::function<void(const LinkFaceClient*, const Model::SearchFaceRequest&, const SearchFaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SearchFaceAsyncHandler;
  111. typedef Outcome<Error, Model::SyncFacePicturesResult> SyncFacePicturesOutcome;
  112. typedef std::future<SyncFacePicturesOutcome> SyncFacePicturesOutcomeCallable;
  113. typedef std::function<void(const LinkFaceClient*, const Model::SyncFacePicturesRequest&, const SyncFacePicturesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SyncFacePicturesAsyncHandler;
  114. typedef Outcome<Error, Model::UnlinkFaceResult> UnlinkFaceOutcome;
  115. typedef std::future<UnlinkFaceOutcome> UnlinkFaceOutcomeCallable;
  116. typedef std::function<void(const LinkFaceClient*, const Model::UnlinkFaceRequest&, const UnlinkFaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnlinkFaceAsyncHandler;
  117. typedef Outcome<Error, Model::UpdateFaceResult> UpdateFaceOutcome;
  118. typedef std::future<UpdateFaceOutcome> UpdateFaceOutcomeCallable;
  119. typedef std::function<void(const LinkFaceClient*, const Model::UpdateFaceRequest&, const UpdateFaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateFaceAsyncHandler;
  120. LinkFaceClient(const Credentials &credentials, const ClientConfiguration &configuration);
  121. LinkFaceClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
  122. LinkFaceClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
  123. ~LinkFaceClient();
  124. CreateGroupOutcome createGroup(const Model::CreateGroupRequest &request)const;
  125. void createGroupAsync(const Model::CreateGroupRequest& request, const CreateGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  126. CreateGroupOutcomeCallable createGroupCallable(const Model::CreateGroupRequest& request) const;
  127. DeleteDeviceAllGroupOutcome deleteDeviceAllGroup(const Model::DeleteDeviceAllGroupRequest &request)const;
  128. void deleteDeviceAllGroupAsync(const Model::DeleteDeviceAllGroupRequest& request, const DeleteDeviceAllGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  129. DeleteDeviceAllGroupOutcomeCallable deleteDeviceAllGroupCallable(const Model::DeleteDeviceAllGroupRequest& request) const;
  130. DeleteDeviceGroupOutcome deleteDeviceGroup(const Model::DeleteDeviceGroupRequest &request)const;
  131. void deleteDeviceGroupAsync(const Model::DeleteDeviceGroupRequest& request, const DeleteDeviceGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  132. DeleteDeviceGroupOutcomeCallable deleteDeviceGroupCallable(const Model::DeleteDeviceGroupRequest& request) const;
  133. DeleteFaceOutcome deleteFace(const Model::DeleteFaceRequest &request)const;
  134. void deleteFaceAsync(const Model::DeleteFaceRequest& request, const DeleteFaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  135. DeleteFaceOutcomeCallable deleteFaceCallable(const Model::DeleteFaceRequest& request) const;
  136. DeleteGroupOutcome deleteGroup(const Model::DeleteGroupRequest &request)const;
  137. void deleteGroupAsync(const Model::DeleteGroupRequest& request, const DeleteGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  138. DeleteGroupOutcomeCallable deleteGroupCallable(const Model::DeleteGroupRequest& request) const;
  139. LinkFaceOutcome linkFace(const Model::LinkFaceRequest &request)const;
  140. void linkFaceAsync(const Model::LinkFaceRequest& request, const LinkFaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  141. LinkFaceOutcomeCallable linkFaceCallable(const Model::LinkFaceRequest& request) const;
  142. QueryAddUserInfoOutcome queryAddUserInfo(const Model::QueryAddUserInfoRequest &request)const;
  143. void queryAddUserInfoAsync(const Model::QueryAddUserInfoRequest& request, const QueryAddUserInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  144. QueryAddUserInfoOutcomeCallable queryAddUserInfoCallable(const Model::QueryAddUserInfoRequest& request) const;
  145. QueryAllGroupsOutcome queryAllGroups(const Model::QueryAllGroupsRequest &request)const;
  146. void queryAllGroupsAsync(const Model::QueryAllGroupsRequest& request, const QueryAllGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  147. QueryAllGroupsOutcomeCallable queryAllGroupsCallable(const Model::QueryAllGroupsRequest& request) const;
  148. QueryAuthenticationOutcome queryAuthentication(const Model::QueryAuthenticationRequest &request)const;
  149. void queryAuthenticationAsync(const Model::QueryAuthenticationRequest& request, const QueryAuthenticationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  150. QueryAuthenticationOutcomeCallable queryAuthenticationCallable(const Model::QueryAuthenticationRequest& request) const;
  151. QueryFaceOutcome queryFace(const Model::QueryFaceRequest &request)const;
  152. void queryFaceAsync(const Model::QueryFaceRequest& request, const QueryFaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  153. QueryFaceOutcomeCallable queryFaceCallable(const Model::QueryFaceRequest& request) const;
  154. QueryGroupUsersOutcome queryGroupUsers(const Model::QueryGroupUsersRequest &request)const;
  155. void queryGroupUsersAsync(const Model::QueryGroupUsersRequest& request, const QueryGroupUsersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  156. QueryGroupUsersOutcomeCallable queryGroupUsersCallable(const Model::QueryGroupUsersRequest& request) const;
  157. QueryLicensesOutcome queryLicenses(const Model::QueryLicensesRequest &request)const;
  158. void queryLicensesAsync(const Model::QueryLicensesRequest& request, const QueryLicensesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  159. QueryLicensesOutcomeCallable queryLicensesCallable(const Model::QueryLicensesRequest& request) const;
  160. QuerySyncPicScheduleOutcome querySyncPicSchedule(const Model::QuerySyncPicScheduleRequest &request)const;
  161. void querySyncPicScheduleAsync(const Model::QuerySyncPicScheduleRequest& request, const QuerySyncPicScheduleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  162. QuerySyncPicScheduleOutcomeCallable querySyncPicScheduleCallable(const Model::QuerySyncPicScheduleRequest& request) const;
  163. RegisterFaceOutcome registerFace(const Model::RegisterFaceRequest &request)const;
  164. void registerFaceAsync(const Model::RegisterFaceRequest& request, const RegisterFaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  165. RegisterFaceOutcomeCallable registerFaceCallable(const Model::RegisterFaceRequest& request) const;
  166. SearchFaceOutcome searchFace(const Model::SearchFaceRequest &request)const;
  167. void searchFaceAsync(const Model::SearchFaceRequest& request, const SearchFaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  168. SearchFaceOutcomeCallable searchFaceCallable(const Model::SearchFaceRequest& request) const;
  169. SyncFacePicturesOutcome syncFacePictures(const Model::SyncFacePicturesRequest &request)const;
  170. void syncFacePicturesAsync(const Model::SyncFacePicturesRequest& request, const SyncFacePicturesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  171. SyncFacePicturesOutcomeCallable syncFacePicturesCallable(const Model::SyncFacePicturesRequest& request) const;
  172. UnlinkFaceOutcome unlinkFace(const Model::UnlinkFaceRequest &request)const;
  173. void unlinkFaceAsync(const Model::UnlinkFaceRequest& request, const UnlinkFaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  174. UnlinkFaceOutcomeCallable unlinkFaceCallable(const Model::UnlinkFaceRequest& request) const;
  175. UpdateFaceOutcome updateFace(const Model::UpdateFaceRequest &request)const;
  176. void updateFaceAsync(const Model::UpdateFaceRequest& request, const UpdateFaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  177. UpdateFaceOutcomeCallable updateFaceCallable(const Model::UpdateFaceRequest& request) const;
  178. private:
  179. std::shared_ptr<EndpointProvider> endpointProvider_;
  180. };
  181. }
  182. }
  183. #endif // !ALIBABACLOUD_LINKFACE_LINKFACECLIENT_H_