AWS IoT Device SDK C++ v2
1.44.1
AWS IoT Device SDK C++ v2
Toggle main menu visibility
Loading...
Searching...
No Matches
crt
aws-crt-cpp
include
aws
crt
io
Bootstrap.h
Go to the documentation of this file.
1
#pragma once
6
7
#include <
aws/crt/Exports.h
>
8
#include <
aws/crt/Types.h
>
9
#include <
aws/crt/io/EventLoopGroup.h
>
10
#include <
aws/crt/io/HostResolver.h
>
11
12
#include <aws/io/channel_bootstrap.h>
13
#include <aws/io/host_resolver.h>
14
15
#include <future>
16
17
namespace
Aws
18
{
19
namespace
Crt
20
{
21
namespace
Io
22
{
23
using
OnClientBootstrapShutdownComplete
= std::function<void()>;
24
34
class
AWS_CRT_CPP_API
ClientBootstrap
final
35
{
36
public
:
42
ClientBootstrap
(
43
EventLoopGroup
&elGroup,
44
HostResolver
&resolver,
45
Allocator
*allocator =
ApiAllocator
())
noexcept
;
46
52
ClientBootstrap
(
Allocator
*allocator =
ApiAllocator
())
noexcept
;
53
54
~ClientBootstrap
();
55
ClientBootstrap
(
const
ClientBootstrap
&) =
delete
;
56
ClientBootstrap
&
operator=
(
const
ClientBootstrap
&) =
delete
;
57
ClientBootstrap
(
ClientBootstrap
&&) =
delete
;
58
ClientBootstrap
&
operator=
(
ClientBootstrap
&&) =
delete
;
59
63
operator
bool() const noexcept;
64
68
int
LastError
() const noexcept;
69
76
void
SetShutdownCompleteCallback
(
OnClientBootstrapShutdownComplete
callback);
77
90
void
EnableBlockingShutdown
() noexcept;
91
93
aws_client_bootstrap *GetUnderlyingHandle() const noexcept;
94
95
private:
96
aws_client_bootstrap *m_bootstrap;
97
int
m_lastError;
98
std
::unique_ptr<class ClientBootstrapCallbackData> m_callbackData;
99
std
::future<
void
> m_shutdownFuture;
100
bool
m_enableBlockingShutdown;
101
};
102
}
// namespace Io
103
}
// namespace Crt
104
}
// namespace Aws
EventLoopGroup.h
HostResolver.h
Types.h
Aws::Crt::Io::ClientBootstrap::EnableBlockingShutdown
void EnableBlockingShutdown() noexcept
Definition
Bootstrap.cpp:115
Aws::Crt::Io::ClientBootstrap::LastError
int LastError() const noexcept
Definition
Bootstrap.cpp:105
Aws::Crt::Io::ClientBootstrap::ClientBootstrap
ClientBootstrap(ClientBootstrap &&)=delete
Aws::Crt::Io::ClientBootstrap::operator=
ClientBootstrap & operator=(ClientBootstrap &&)=delete
Aws::Crt::Io::ClientBootstrap::ClientBootstrap
ClientBootstrap(const ClientBootstrap &)=delete
Aws::Crt::Io::ClientBootstrap::operator=
ClientBootstrap & operator=(const ClientBootstrap &)=delete
Aws::Crt::Io::ClientBootstrap::SetShutdownCompleteCallback
void SetShutdownCompleteCallback(OnClientBootstrapShutdownComplete callback)
Definition
Bootstrap.cpp:110
Aws::Crt::Io::ClientBootstrap::ClientBootstrap
ClientBootstrap(EventLoopGroup &elGroup, HostResolver &resolver, Allocator *allocator=ApiAllocator()) noexcept
Definition
Bootstrap.cpp:53
Aws::Crt::Io::EventLoopGroup
Definition
EventLoopGroup.h:33
Aws::Crt::Io::HostResolver
Definition
HostResolver.h:35
Exports.h
AWS_CRT_CPP_API
#define AWS_CRT_CPP_API
Definition
Exports.h:36
Aws::Crt::Io
Definition
Credentials.h:23
Aws::Crt::Io::OnClientBootstrapShutdownComplete
std::function< void()> OnClientBootstrapShutdownComplete
Definition
Bootstrap.h:23
Aws::Crt
Definition
Allocator.h:13
Aws::Crt::ApiAllocator
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition
Allocator.cpp:24
Aws::Crt::Allocator
aws_allocator Allocator
Definition
Allocator.h:14
Aws
Definition
Allocator.h:11
std
Definition
StringView.h:862
Generated by
1.17.0