HTTP Client data container for form(multipart/form-data)
Dependencies: mbed EthernetInterface HTTPClient mbed-rtos
Diff: HTTPPoster.h
- Revision:
- 1:77c616a1ab54
- Parent:
- 0:fcd577a3925b
--- a/HTTPPoster.h Thu May 31 10:32:39 2012 +0000 +++ b/HTTPPoster.h Tue Aug 28 14:39:29 2012 +0000 @@ -1,7 +1,11 @@ +/* HTTPPoster.h */ #ifndef HTTP_POSTER_H #define HTTP_POSTER_H + +#include "../IHTTPData.h" + #include "mbed.h" -#include "HTTPData.h" +#include <string> #include <vector> /** HTTPPoster HTTP Client data container for form(multipart/form-data) @@ -25,27 +29,24 @@ }; ///HTTPPoster HTTP Client data container for form(multipart/form-data) -class HTTPPoster : public HTTPData +class HTTPPoster : public IHTTPDataOut { public: - ///Instantiates the object. - HTTPPoster(); - ///put file - bool addFile(const char* name, const char* path); - ///put param - bool add(const char* name, const char* value); + ///Instantiates the object. + HTTPPoster(); + ///put file + bool addFile(const char* name, const char* path); + ///put param + bool add(const char* name, const char* value); - virtual ~HTTPPoster(); - virtual void clear() {}; + virtual ~HTTPPoster(); protected: - virtual string getDataType(); - virtual int getDataLen(); - virtual int read(char* buf, int len); - virtual int write(const char* buf, int len) { return 0;} - virtual void setDataType(const string& type) {} - virtual bool getIsChunked() {return false;} - virtual void setIsChunked(bool chunked) {} - virtual void setDataLen(int len) {} + //IHTTPDataOut + virtual int read(char* buf, size_t len, size_t* pReadLen); + virtual int getDataType(char* type, size_t maxTypeLen); //Internet media type for Content-Type header + virtual bool getIsChunked(); //For Transfer-Encoding header + virtual size_t getDataLen(); //For Content-Length header + private: int m_seq; int m_cur; @@ -58,4 +59,5 @@ string m_ContentType; char* m_boundary; }; -#endif + +#endif // HTTP_POSTER_H