Files
aliyun-openapi-cpp-sdk/ccs/include/alibabacloud/ccs/CcsClient.h
2019-03-18 11:35:09 +08:00

87 lines
5.5 KiB
C++

/*
* 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_CCS_CCSCLIENT_H_
#define ALIBABACLOUD_CCS_CCSCLIENT_H_
#include <future>
#include <alibabacloud/core/AsyncCallerContext.h>
#include <alibabacloud/core/EndpointProvider.h>
#include <alibabacloud/core/RpcServiceClient.h>
#include "CcsExport.h"
#include "model/CreateTicketRequest.h"
#include "model/CreateTicketResult.h"
#include "model/QueryTicketRequest.h"
#include "model/QueryTicketResult.h"
#include "model/GetHotlineRecordRequest.h"
#include "model/GetHotlineRecordResult.h"
#include "model/ProceedTicketRequest.h"
#include "model/ProceedTicketResult.h"
#include "model/QueryHotlineRecordRequest.h"
#include "model/QueryHotlineRecordResult.h"
namespace AlibabaCloud
{
namespace Ccs
{
class ALIBABACLOUD_CCS_EXPORT CcsClient : public RpcServiceClient
{
public:
typedef Outcome<Error, Model::CreateTicketResult> CreateTicketOutcome;
typedef std::future<CreateTicketOutcome> CreateTicketOutcomeCallable;
typedef std::function<void(const CcsClient*, const Model::CreateTicketRequest&, const CreateTicketOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateTicketAsyncHandler;
typedef Outcome<Error, Model::QueryTicketResult> QueryTicketOutcome;
typedef std::future<QueryTicketOutcome> QueryTicketOutcomeCallable;
typedef std::function<void(const CcsClient*, const Model::QueryTicketRequest&, const QueryTicketOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryTicketAsyncHandler;
typedef Outcome<Error, Model::GetHotlineRecordResult> GetHotlineRecordOutcome;
typedef std::future<GetHotlineRecordOutcome> GetHotlineRecordOutcomeCallable;
typedef std::function<void(const CcsClient*, const Model::GetHotlineRecordRequest&, const GetHotlineRecordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetHotlineRecordAsyncHandler;
typedef Outcome<Error, Model::ProceedTicketResult> ProceedTicketOutcome;
typedef std::future<ProceedTicketOutcome> ProceedTicketOutcomeCallable;
typedef std::function<void(const CcsClient*, const Model::ProceedTicketRequest&, const ProceedTicketOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ProceedTicketAsyncHandler;
typedef Outcome<Error, Model::QueryHotlineRecordResult> QueryHotlineRecordOutcome;
typedef std::future<QueryHotlineRecordOutcome> QueryHotlineRecordOutcomeCallable;
typedef std::function<void(const CcsClient*, const Model::QueryHotlineRecordRequest&, const QueryHotlineRecordOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryHotlineRecordAsyncHandler;
CcsClient(const Credentials &credentials, const ClientConfiguration &configuration);
CcsClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
CcsClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
~CcsClient();
CreateTicketOutcome createTicket(const Model::CreateTicketRequest &request)const;
void createTicketAsync(const Model::CreateTicketRequest& request, const CreateTicketAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
CreateTicketOutcomeCallable createTicketCallable(const Model::CreateTicketRequest& request) const;
QueryTicketOutcome queryTicket(const Model::QueryTicketRequest &request)const;
void queryTicketAsync(const Model::QueryTicketRequest& request, const QueryTicketAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
QueryTicketOutcomeCallable queryTicketCallable(const Model::QueryTicketRequest& request) const;
GetHotlineRecordOutcome getHotlineRecord(const Model::GetHotlineRecordRequest &request)const;
void getHotlineRecordAsync(const Model::GetHotlineRecordRequest& request, const GetHotlineRecordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
GetHotlineRecordOutcomeCallable getHotlineRecordCallable(const Model::GetHotlineRecordRequest& request) const;
ProceedTicketOutcome proceedTicket(const Model::ProceedTicketRequest &request)const;
void proceedTicketAsync(const Model::ProceedTicketRequest& request, const ProceedTicketAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ProceedTicketOutcomeCallable proceedTicketCallable(const Model::ProceedTicketRequest& request) const;
QueryHotlineRecordOutcome queryHotlineRecord(const Model::QueryHotlineRecordRequest &request)const;
void queryHotlineRecordAsync(const Model::QueryHotlineRecordRequest& request, const QueryHotlineRecordAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
QueryHotlineRecordOutcomeCallable queryHotlineRecordCallable(const Model::QueryHotlineRecordRequest& request) const;
private:
std::shared_ptr<EndpointProvider> endpointProvider_;
};
}
}
#endif // !ALIBABACLOUD_CCS_CCSCLIENT_H_