/* * 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_DYSMSAPI_DYSMSAPICLIENT_H_ #define ALIBABACLOUD_DYSMSAPI_DYSMSAPICLIENT_H_ #include #include #include #include #include "DysmsapiExport.h" #include "model/AddSmsSignRequest.h" #include "model/AddSmsSignResult.h" #include "model/AddSmsTemplateRequest.h" #include "model/AddSmsTemplateResult.h" #include "model/DeleteSmsSignRequest.h" #include "model/DeleteSmsSignResult.h" #include "model/DeleteSmsTemplateRequest.h" #include "model/DeleteSmsTemplateResult.h" #include "model/ModifySmsSignRequest.h" #include "model/ModifySmsSignResult.h" #include "model/ModifySmsTemplateRequest.h" #include "model/ModifySmsTemplateResult.h" #include "model/QuerySendDetailsRequest.h" #include "model/QuerySendDetailsResult.h" #include "model/QuerySmsSignRequest.h" #include "model/QuerySmsSignResult.h" #include "model/QuerySmsTemplateRequest.h" #include "model/QuerySmsTemplateResult.h" #include "model/SendBatchSmsRequest.h" #include "model/SendBatchSmsResult.h" #include "model/SendSmsRequest.h" #include "model/SendSmsResult.h" namespace AlibabaCloud { namespace Dysmsapi { class ALIBABACLOUD_DYSMSAPI_EXPORT DysmsapiClient : public RpcServiceClient { public: typedef Outcome AddSmsSignOutcome; typedef std::future AddSmsSignOutcomeCallable; typedef std::function&)> AddSmsSignAsyncHandler; typedef Outcome AddSmsTemplateOutcome; typedef std::future AddSmsTemplateOutcomeCallable; typedef std::function&)> AddSmsTemplateAsyncHandler; typedef Outcome DeleteSmsSignOutcome; typedef std::future DeleteSmsSignOutcomeCallable; typedef std::function&)> DeleteSmsSignAsyncHandler; typedef Outcome DeleteSmsTemplateOutcome; typedef std::future DeleteSmsTemplateOutcomeCallable; typedef std::function&)> DeleteSmsTemplateAsyncHandler; typedef Outcome ModifySmsSignOutcome; typedef std::future ModifySmsSignOutcomeCallable; typedef std::function&)> ModifySmsSignAsyncHandler; typedef Outcome ModifySmsTemplateOutcome; typedef std::future ModifySmsTemplateOutcomeCallable; typedef std::function&)> ModifySmsTemplateAsyncHandler; typedef Outcome QuerySendDetailsOutcome; typedef std::future QuerySendDetailsOutcomeCallable; typedef std::function&)> QuerySendDetailsAsyncHandler; typedef Outcome QuerySmsSignOutcome; typedef std::future QuerySmsSignOutcomeCallable; typedef std::function&)> QuerySmsSignAsyncHandler; typedef Outcome QuerySmsTemplateOutcome; typedef std::future QuerySmsTemplateOutcomeCallable; typedef std::function&)> QuerySmsTemplateAsyncHandler; typedef Outcome SendBatchSmsOutcome; typedef std::future SendBatchSmsOutcomeCallable; typedef std::function&)> SendBatchSmsAsyncHandler; typedef Outcome SendSmsOutcome; typedef std::future SendSmsOutcomeCallable; typedef std::function&)> SendSmsAsyncHandler; DysmsapiClient(const Credentials &credentials, const ClientConfiguration &configuration); DysmsapiClient(const std::shared_ptr &credentialsProvider, const ClientConfiguration &configuration); DysmsapiClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration); ~DysmsapiClient(); AddSmsSignOutcome addSmsSign(const Model::AddSmsSignRequest &request)const; void addSmsSignAsync(const Model::AddSmsSignRequest& request, const AddSmsSignAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; AddSmsSignOutcomeCallable addSmsSignCallable(const Model::AddSmsSignRequest& request) const; AddSmsTemplateOutcome addSmsTemplate(const Model::AddSmsTemplateRequest &request)const; void addSmsTemplateAsync(const Model::AddSmsTemplateRequest& request, const AddSmsTemplateAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; AddSmsTemplateOutcomeCallable addSmsTemplateCallable(const Model::AddSmsTemplateRequest& request) const; DeleteSmsSignOutcome deleteSmsSign(const Model::DeleteSmsSignRequest &request)const; void deleteSmsSignAsync(const Model::DeleteSmsSignRequest& request, const DeleteSmsSignAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DeleteSmsSignOutcomeCallable deleteSmsSignCallable(const Model::DeleteSmsSignRequest& request) const; DeleteSmsTemplateOutcome deleteSmsTemplate(const Model::DeleteSmsTemplateRequest &request)const; void deleteSmsTemplateAsync(const Model::DeleteSmsTemplateRequest& request, const DeleteSmsTemplateAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DeleteSmsTemplateOutcomeCallable deleteSmsTemplateCallable(const Model::DeleteSmsTemplateRequest& request) const; ModifySmsSignOutcome modifySmsSign(const Model::ModifySmsSignRequest &request)const; void modifySmsSignAsync(const Model::ModifySmsSignRequest& request, const ModifySmsSignAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ModifySmsSignOutcomeCallable modifySmsSignCallable(const Model::ModifySmsSignRequest& request) const; ModifySmsTemplateOutcome modifySmsTemplate(const Model::ModifySmsTemplateRequest &request)const; void modifySmsTemplateAsync(const Model::ModifySmsTemplateRequest& request, const ModifySmsTemplateAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; ModifySmsTemplateOutcomeCallable modifySmsTemplateCallable(const Model::ModifySmsTemplateRequest& request) const; QuerySendDetailsOutcome querySendDetails(const Model::QuerySendDetailsRequest &request)const; void querySendDetailsAsync(const Model::QuerySendDetailsRequest& request, const QuerySendDetailsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; QuerySendDetailsOutcomeCallable querySendDetailsCallable(const Model::QuerySendDetailsRequest& request) const; QuerySmsSignOutcome querySmsSign(const Model::QuerySmsSignRequest &request)const; void querySmsSignAsync(const Model::QuerySmsSignRequest& request, const QuerySmsSignAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; QuerySmsSignOutcomeCallable querySmsSignCallable(const Model::QuerySmsSignRequest& request) const; QuerySmsTemplateOutcome querySmsTemplate(const Model::QuerySmsTemplateRequest &request)const; void querySmsTemplateAsync(const Model::QuerySmsTemplateRequest& request, const QuerySmsTemplateAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; QuerySmsTemplateOutcomeCallable querySmsTemplateCallable(const Model::QuerySmsTemplateRequest& request) const; SendBatchSmsOutcome sendBatchSms(const Model::SendBatchSmsRequest &request)const; void sendBatchSmsAsync(const Model::SendBatchSmsRequest& request, const SendBatchSmsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; SendBatchSmsOutcomeCallable sendBatchSmsCallable(const Model::SendBatchSmsRequest& request) const; SendSmsOutcome sendSms(const Model::SendSmsRequest &request)const; void sendSmsAsync(const Model::SendSmsRequest& request, const SendSmsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; SendSmsOutcomeCallable sendSmsCallable(const Model::SendSmsRequest& request) const; private: std::shared_ptr endpointProvider_; }; } } #endif // !ALIBABACLOUD_DYSMSAPI_DYSMSAPICLIENT_H_