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

Public Member Functions

void addItem (int offset, String firmwareFileUrl)
void start ()
__forceinline bool isProcessing ()
__forceinline TcpClientState getConnectionState ()

Protected Member Functions

void onTimer ()
virtual void writeRawData (pbuf *buf, int startPos)
uint32_t writeFlash (char *data, uint32_t pos, int size)
void applyUpdate ()
void updateFailed ()

Protected Attributes

Vector< HttpFirmwareUpdateItemitems
Timer timer
int currentItem
uint32_t pos

Private Member Functions

bool downloadString (String url, HttpClientCompletedDelegate onCompleted)
String getResponseString ()
bool downloadFile (String url, HttpClientCompletedDelegate onCompleted=NULL)
bool downloadFile (String url, String saveFileName, HttpClientCompletedDelegate onCompleted=NULL)
void setPostBody (const String &_method)
String getPostBody ()
void setRequestHeader (const String name, const String value)
bool hasRequestHeader (const String name)
void setRequestContentType (String _content_type)
__forceinline int getResponseCode ()
__forceinline bool isSuccessful ()
String getResponseHeader (String headerName, String defaultValue="")
DateTime getLastModifiedDate ()
DateTime getServerDate ()
void reset ()
bool startDownload (URL uri, HttpClientMode mode, HttpClientCompletedDelegate onCompleted)
void onFinished (TcpClientState finishState)
virtual err_t onReceive (pbuf *buf)
void parseHeaders (pbuf *buf, int headerEnd)
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 bool connect (String server, int port, bool useSsl=false, uint32_t sslOptions=0)
virtual bool connect (IPAddress addr, uint16_t port, bool 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 onReadyToSendData (TcpConnectionEvent sourceEvent)
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 Private Member Functions

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)

Private Attributes

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