6 #include <aws/crt/Config.h>
16 using namespace Crt::Mqtt5;
20 class ClientBootstrap;
22 class TlsContextOptions;
23 class WebsocketConfig;
136 static std::shared_ptr<Mqtt5ClientBuilder> CreateMqtt5ClientBuilderWithMtlsFromPath(
138 const char *certPath,
139 const char *pkeyPath,
153 static std::shared_ptr<Mqtt5ClientBuilder> CreateMqtt5ClientBuilderWithMtlsFromMemory(
170 static std::shared_ptr<Mqtt5ClientBuilder> CreateMqtt5ClientBuilderWithMtlsPkcs11(
186 static std::shared_ptr<Mqtt5ClientBuilder> CreateMqtt5ClientBuilderWithMtlsPkcs12(
204 static std::shared_ptr<Mqtt5ClientBuilder> CreateMqtt5ClientBuilderWithWindowsCertStorePath(
206 const char *windowsCertStorePath,
218 static std::shared_ptr<Mqtt5ClientBuilder> CreateMqtt5ClientBuilderWithWebsocket(
232 static std::shared_ptr<Mqtt5ClientBuilder> CreateMqtt5ClientBuilderWithCustomAuthorizer(
247 static std::shared_ptr<Mqtt5ClientBuilder> CreateMqtt5ClientBuilderWithCustomAuthorizerWebsocket(
346 Mqtt5ClientBuilder &WithConnectOptions(std::shared_ptr<ConnectPacket> packetConnect) noexcept;
410 uint64_t minConnectedTimeToResetReconnectDelayMs) noexcept;
477 std::shared_ptr<Mqtt5Client> Build() noexcept;
482 explicit operator bool() const noexcept {
return m_lastError == 0; }
487 int LastError() const noexcept {
return m_lastError ? m_lastError : AWS_ERROR_UNKNOWN; }
560 const char *certPath,
561 const char *pkeyPath,
568 const Crt::
String hostName,
577 const Crt::
String hostName,
578 const Crt::Io::TlsContextPkcs11Options &pkcs11Options,
585 const Crt::
String hostName,
593 const Crt::
String hostName,
594 const
char *windowsCertStorePath,
601 const Crt::
String hostName,
609 const Crt::
String hostName,
617 const Crt::
String hostName,
645 Crt::Optional<Crt::Io::TlsContextOptions> m_tlsConnectionOptions;
650 Crt::Optional<Crt::Http::HttpClientConnectionProxyOptions> m_proxyOptions;
674 bool m_enableMetricsCollection;
675 Crt::
String m_sdkName = "IoTDeviceSDK/CPP";
676 Crt::
String m_sdkVersion = AWS_CRT_CPP_VERSION;
682 #endif // !BYO_CRYPTO
#define AWS_CRT_CPP_API
Definition: Exports.h:36
std::function< void(const OnStoppedEventData &)> OnStoppedHandler
Definition: Mqtt5Client.h:309
Definition: Mqtt5Client.h:106
std::function< void(const OnConnectionFailureEventData &)> OnConnectionFailureHandler
Definition: Mqtt5Client.h:292
Definition: Mqtt5Packets.h:671
Definition: StringView.h:861
aws_byte_buf ByteBuf
Definition: Types.h:30
std::basic_string< char, std::char_traits< char >, StlAllocator< char >> String
Definition: Types.h:45
aws_allocator Allocator
Definition: Allocator.h:14
aws_byte_cursor ByteCursor
Definition: Types.h:31
Definition: HttpConnection.h:298
aws_mqtt5_extended_validation_and_flow_control_options ClientExtendedValidationAndFlowControl
Definition: Mqtt5Types.h:200
Definition: MqttCommon.h:23
int LastError() const noexcept
Definition: Mqtt5Client.h:487
aws_mqtt5_client_operation_queue_behavior_type ClientOperationQueueBehaviorType
Definition: Mqtt5Types.h:223
std::function< void(const OnConnectionSuccessEventData &)> OnConnectionSuccessHandler
Definition: Mqtt5Client.h:287
Definition: MqttCommon.h:104
aws_mqtt5_client_session_behavior_type ClientSessionBehaviorType
Definition: Mqtt5Types.h:186
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition: Allocator.cpp:24
Definition: Mqtt5Client.h:150
Definition: Mqtt5Client.h:32
Definition: Bootstrap.h:34
Definition: Mqtt5Client.h:122
std::function< void(const OnDisconnectionEventData &)> OnDisconnectionHandler
Definition: Mqtt5Client.h:297
Definition: Mqtt5Client.h:495
Definition: TlsOptions.h:216
std::function< void(const OnAttemptingConnectEventData &)> OnAttemptingConnectHandler
Definition: Mqtt5Client.h:303
std::function< void(const PublishReceivedEventData &)> OnPublishReceivedHandler
Definition: Mqtt5Client.h:337
~Mqtt5ClientBuilder()
Definition: Mqtt5Client.h:489
Definition: SocketOptions.h:47
Definition: Allocator.h:10