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(
334 Mqtt5ClientBuilder &WithConnectOptions(std::shared_ptr<ConnectPacket> packetConnect)
noexcept;
398 uint64_t minConnectedTimeToResetReconnectDelayMs)
noexcept;
465 std::shared_ptr<Mqtt5Client> Build() noexcept;
470 explicit operator
bool() const noexcept {
return m_lastError == 0; }
475 int LastError() const noexcept {
return m_lastError ? m_lastError : AWS_ERROR_UNKNOWN; }
548 const char *certPath,
549 const char *pkeyPath,
556 const Crt::String hostName,
557 const Crt::ByteCursor &cert,
558 const Crt::ByteCursor &pkey,
559 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
565 const Crt::String hostName,
566 const Crt::Io::TlsContextPkcs11Options &pkcs11Options,
567 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
573 const Crt::String hostName,
575 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
581 const Crt::String hostName,
582 const
char *windowsCertStorePath,
583 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
589 const Crt::String hostName,
591 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
597 const Crt::String hostName,
599 Crt::Allocator *allocator) noexcept;
605 const Crt::String hostName,
608 Crt::Allocator *allocator) noexcept;
620 Crt::Allocator *allocator = Crt::ApiAllocator()) noexcept;
622 Crt::Allocator *m_allocator;
633 Crt::Optional<Crt::Io::TlsContextOptions> m_tlsConnectionOptions;
638 Crt::Optional<Crt::Http::HttpClientConnectionProxyOptions> m_proxyOptions;
661 bool m_enableMetricsCollection;
663 Crt::String m_sdkName = "CPPv2";
664 Crt::String m_sdkVersion = AWS_CRT_CPP_VERSION;