AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
Aws.h
1
5#pragma once
6
7#include <aws/core/utils/logging/LogLevel.h>
8#include <aws/core/utils/logging/LogSystemInterface.h>
9#include <aws/core/utils/logging/CRTLogSystem.h>
10#include <aws/core/utils/memory/MemorySystemInterface.h>
11#include <aws/core/utils/crypto/Factories.h>
12#include <aws/core/http/HttpClientFactory.h>
13#include <aws/core/monitoring/MonitoringManager.h>
14#include <aws/core/Core_EXPORTS.h>
15#include <aws/core/VersionConfig.h>
16#include <aws/crt/io/Bootstrap.h>
17#include <aws/crt/io/TlsOptions.h>
18
19namespace Aws
20{
21 static const char* DEFAULT_LOG_PREFIX = "aws_sdk_";
22
27 {
28 LoggingOptions() : logLevel(Aws::Utils::Logging::LogLevel::Off), defaultLogPrefix(DEFAULT_LOG_PREFIX)
29 { }
30
35
39 const char* defaultLogPrefix;
40
45 std::function<std::shared_ptr<Aws::Utils::Logging::LogSystemInterface>()> logger_create_fn;
46
51 std::function<std::shared_ptr<Aws::Utils::Logging::CRTLogSystemInterface>()> crt_logger_create_fn;
52 };
53
58 {
60 { }
61
68 };
69
73 struct IoOptions
74 {
75 std::function<std::shared_ptr<Aws::Crt::Io::ClientBootstrap>()> clientBootstrap_create_fn;
76 std::function<std::shared_ptr<Aws::Crt::Io::TlsConnectionOptions>()> tlsConnectionOptions_create_fn;
77 };
78
83 {
85 { }
86
90 std::function<std::shared_ptr<Aws::Http::HttpClientFactory>()> httpClientFactory_create_fn;
116 };
117
122 {
124 { }
125
129 std::function<std::shared_ptr<Aws::Utils::Crypto::HashFactory>()> md5Factory_create_fn;
133 std::function<std::shared_ptr<Aws::Utils::Crypto::HashFactory>()> sha1Factory_create_fn;
137 std::function<std::shared_ptr<Aws::Utils::Crypto::HashFactory>()> sha256Factory_create_fn;
141 std::function<std::shared_ptr<Aws::Utils::Crypto::HMACFactory>()> sha256HMACFactory_create_fn;
145 std::function<std::shared_ptr<Aws::Utils::Crypto::SymmetricCipherFactory>()> aes_CBCFactory_create_fn;
149 std::function<std::shared_ptr<Aws::Utils::Crypto::SymmetricCipherFactory>()> aes_CTRFactory_create_fn;
153 std::function<std::shared_ptr<Aws::Utils::Crypto::SymmetricCipherFactory>()> aes_GCMFactory_create_fn;
157 std::function<std::shared_ptr<Aws::Utils::Crypto::SymmetricCipherFactory>()> aes_KeyWrapFactory_create_fn;
161 std::function<std::shared_ptr<Aws::Utils::Crypto::SecureRandomFactory>()> secureRandomFactory_create_fn;
168 };
169
174 {
181 std::vector<Aws::Monitoring::MonitoringFactoryCreateFunction> customizedMonitoringFactory_create_fn;
182 };
183
184
226 {
247
254
256 {
257 unsigned char major = AWS_SDK_VERSION_MAJOR;
258 unsigned char minor = AWS_SDK_VERSION_MINOR;
259 unsigned short patch = AWS_SDK_VERSION_PATCH;
261 };
262
263 /*
264 * Initialize SDK wide state for the SDK. This method must be called before doing anything else with this library.
265 *
266 * Common Recipes:
267 *
268 * Just use defaults:
269 *
270 * SDKOptions options;
271 * Aws::InitAPI(options);
272 * .....
273 * Aws::ShutdownAPI(options);
274 *
275 * Turn logging on using the default logger:
276 *
277 * SDKOptions options;
278 * options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Info;
279 * Aws::InitAPI(options);
280 * .....
281 * Aws::ShutdownAPI(options);
282 *
283 * Install custom memory manager:
284 *
285 * MyMemoryManager memoryManager;
286 *
287 * SDKOptions options;
288 * options.memoryManagementOptions.memoryManager = &memoryManager;
289 * Aws::InitAPI(options);
290 * .....
291 * Aws::ShutdownAPI(options);
292 *
293 * Override default http client factory
294 *
295 * SDKOptions options;
296 * options.httpOptions.httpClientFactory_create_fn = [](){ return Aws::MakeShared<MyCustomHttpClientFactory>("ALLOC_TAG", arg1); };
297 * Aws::InitAPI(options);
298 * .....
299 * Aws::ShutdownAPI(options);
300 */
301 AWS_CORE_API void InitAPI(const SDKOptions& options);
302
310 AWS_CORE_API void ShutdownAPI(const SDKOptions& options);
311}
AWS_CORE_API void ShutdownAPI(const SDKOptions &options)
AWS_CORE_API void InitAPI(const SDKOptions &options)
static const char * DEFAULT_LOG_PREFIX
Definition Aws.h:21
std::function< std::shared_ptr< Aws::Utils::Crypto::SymmetricCipherFactory >()> aes_KeyWrapFactory_create_fn
Definition Aws.h:157
std::function< std::shared_ptr< Aws::Utils::Crypto::HashFactory >()> md5Factory_create_fn
Definition Aws.h:129
std::function< std::shared_ptr< Aws::Utils::Crypto::HashFactory >()> sha1Factory_create_fn
Definition Aws.h:133
std::function< std::shared_ptr< Aws::Utils::Crypto::SymmetricCipherFactory >()> aes_CTRFactory_create_fn
Definition Aws.h:149
std::function< std::shared_ptr< Aws::Utils::Crypto::SecureRandomFactory >()> secureRandomFactory_create_fn
Definition Aws.h:161
bool initAndCleanupOpenSSL
Definition Aws.h:167
std::function< std::shared_ptr< Aws::Utils::Crypto::HashFactory >()> sha256Factory_create_fn
Definition Aws.h:137
std::function< std::shared_ptr< Aws::Utils::Crypto::SymmetricCipherFactory >()> aes_GCMFactory_create_fn
Definition Aws.h:153
std::function< std::shared_ptr< Aws::Utils::Crypto::SymmetricCipherFactory >()> aes_CBCFactory_create_fn
Definition Aws.h:145
std::function< std::shared_ptr< Aws::Utils::Crypto::HMACFactory >()> sha256HMACFactory_create_fn
Definition Aws.h:141
bool compliantRfc3986Encoding
Definition Aws.h:107
bool initAndCleanupCurl
Definition Aws.h:95
std::function< std::shared_ptr< Aws::Http::HttpClientFactory >()> httpClientFactory_create_fn
Definition Aws.h:90
bool installSigPipeHandler
Definition Aws.h:103
bool preservePathSeparators
Definition Aws.h:115
std::function< std::shared_ptr< Aws::Crt::Io::TlsConnectionOptions >()> tlsConnectionOptions_create_fn
Definition Aws.h:76
std::function< std::shared_ptr< Aws::Crt::Io::ClientBootstrap >()> clientBootstrap_create_fn
Definition Aws.h:75
Aws::Utils::Logging::LogLevel logLevel
Definition Aws.h:34
const char * defaultLogPrefix
Definition Aws.h:39
std::function< std::shared_ptr< Aws::Utils::Logging::LogSystemInterface >()> logger_create_fn
Definition Aws.h:45
std::function< std::shared_ptr< Aws::Utils::Logging::CRTLogSystemInterface >()> crt_logger_create_fn
Definition Aws.h:51
Aws::Utils::Memory::MemorySystemInterface * memoryManager
Definition Aws.h:67
std::vector< Aws::Monitoring::MonitoringFactoryCreateFunction > customizedMonitoringFactory_create_fn
Definition Aws.h:181
unsigned short patch
Definition Aws.h:259
unsigned char major
Definition Aws.h:257
unsigned char minor
Definition Aws.h:258
CryptoOptions cryptoOptions
Definition Aws.h:246
IoOptions ioOptions
Definition Aws.h:230
LoggingOptions loggingOptions
Definition Aws.h:234
struct Aws::SDKOptions::SDKVersion sdkVersion
MonitoringOptions monitoringOptions
Definition Aws.h:253
MemoryManagementOptions memoryManagementOptions
Definition Aws.h:238
HttpOptions httpOptions
Definition Aws.h:242