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;
673 bool m_enableMetricsCollection;
675 Crt::
String m_sdkName = "CPPv2";
676 Crt::
String m_sdkVersion = AWS_CRT_CPP_VERSION;
682 #endif // !BYO_CRYPTO