AWS SDK for C++  1.8.95
AWS SDK for C++
KinesisVideoSignalingChannelsClient.h
Go to the documentation of this file.
1 
6 #pragma once
18 #include <future>
19 #include <functional>
20 
21 namespace Aws
22 {
23 
24 namespace Http
25 {
26  class HttpClient;
27  class HttpClientFactory;
28 } // namespace Http
29 
30 namespace Utils
31 {
32  template< typename R, typename E> class Outcome;
33 namespace Threading
34 {
35  class Executor;
36 } // namespace Threading
37 } // namespace Utils
38 
39 namespace Auth
40 {
41  class AWSCredentials;
42  class AWSCredentialsProvider;
43 } // namespace Auth
44 
45 namespace Client
46 {
47  class RetryStrategy;
48 } // namespace Client
49 
50 namespace KinesisVideoSignalingChannels
51 {
52 
53 namespace Model
54 {
57 
60 
61  typedef std::future<GetIceServerConfigOutcome> GetIceServerConfigOutcomeCallable;
62  typedef std::future<SendAlexaOfferToMasterOutcome> SendAlexaOfferToMasterOutcomeCallable;
63 } // namespace Model
64 
66 
67  typedef std::function<void(const KinesisVideoSignalingChannelsClient*, const Model::GetIceServerConfigRequest&, const Model::GetIceServerConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetIceServerConfigResponseReceivedHandler;
68  typedef std::function<void(const KinesisVideoSignalingChannelsClient*, const Model::SendAlexaOfferToMasterRequest&, const Model::SendAlexaOfferToMasterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendAlexaOfferToMasterResponseReceivedHandler;
69 
77  {
78  public:
80 
86 
92 
97  KinesisVideoSignalingChannelsClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
99 
101 
102 
122  virtual Model::GetIceServerConfigOutcome GetIceServerConfig(const Model::GetIceServerConfigRequest& request) const;
123 
145  virtual Model::GetIceServerConfigOutcomeCallable GetIceServerConfigCallable(const Model::GetIceServerConfigRequest& request) const;
146 
168  virtual void GetIceServerConfigAsync(const Model::GetIceServerConfigRequest& request, const GetIceServerConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
169 
181  virtual Model::SendAlexaOfferToMasterOutcome SendAlexaOfferToMaster(const Model::SendAlexaOfferToMasterRequest& request) const;
182 
196  virtual Model::SendAlexaOfferToMasterOutcomeCallable SendAlexaOfferToMasterCallable(const Model::SendAlexaOfferToMasterRequest& request) const;
197 
211  virtual void SendAlexaOfferToMasterAsync(const Model::SendAlexaOfferToMasterRequest& request, const SendAlexaOfferToMasterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
212 
213 
214  void OverrideEndpoint(const Aws::String& endpoint);
215  private:
216  void init(const Aws::Client::ClientConfiguration& clientConfiguration);
217  void GetIceServerConfigAsyncHelper(const Model::GetIceServerConfigRequest& request, const GetIceServerConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
218  void SendAlexaOfferToMasterAsyncHelper(const Model::SendAlexaOfferToMasterRequest& request, const SendAlexaOfferToMasterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
219 
220  Aws::String m_uri;
221  Aws::String m_configScheme;
222  std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
223  };
224 
225 } // namespace KinesisVideoSignalingChannels
226 } // namespace Aws
Aws::Utils::Outcome< GetIceServerConfigResult, KinesisVideoSignalingChannelsError > GetIceServerConfigOutcome
Aws::Utils::Outcome< SendAlexaOfferToMasterResult, KinesisVideoSignalingChannelsError > SendAlexaOfferToMasterOutcome
std::future< GetIceServerConfigOutcome > GetIceServerConfigOutcomeCallable
#define AWS_KINESISVIDEOSIGNALINGCHANNELS_API
std::future< SendAlexaOfferToMasterOutcome > SendAlexaOfferToMasterOutcomeCallable
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
std::function< void(const KinesisVideoSignalingChannelsClient *, const Model::SendAlexaOfferToMasterRequest &, const Model::SendAlexaOfferToMasterOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > SendAlexaOfferToMasterResponseReceivedHandler
std::function< void(const KinesisVideoSignalingChannelsClient *, const Model::GetIceServerConfigRequest &, const Model::GetIceServerConfigOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetIceServerConfigResponseReceivedHandler