HTTP Client data container for form(multipart/form-data)

Dependencies:   mbed EthernetInterface HTTPClient mbed-rtos

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