Fork of OAuth4Tw to use mbed's official EthernetInterface and HTTPClient

Fork of OAuth4Tw by Masayoshi Takahashi

Committer:
vpcola
Date:
Thu Apr 30 10:19:31 2015 +0000
Revision:
1:b3501683b856
Fork of OAuth4Tw to use normal EthernetInterface and HTTPClient library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vpcola 1:b3501683b856 1 #ifndef __OAUTHDATA_H__
vpcola 1:b3501683b856 2 #define __OAUTHDATA_H__
vpcola 1:b3501683b856 3
vpcola 1:b3501683b856 4 /**
vpcola 1:b3501683b856 5 * Author : Cola Vergil
vpcola 1:b3501683b856 6 * Email : vpcola@gmail.com
vpcola 1:b3501683b856 7 * Date : Thu Apr 30 2015
vpcola 1:b3501683b856 8 **/
vpcola 1:b3501683b856 9
vpcola 1:b3501683b856 10 #include <IHTTPData.h>
vpcola 1:b3501683b856 11 #include <string>
vpcola 1:b3501683b856 12
vpcola 1:b3501683b856 13 class OAuthDataOut : public IHTTPDataOut
vpcola 1:b3501683b856 14 {
vpcola 1:b3501683b856 15 public:
vpcola 1:b3501683b856 16 /** Create an HTTPText instance for output
vpcola 1:b3501683b856 17 * @param str String to be transmitted
vpcola 1:b3501683b856 18 */
vpcola 1:b3501683b856 19 OAuthDataOut(const char * contentType, const char * data);
vpcola 1:b3501683b856 20
vpcola 1:b3501683b856 21
vpcola 1:b3501683b856 22 protected:
vpcola 1:b3501683b856 23 //IHTTPDataOut
vpcola 1:b3501683b856 24 virtual void readReset();
vpcola 1:b3501683b856 25
vpcola 1:b3501683b856 26 virtual int read(char* buf, size_t len, size_t* pReadLen);
vpcola 1:b3501683b856 27
vpcola 1:b3501683b856 28 virtual int getDataType(char* type, size_t maxTypeLen);
vpcola 1:b3501683b856 29
vpcola 1:b3501683b856 30 virtual bool getIsChunked();
vpcola 1:b3501683b856 31
vpcola 1:b3501683b856 32 virtual size_t getDataLen();
vpcola 1:b3501683b856 33
vpcola 1:b3501683b856 34 private:
vpcola 1:b3501683b856 35 char * m_str;
vpcola 1:b3501683b856 36 std::string m_contentType;
vpcola 1:b3501683b856 37 size_t m_size;
vpcola 1:b3501683b856 38 size_t m_pos;
vpcola 1:b3501683b856 39 bool m_isChunked;
vpcola 1:b3501683b856 40 };
vpcola 1:b3501683b856 41
vpcola 1:b3501683b856 42 class OAuthDataIn : public IHTTPDataIn
vpcola 1:b3501683b856 43 {
vpcola 1:b3501683b856 44 public:
vpcola 1:b3501683b856 45
vpcola 1:b3501683b856 46 OAuthDataIn(char* str, size_t size);
vpcola 1:b3501683b856 47 std::string getContentType();
vpcola 1:b3501683b856 48 std::string getData();
vpcola 1:b3501683b856 49
vpcola 1:b3501683b856 50 protected:
vpcola 1:b3501683b856 51 //IHTTPDataIn
vpcola 1:b3501683b856 52 virtual void writeReset();
vpcola 1:b3501683b856 53
vpcola 1:b3501683b856 54 virtual int write(const char* buf, size_t len);
vpcola 1:b3501683b856 55
vpcola 1:b3501683b856 56 virtual void setDataType(const char* type); //Internet media type for Content-Type header
vpcola 1:b3501683b856 57
vpcola 1:b3501683b856 58 virtual void setIsChunked(bool chunked); //For Transfer-Encoding header
vpcola 1:b3501683b856 59
vpcola 1:b3501683b856 60 virtual void setDataLen(size_t len); //For Content-Length header
vpcola 1:b3501683b856 61
vpcola 1:b3501683b856 62 private:
vpcola 1:b3501683b856 63 char * m_str;
vpcola 1:b3501683b856 64 std::string m_contentType;
vpcola 1:b3501683b856 65 size_t m_size;
vpcola 1:b3501683b856 66 size_t m_pos;
vpcola 1:b3501683b856 67 bool m_isChunked;
vpcola 1:b3501683b856 68 };
vpcola 1:b3501683b856 69
vpcola 1:b3501683b856 70 #endif