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,
569 const Crt::ByteCursor &cert,
570 const Crt::ByteCursor &pkey,
571 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
577 const Crt::String hostName,
578 const Crt::Io::TlsContextPkcs11Options &pkcs11Options,
579 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
585 const Crt::String hostName,
587 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
593 const Crt::String hostName,
594 const
char *windowsCertStorePath,
595 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
601 const Crt::String hostName,
603 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
609 const Crt::String hostName,
611 Crt::Allocator *allocator) noexcept;
617 const Crt::String hostName,
620 Crt::Allocator *allocator) noexcept;
632 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
634 Crt::Allocator *m_allocator;
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;