/* * 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_SNSUAPI_SNSUAPICLIENT_H_ #define ALIBABACLOUD_SNSUAPI_SNSUAPICLIENT_H_ #include #include #include #include #include "SnsuapiExport.h" #include "model/BandOfferOrderRequest.h" #include "model/BandOfferOrderResult.h" #include "model/BandPrecheckRequest.h" #include "model/BandPrecheckResult.h" #include "model/BandStartSpeedUpRequest.h" #include "model/BandStartSpeedUpResult.h" #include "model/BandStatusQueryRequest.h" #include "model/BandStatusQueryResult.h" #include "model/BandStopSpeedUpRequest.h" #include "model/BandStopSpeedUpResult.h" #include "model/MobileStartSpeedUpRequest.h" #include "model/MobileStartSpeedUpResult.h" #include "model/MobileStatusQueryRequest.h" #include "model/MobileStatusQueryResult.h" #include "model/MobileStopSpeedUpRequest.h" #include "model/MobileStopSpeedUpResult.h" namespace AlibabaCloud { namespace Snsuapi { class ALIBABACLOUD_SNSUAPI_EXPORT SnsuapiClient : public RpcServiceClient { public: typedef Outcome BandOfferOrderOutcome; typedef std::future BandOfferOrderOutcomeCallable; typedef std::function&)> BandOfferOrderAsyncHandler; typedef Outcome BandPrecheckOutcome; typedef std::future BandPrecheckOutcomeCallable; typedef std::function&)> BandPrecheckAsyncHandler; typedef Outcome BandStartSpeedUpOutcome; typedef std::future BandStartSpeedUpOutcomeCallable; typedef std::function&)> BandStartSpeedUpAsyncHandler; typedef Outcome BandStatusQueryOutcome; typedef std::future BandStatusQueryOutcomeCallable; typedef std::function&)> BandStatusQueryAsyncHandler; typedef Outcome BandStopSpeedUpOutcome; typedef std::future BandStopSpeedUpOutcomeCallable; typedef std::function&)> BandStopSpeedUpAsyncHandler; typedef Outcome MobileStartSpeedUpOutcome; typedef std::future MobileStartSpeedUpOutcomeCallable; typedef std::function&)> MobileStartSpeedUpAsyncHandler; typedef Outcome MobileStatusQueryOutcome; typedef std::future MobileStatusQueryOutcomeCallable; typedef std::function&)> MobileStatusQueryAsyncHandler; typedef Outcome MobileStopSpeedUpOutcome; typedef std::future MobileStopSpeedUpOutcomeCallable; typedef std::function&)> MobileStopSpeedUpAsyncHandler; SnsuapiClient(const Credentials &credentials, const ClientConfiguration &configuration); SnsuapiClient(const std::shared_ptr &credentialsProvider, const ClientConfiguration &configuration); SnsuapiClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration); ~SnsuapiClient(); BandOfferOrderOutcome bandOfferOrder(const Model::BandOfferOrderRequest &request)const; void bandOfferOrderAsync(const Model::BandOfferOrderRequest& request, const BandOfferOrderAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; BandOfferOrderOutcomeCallable bandOfferOrderCallable(const Model::BandOfferOrderRequest& request) const; BandPrecheckOutcome bandPrecheck(const Model::BandPrecheckRequest &request)const; void bandPrecheckAsync(const Model::BandPrecheckRequest& request, const BandPrecheckAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; BandPrecheckOutcomeCallable bandPrecheckCallable(const Model::BandPrecheckRequest& request) const; BandStartSpeedUpOutcome bandStartSpeedUp(const Model::BandStartSpeedUpRequest &request)const; void bandStartSpeedUpAsync(const Model::BandStartSpeedUpRequest& request, const BandStartSpeedUpAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; BandStartSpeedUpOutcomeCallable bandStartSpeedUpCallable(const Model::BandStartSpeedUpRequest& request) const; BandStatusQueryOutcome bandStatusQuery(const Model::BandStatusQueryRequest &request)const; void bandStatusQueryAsync(const Model::BandStatusQueryRequest& request, const BandStatusQueryAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; BandStatusQueryOutcomeCallable bandStatusQueryCallable(const Model::BandStatusQueryRequest& request) const; BandStopSpeedUpOutcome bandStopSpeedUp(const Model::BandStopSpeedUpRequest &request)const; void bandStopSpeedUpAsync(const Model::BandStopSpeedUpRequest& request, const BandStopSpeedUpAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; BandStopSpeedUpOutcomeCallable bandStopSpeedUpCallable(const Model::BandStopSpeedUpRequest& request) const; MobileStartSpeedUpOutcome mobileStartSpeedUp(const Model::MobileStartSpeedUpRequest &request)const; void mobileStartSpeedUpAsync(const Model::MobileStartSpeedUpRequest& request, const MobileStartSpeedUpAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; MobileStartSpeedUpOutcomeCallable mobileStartSpeedUpCallable(const Model::MobileStartSpeedUpRequest& request) const; MobileStatusQueryOutcome mobileStatusQuery(const Model::MobileStatusQueryRequest &request)const; void mobileStatusQueryAsync(const Model::MobileStatusQueryRequest& request, const MobileStatusQueryAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; MobileStatusQueryOutcomeCallable mobileStatusQueryCallable(const Model::MobileStatusQueryRequest& request) const; MobileStopSpeedUpOutcome mobileStopSpeedUp(const Model::MobileStopSpeedUpRequest &request)const; void mobileStopSpeedUpAsync(const Model::MobileStopSpeedUpRequest& request, const MobileStopSpeedUpAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; MobileStopSpeedUpOutcomeCallable mobileStopSpeedUpCallable(const Model::MobileStopSpeedUpRequest& request) const; private: std::shared_ptr endpointProvider_; }; } } #endif // !ALIBABACLOUD_SNSUAPI_SNSUAPICLIENT_H_