15#include <aws/mqtt/client.h>
16#include <aws/mqtt/v5/mqtt5_client.h>
33 class Mqtt5ClientCore;
39 class MqttConnectionCore;
137 std::function<void(
const std::shared_ptr<Http::HttpRequest> &,
int errorCode)>;
160 friend class Mqtt5::Mqtt5ClientCore;
176 std::shared_ptr<Mqtt5::Mqtt5Client> mqtt5client)
noexcept;
181 operator bool() const noexcept;
196 bool SetWill(const
char *topic,
QOS qos,
bool retain, const
ByteBuf &payload) noexcept;
205 bool SetLogin(const
char *username, const
char *password) noexcept;
253 const
char *clientId,
255 uint16_t keepAliveTimeSecs = 0,
256 uint32_t pingTimeoutMs = 0,
257 uint32_t protocolOperationTimeoutMs = 0) noexcept;
266 aws_mqtt_client_connection *GetUnderlyingConnection() const noexcept;
281 const
char *topicFilter,
290 const
char *topicFilter,
440 aws_mqtt_client *client,
452 aws_mqtt5_client *mqtt5Client,
458 std::shared_ptr<MqttConnectionCore> m_connectionCore;
Definition HttpRequestResponse.h:110
Definition Mqtt5Client.h:361
Definition MqttClient.h:48
Definition MqttConnection.h:158
uint16_t Unsubscribe(const char *topicFilter, OnOperationCompleteHandler &&onOpComplete) noexcept
Definition MqttConnection.cpp:274
bool SetWebsocketProxyOptions(const Http::HttpClientConnectionProxyOptions &proxyOptions) noexcept
Definition MqttConnection.cpp:153
OnWebSocketHandshakeIntercept WebsocketInterceptor
Definition MqttConnection.h:398
OnConnectionSuccessHandler OnConnectionSuccess
Definition MqttConnection.h:414
MqttConnection & operator=(MqttConnection &&)=delete
OnConnectionInterruptedHandler OnConnectionInterrupted
Definition MqttConnection.h:375
bool SetWill(const char *topic, QOS qos, bool retain, const ByteBuf &payload) noexcept
Definition MqttConnection.cpp:141
bool Disconnect() noexcept
Definition MqttConnection.cpp:191
const MqttConnectionOperationStatistics & GetOperationStatistics() noexcept
Definition MqttConnection.cpp:293
bool SetHttpProxyOptions(const Http::HttpClientConnectionProxyOptions &proxyOptions) noexcept
Definition MqttConnection.cpp:160
bool SetReconnectTimeout(uint64_t min_seconds, uint64_t max_seconds) noexcept
Definition MqttConnection.cpp:167
OnDisconnectHandler OnDisconnect
Definition MqttConnection.h:390
MqttConnection(MqttConnection &&)=delete
friend class MqttClient
Definition MqttConnection.h:159
bool Connect(const char *clientId, bool cleanSession, uint16_t keepAliveTimeSecs=0, uint32_t pingTimeoutMs=0, uint32_t protocolOperationTimeoutMs=0) noexcept
Definition MqttConnection.cpp:173
OnConnectionFailureHandler OnConnectionFailure
Definition MqttConnection.h:421
static std::shared_ptr< Crt::Mqtt::MqttConnection > NewConnectionFromMqtt5Client(std::shared_ptr< Mqtt5::Mqtt5Client > mqtt5client) noexcept
Definition MqttConnection.cpp:27
int LastError() const noexcept
Definition MqttConnection.cpp:135
OnConnectionResumedHandler OnConnectionResumed
Definition MqttConnection.h:380
OnConnectionClosedHandler OnConnectionClosed
Definition MqttConnection.h:407
uint16_t Publish(const char *topic, QOS qos, bool retain, const ByteBuf &payload, OnOperationCompleteHandler &&onOpComplete) noexcept
Definition MqttConnection.cpp:282
MqttConnection(const MqttConnection &)=delete
bool SetLogin(const char *username, const char *password) noexcept
Definition MqttConnection.cpp:147
bool SetOnMessageHandler(OnMessageReceivedHandler &&onMessage) noexcept
Definition MqttConnection.cpp:212
MqttConnection & operator=(const MqttConnection &)=delete
uint16_t Subscribe(const char *topicFilter, QOS qos, OnMessageReceivedHandler &&onMessage, OnSubAckHandler &&onSubAck) noexcept
Definition MqttConnection.cpp:234
OnConnectionCompletedHandler OnConnectionCompleted
Definition MqttConnection.h:385
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition Credentials.h:28
Definition HttpRequestResponse.h:24
Definition HttpRequestResponse.h:19
std::function< void(MqttConnection &connection, OnConnectionClosedData *callbackData)> OnConnectionClosedHandler
Definition MqttConnection.h:102
std::function< void( MqttConnection &connection, uint16_t packetId, const Vector< String > &topics, QOS qos, int errorCode)> OnMultiSubAckHandler
Definition MqttTypes.h:80
std::function< void(MqttConnection &connection, const String &topic, const ByteBuf &payload)> OnPublishReceivedHandler
Definition MqttConnection.h:129
std::function< void(MqttConnection &connection, int errorCode, ReturnCode returnCode, bool sessionPresent)> OnConnectionCompletedHandler
Definition MqttConnection.h:93
std::function< void(MqttConnection &connection, ReturnCode connectCode, bool sessionPresent)> OnConnectionResumedHandler
Definition MqttConnection.h:87
std::function< void(const std::shared_ptr< Http::HttpRequest > &, int errorCode)> OnWebSocketHandshakeInterceptComplete
Definition MqttConnection.h:136
std::function< void(MqttConnection &connection, uint16_t packetId, const String &topic, QOS qos, int errorCode)> OnSubAckHandler
Definition MqttTypes.h:68
std::function< void(std::shared_ptr< Http::HttpRequest > req, const OnWebSocketHandshakeInterceptComplete &onComplete)> OnWebSocketHandshakeIntercept
Definition MqttConnection.h:145
std::function< void(MqttConnection &connection, int error)> OnConnectionInterruptedHandler
Definition MqttConnection.h:82
std::function< void(MqttConnection &connection, OnConnectionSuccessData *callbackData)> OnConnectionSuccessHandler
Definition MqttConnection.h:110
std::function< void(MqttConnection &connection)> OnDisconnectHandler
Definition MqttConnection.h:124
aws_mqtt_connect_return_code ReturnCode
Definition Types.h:41
std::function< void( MqttConnection &connection, const String &topic, const ByteBuf &payload, bool dup, QOS qos, bool retain)> OnMessageReceivedHandler
Definition MqttTypes.h:51
std::function< void(MqttConnection &connection, uint16_t packetId, int errorCode)> OnOperationCompleteHandler
Definition MqttTypes.h:97
aws_mqtt_qos QOS
Definition Types.h:40
std::function< void(MqttConnection &connection, OnConnectionFailureData *callbackData)> OnConnectionFailureHandler
Definition MqttConnection.h:118
Definition Allocator.h:13
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition Types.h:45
std::vector< T, StlAllocator< T > > Vector
Definition Types.h:53
aws_byte_buf ByteBuf
Definition Types.h:30
Definition Allocator.h:11
Definition StringView.h:862
Definition MqttTypes.h:104
Definition MqttTypes.h:28
Definition MqttConnection.h:47
Definition MqttConnection.h:71
int error
Definition MqttConnection.h:76
Definition MqttConnection.h:54
bool sessionPresent
Definition MqttConnection.h:64
ReturnCode returnCode
Definition MqttConnection.h:58