15#include <aws/mqtt/client.h>
16#include <aws/mqtt/v5/mqtt5_client.h>
38 class Mqtt5ClientCore;
44 class MqttConnectionCore;
142 std::function<void(
const std::shared_ptr<Http::HttpRequest> &,
int errorCode)>;
165 friend class Mqtt5::Mqtt5ClientCore;
180 static std::shared_ptr<Crt::Mqtt::MqttConnection> NewConnectionFromMqtt5Client(
181 std::shared_ptr<Mqtt5::Mqtt5Client> mqtt5client)
noexcept;
186 operator bool() const noexcept;
191 int LastError() const noexcept;
201 bool SetWill(const
char *topic,
QOS qos,
bool retain, const
ByteBuf &payload) noexcept;
210 bool SetLogin(const
char *username, const
char *password) noexcept;
215 bool SetWebsocketProxyOptions(const Http::HttpClientConnectionProxyOptions &proxyOptions) noexcept;
226 bool SetHttpProxyOptions(const Http::HttpClientConnectionProxyOptions &proxyOptions) noexcept;
235 bool SetL4ProxyOptions(const
std::shared_ptr<
Aws::Crt::Io::L4ProxyConfig> &l4ProxyOptions) noexcept;
248 bool SetReconnectTimeout(uint64_t min_seconds, uint64_t max_seconds) noexcept;
267 const
char *clientId,
269 uint16_t keepAliveTimeSecs = 0,
270 uint32_t pingTimeoutMs = 0,
271 uint32_t protocolOperationTimeoutMs = 0) noexcept;
277 bool Disconnect() noexcept;
280 aws_mqtt_client_connection *GetUnderlyingConnection() const noexcept;
295 const
char *topicFilter,
304 const
char *topicFilter,
454 aws_mqtt_client *client,
466 aws_mqtt5_client *mqtt5Client,
472 std::shared_ptr<MqttConnectionCore> m_connectionCore;
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition MqttClient.h:48
Definition MqttConnection.h:163
MqttConnection & operator=(MqttConnection &&)=delete
MqttConnection(MqttConnection &&)=delete
MqttConnection(const MqttConnection &)=delete
MqttConnection & operator=(const MqttConnection &)=delete
std::function< void(MqttConnection &connection, uint16_t packetId, const Vector< String > &topics, QOS qos, int errorCode)> OnMultiSubAckHandler
Definition MqttTypes.h:87
std::function< void(std::shared_ptr< Http::HttpRequest > req, const OnWebSocketHandshakeInterceptComplete &onComplete)> OnWebSocketHandshakeIntercept
Definition MqttConnection.h:151
std::function< void(MqttConnection &connection, OnConnectionClosedData *callbackData)> OnConnectionClosedHandler
Definition MqttConnection.h:108
std::function< void(MqttConnection &connection, ReturnCode connectCode, bool sessionPresent)> OnConnectionResumedHandler
Definition MqttConnection.h:93
std::function< void(MqttConnection &connection, const String &topic, const ByteBuf &payload, bool dup, QOS qos, bool retain)> OnMessageReceivedHandler
Definition MqttTypes.h:59
std::function< void(MqttConnection &connection, uint16_t packetId, int errorCode)> OnOperationCompleteHandler
Definition MqttTypes.h:100
std::function< void(MqttConnection &connection, const String &topic, const ByteBuf &payload)> OnPublishReceivedHandler
Definition MqttConnection.h:135
std::function< void(MqttConnection &connection, int error)> OnConnectionInterruptedHandler
Definition MqttConnection.h:87
std::function< void(const std::shared_ptr< Http::HttpRequest > &, int errorCode)> OnWebSocketHandshakeInterceptComplete
Definition MqttConnection.h:142
aws_mqtt_qos QOS
Definition Types.h:40
std::function< void(MqttConnection &connection, OnConnectionSuccessData *callbackData)> OnConnectionSuccessHandler
Definition MqttConnection.h:116
std::function< void(MqttConnection &connection)> OnDisconnectHandler
Definition MqttConnection.h:129
aws_mqtt_connect_return_code ReturnCode
Definition Types.h:41
std::function< void(MqttConnection &connection, OnConnectionFailureData *callbackData)> OnConnectionFailureHandler
Definition MqttConnection.h:124
std::function< void(MqttConnection &connection, uint16_t packetId, const String &topic, QOS qos, int errorCode)> OnSubAckHandler
Definition MqttTypes.h:71
std::function< void(MqttConnection &connection, int errorCode, ReturnCode returnCode, bool sessionPresent)> OnConnectionCompletedHandler
Definition MqttConnection.h:99
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition Types.h:45
aws_byte_buf ByteBuf
Definition Types.h:30
std::vector< T, StlAllocator< T > > Vector
Definition Types.h:53
Definition Allocator.h:11
Definition StringView.h:862
Definition MqttTypes.h:106
Definition MqttTypes.h:29
Definition MqttConnection.h:52
Definition MqttConnection.h:76
int error
Definition MqttConnection.h:81
Definition MqttConnection.h:59
bool sessionPresent
Definition MqttConnection.h:69
ReturnCode returnCode
Definition MqttConnection.h:63