Sming Framework API
Sming - Open Source framework for high efficiency WiFi SoC ESP8266 native development with C++ language.
MqttClient Class Reference
Inheritance diagram for MqttClient:
TcpClient TcpConnection

Public Member Functions

 MqttClient (String serverHost, int serverPort, MqttStringSubscriptionCallback callback=NULL)
 MqttClient (IPAddress serverIp, int serverPort, MqttStringSubscriptionCallback callback=NULL)
void setKeepAlive (int seconds)
void setPingRepeatTime (int seconds)
bool setWill (String topic, String message, int QoS, bool retained=false)
bool connect (String clientName, boolean useSsl=false, uint32_t sslOptions=0)
bool connect (String clientName, String username, String password, boolean useSsl=false, uint32_t sslOptions=0)
__forceinline bool isProcessing ()
__forceinline TcpClientState getConnectionState ()
bool publish (String topic, String message, bool retained=false)
bool publishWithQoS (String topic, String message, int QoS, bool retained=false, MqttMessageDeliveredCallback onDelivery=NULL)
bool subscribe (String topic)
bool unsubscribe (String topic)

Protected Member Functions

virtual err_t onReceive (pbuf *buf)
virtual void onReadyToSendData (TcpConnectionEvent sourceEvent)
void debugPrintResponseType (int type, int len)
virtual bool connect (String server, int port, boolean useSsl=false, uint32_t sslOptions=0)
virtual bool connect (IPAddress addr, uint16_t port, boolean useSsl=false, uint32_t sslOptions=0)
virtual void close ()
void setReceiveDelegate (TcpClientDataDelegate receiveCb=NULL)
 Set or clear the callback for received data. More...
void setCompleteDelegate (TcpClientCompleteDelegate completeCb=NULL)
 Set or clear the callback for connection close. More...
bool send (const char *data, uint16_t len, bool forceCloseAfterSent=false)
bool sendString (String data, bool forceCloseAfterSent=false)
virtual err_t onConnected (err_t err)
virtual err_t onSent (uint16_t len)
virtual void onError (err_t err)
virtual void onFinished (TcpClientState finishState)
void pushAsyncPart ()
int writeString (const char *data, uint8_t apiflags=TCP_WRITE_FLAG_COPY)
int writeString (const String data, uint8_t apiflags=TCP_WRITE_FLAG_COPY)
virtual int write (const char *data, int len, uint8_t apiflags=TCP_WRITE_FLAG_COPY)
int write (IDataSourceStream *stream)
__forceinline uint16_t getAvailableWriteSize ()
void flush ()
void setTimeOut (uint16_t waitTimeOut)
IPAddress getRemoteIp ()
uint16_t getRemotePort ()
bool internalTcpConnect (IPAddress addr, uint16_t port)
virtual err_t onPoll ()
void initialize (tcp_pcb *pcb)

Static Protected Member Functions

static int staticSendPacket (void *userInfo, const void *buf, unsigned int count)
static err_t staticOnConnected (void *arg, tcp_pcb *tcp, err_t err)
static err_t staticOnReceive (void *arg, tcp_pcb *tcp, pbuf *p, err_t err)
static err_t staticOnSent (void *arg, tcp_pcb *tcp, uint16_t len)
static err_t staticOnPoll (void *arg, tcp_pcb *tcp)
static void staticOnError (void *arg, err_t err)
static void staticDnsResponse (const char *name, ip_addr_t *ipaddr, void *arg)
static void closeTcpConnection (tcp_pcb *tpcb)

Protected Attributes

tcp_pcb * tcp = NULL
uint16_t sleep
uint16_t timeOut
bool canSend
bool autoSelfDestruct
boolean useSsl = false

Member Function Documentation

void TcpClient::setCompleteDelegate ( TcpClientCompleteDelegate  completeCb = NULL)

Set or clear the callback for connection close.

completeCbcallback delegate or NULL
void TcpClient::setReceiveDelegate ( TcpClientDataDelegate  receiveCb = NULL)

Set or clear the callback for received data.

receiveCbcallback delegate or NULL