DyplsapiClient.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  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_DYPLSAPI_DYPLSAPICLIENT_H_
  17. #define ALIBABACLOUD_DYPLSAPI_DYPLSAPICLIENT_H_
  18. #include <future>
  19. #include <alibabacloud/core/AsyncCallerContext.h>
  20. #include <alibabacloud/core/EndpointProvider.h>
  21. #include <alibabacloud/core/RpcServiceClient.h>
  22. #include "DyplsapiExport.h"
  23. #include "model/BindAxbRequest.h"
  24. #include "model/BindAxbResult.h"
  25. #include "model/BindAxgRequest.h"
  26. #include "model/BindAxgResult.h"
  27. #include "model/BindAxnRequest.h"
  28. #include "model/BindAxnResult.h"
  29. #include "model/BindAxnExtensionRequest.h"
  30. #include "model/BindAxnExtensionResult.h"
  31. #include "model/BuySecretNoRequest.h"
  32. #include "model/BuySecretNoResult.h"
  33. #include "model/CreateAxgGroupRequest.h"
  34. #include "model/CreateAxgGroupResult.h"
  35. #include "model/OperateAxgGroupRequest.h"
  36. #include "model/OperateAxgGroupResult.h"
  37. #include "model/QueryCallStatusRequest.h"
  38. #include "model/QueryCallStatusResult.h"
  39. #include "model/QueryRecordFileDownloadUrlRequest.h"
  40. #include "model/QueryRecordFileDownloadUrlResult.h"
  41. #include "model/QuerySecretNoRemainRequest.h"
  42. #include "model/QuerySecretNoRemainResult.h"
  43. #include "model/QuerySubsIdRequest.h"
  44. #include "model/QuerySubsIdResult.h"
  45. #include "model/QuerySubscriptionDetailRequest.h"
  46. #include "model/QuerySubscriptionDetailResult.h"
  47. #include "model/ReleaseSecretNoRequest.h"
  48. #include "model/ReleaseSecretNoResult.h"
  49. #include "model/UnbindSubscriptionRequest.h"
  50. #include "model/UnbindSubscriptionResult.h"
  51. #include "model/UpdateSubscriptionRequest.h"
  52. #include "model/UpdateSubscriptionResult.h"
  53. namespace AlibabaCloud
  54. {
  55. namespace Dyplsapi
  56. {
  57. class ALIBABACLOUD_DYPLSAPI_EXPORT DyplsapiClient : public RpcServiceClient
  58. {
  59. public:
  60. typedef Outcome<Error, Model::BindAxbResult> BindAxbOutcome;
  61. typedef std::future<BindAxbOutcome> BindAxbOutcomeCallable;
  62. typedef std::function<void(const DyplsapiClient*, const Model::BindAxbRequest&, const BindAxbOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindAxbAsyncHandler;
  63. typedef Outcome<Error, Model::BindAxgResult> BindAxgOutcome;
  64. typedef std::future<BindAxgOutcome> BindAxgOutcomeCallable;
  65. typedef std::function<void(const DyplsapiClient*, const Model::BindAxgRequest&, const BindAxgOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindAxgAsyncHandler;
  66. typedef Outcome<Error, Model::BindAxnResult> BindAxnOutcome;
  67. typedef std::future<BindAxnOutcome> BindAxnOutcomeCallable;
  68. typedef std::function<void(const DyplsapiClient*, const Model::BindAxnRequest&, const BindAxnOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindAxnAsyncHandler;
  69. typedef Outcome<Error, Model::BindAxnExtensionResult> BindAxnExtensionOutcome;
  70. typedef std::future<BindAxnExtensionOutcome> BindAxnExtensionOutcomeCallable;
  71. typedef std::function<void(const DyplsapiClient*, const Model::BindAxnExtensionRequest&, const BindAxnExtensionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindAxnExtensionAsyncHandler;
  72. typedef Outcome<Error, Model::BuySecretNoResult> BuySecretNoOutcome;
  73. typedef std::future<BuySecretNoOutcome> BuySecretNoOutcomeCallable;
  74. typedef std::function<void(const DyplsapiClient*, const Model::BuySecretNoRequest&, const BuySecretNoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BuySecretNoAsyncHandler;
  75. typedef Outcome<Error, Model::CreateAxgGroupResult> CreateAxgGroupOutcome;
  76. typedef std::future<CreateAxgGroupOutcome> CreateAxgGroupOutcomeCallable;
  77. typedef std::function<void(const DyplsapiClient*, const Model::CreateAxgGroupRequest&, const CreateAxgGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAxgGroupAsyncHandler;
  78. typedef Outcome<Error, Model::OperateAxgGroupResult> OperateAxgGroupOutcome;
  79. typedef std::future<OperateAxgGroupOutcome> OperateAxgGroupOutcomeCallable;
  80. typedef std::function<void(const DyplsapiClient*, const Model::OperateAxgGroupRequest&, const OperateAxgGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> OperateAxgGroupAsyncHandler;
  81. typedef Outcome<Error, Model::QueryCallStatusResult> QueryCallStatusOutcome;
  82. typedef std::future<QueryCallStatusOutcome> QueryCallStatusOutcomeCallable;
  83. typedef std::function<void(const DyplsapiClient*, const Model::QueryCallStatusRequest&, const QueryCallStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryCallStatusAsyncHandler;
  84. typedef Outcome<Error, Model::QueryRecordFileDownloadUrlResult> QueryRecordFileDownloadUrlOutcome;
  85. typedef std::future<QueryRecordFileDownloadUrlOutcome> QueryRecordFileDownloadUrlOutcomeCallable;
  86. typedef std::function<void(const DyplsapiClient*, const Model::QueryRecordFileDownloadUrlRequest&, const QueryRecordFileDownloadUrlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryRecordFileDownloadUrlAsyncHandler;
  87. typedef Outcome<Error, Model::QuerySecretNoRemainResult> QuerySecretNoRemainOutcome;
  88. typedef std::future<QuerySecretNoRemainOutcome> QuerySecretNoRemainOutcomeCallable;
  89. typedef std::function<void(const DyplsapiClient*, const Model::QuerySecretNoRemainRequest&, const QuerySecretNoRemainOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySecretNoRemainAsyncHandler;
  90. typedef Outcome<Error, Model::QuerySubsIdResult> QuerySubsIdOutcome;
  91. typedef std::future<QuerySubsIdOutcome> QuerySubsIdOutcomeCallable;
  92. typedef std::function<void(const DyplsapiClient*, const Model::QuerySubsIdRequest&, const QuerySubsIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySubsIdAsyncHandler;
  93. typedef Outcome<Error, Model::QuerySubscriptionDetailResult> QuerySubscriptionDetailOutcome;
  94. typedef std::future<QuerySubscriptionDetailOutcome> QuerySubscriptionDetailOutcomeCallable;
  95. typedef std::function<void(const DyplsapiClient*, const Model::QuerySubscriptionDetailRequest&, const QuerySubscriptionDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySubscriptionDetailAsyncHandler;
  96. typedef Outcome<Error, Model::ReleaseSecretNoResult> ReleaseSecretNoOutcome;
  97. typedef std::future<ReleaseSecretNoOutcome> ReleaseSecretNoOutcomeCallable;
  98. typedef std::function<void(const DyplsapiClient*, const Model::ReleaseSecretNoRequest&, const ReleaseSecretNoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleaseSecretNoAsyncHandler;
  99. typedef Outcome<Error, Model::UnbindSubscriptionResult> UnbindSubscriptionOutcome;
  100. typedef std::future<UnbindSubscriptionOutcome> UnbindSubscriptionOutcomeCallable;
  101. typedef std::function<void(const DyplsapiClient*, const Model::UnbindSubscriptionRequest&, const UnbindSubscriptionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindSubscriptionAsyncHandler;
  102. typedef Outcome<Error, Model::UpdateSubscriptionResult> UpdateSubscriptionOutcome;
  103. typedef std::future<UpdateSubscriptionOutcome> UpdateSubscriptionOutcomeCallable;
  104. typedef std::function<void(const DyplsapiClient*, const Model::UpdateSubscriptionRequest&, const UpdateSubscriptionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateSubscriptionAsyncHandler;
  105. DyplsapiClient(const Credentials &credentials, const ClientConfiguration &configuration);
  106. DyplsapiClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
  107. DyplsapiClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
  108. ~DyplsapiClient();
  109. BindAxbOutcome bindAxb(const Model::BindAxbRequest &request)const;
  110. void bindAxbAsync(const Model::BindAxbRequest& request, const BindAxbAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  111. BindAxbOutcomeCallable bindAxbCallable(const Model::BindAxbRequest& request) const;
  112. BindAxgOutcome bindAxg(const Model::BindAxgRequest &request)const;
  113. void bindAxgAsync(const Model::BindAxgRequest& request, const BindAxgAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  114. BindAxgOutcomeCallable bindAxgCallable(const Model::BindAxgRequest& request) const;
  115. BindAxnOutcome bindAxn(const Model::BindAxnRequest &request)const;
  116. void bindAxnAsync(const Model::BindAxnRequest& request, const BindAxnAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  117. BindAxnOutcomeCallable bindAxnCallable(const Model::BindAxnRequest& request) const;
  118. BindAxnExtensionOutcome bindAxnExtension(const Model::BindAxnExtensionRequest &request)const;
  119. void bindAxnExtensionAsync(const Model::BindAxnExtensionRequest& request, const BindAxnExtensionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  120. BindAxnExtensionOutcomeCallable bindAxnExtensionCallable(const Model::BindAxnExtensionRequest& request) const;
  121. BuySecretNoOutcome buySecretNo(const Model::BuySecretNoRequest &request)const;
  122. void buySecretNoAsync(const Model::BuySecretNoRequest& request, const BuySecretNoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  123. BuySecretNoOutcomeCallable buySecretNoCallable(const Model::BuySecretNoRequest& request) const;
  124. CreateAxgGroupOutcome createAxgGroup(const Model::CreateAxgGroupRequest &request)const;
  125. void createAxgGroupAsync(const Model::CreateAxgGroupRequest& request, const CreateAxgGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  126. CreateAxgGroupOutcomeCallable createAxgGroupCallable(const Model::CreateAxgGroupRequest& request) const;
  127. OperateAxgGroupOutcome operateAxgGroup(const Model::OperateAxgGroupRequest &request)const;
  128. void operateAxgGroupAsync(const Model::OperateAxgGroupRequest& request, const OperateAxgGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  129. OperateAxgGroupOutcomeCallable operateAxgGroupCallable(const Model::OperateAxgGroupRequest& request) const;
  130. QueryCallStatusOutcome queryCallStatus(const Model::QueryCallStatusRequest &request)const;
  131. void queryCallStatusAsync(const Model::QueryCallStatusRequest& request, const QueryCallStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  132. QueryCallStatusOutcomeCallable queryCallStatusCallable(const Model::QueryCallStatusRequest& request) const;
  133. QueryRecordFileDownloadUrlOutcome queryRecordFileDownloadUrl(const Model::QueryRecordFileDownloadUrlRequest &request)const;
  134. void queryRecordFileDownloadUrlAsync(const Model::QueryRecordFileDownloadUrlRequest& request, const QueryRecordFileDownloadUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  135. QueryRecordFileDownloadUrlOutcomeCallable queryRecordFileDownloadUrlCallable(const Model::QueryRecordFileDownloadUrlRequest& request) const;
  136. QuerySecretNoRemainOutcome querySecretNoRemain(const Model::QuerySecretNoRemainRequest &request)const;
  137. void querySecretNoRemainAsync(const Model::QuerySecretNoRemainRequest& request, const QuerySecretNoRemainAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  138. QuerySecretNoRemainOutcomeCallable querySecretNoRemainCallable(const Model::QuerySecretNoRemainRequest& request) const;
  139. QuerySubsIdOutcome querySubsId(const Model::QuerySubsIdRequest &request)const;
  140. void querySubsIdAsync(const Model::QuerySubsIdRequest& request, const QuerySubsIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  141. QuerySubsIdOutcomeCallable querySubsIdCallable(const Model::QuerySubsIdRequest& request) const;
  142. QuerySubscriptionDetailOutcome querySubscriptionDetail(const Model::QuerySubscriptionDetailRequest &request)const;
  143. void querySubscriptionDetailAsync(const Model::QuerySubscriptionDetailRequest& request, const QuerySubscriptionDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  144. QuerySubscriptionDetailOutcomeCallable querySubscriptionDetailCallable(const Model::QuerySubscriptionDetailRequest& request) const;
  145. ReleaseSecretNoOutcome releaseSecretNo(const Model::ReleaseSecretNoRequest &request)const;
  146. void releaseSecretNoAsync(const Model::ReleaseSecretNoRequest& request, const ReleaseSecretNoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  147. ReleaseSecretNoOutcomeCallable releaseSecretNoCallable(const Model::ReleaseSecretNoRequest& request) const;
  148. UnbindSubscriptionOutcome unbindSubscription(const Model::UnbindSubscriptionRequest &request)const;
  149. void unbindSubscriptionAsync(const Model::UnbindSubscriptionRequest& request, const UnbindSubscriptionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  150. UnbindSubscriptionOutcomeCallable unbindSubscriptionCallable(const Model::UnbindSubscriptionRequest& request) const;
  151. UpdateSubscriptionOutcome updateSubscription(const Model::UpdateSubscriptionRequest &request)const;
  152. void updateSubscriptionAsync(const Model::UpdateSubscriptionRequest& request, const UpdateSubscriptionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  153. UpdateSubscriptionOutcomeCallable updateSubscriptionCallable(const Model::UpdateSubscriptionRequest& request) const;
  154. private:
  155. std::shared_ptr<EndpointProvider> endpointProvider_;
  156. };
  157. }
  158. }
  159. #endif // !ALIBABACLOUD_DYPLSAPI_DYPLSAPICLIENT_H_