Dependents:   SimpleLCDClock readCard2Twitter_http AnalogClock_StepperMotor_NTP ServoCamV1

Committer:
donatien
Date:
Mon May 24 10:24:38 2010 +0000
Revision:
0:a2dd0ba6cd2d
Child:
1:7043cc0db03c

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:a2dd0ba6cd2d 1 #ifndef URL_H
donatien 0:a2dd0ba6cd2d 2 #define URL_H
donatien 0:a2dd0ba6cd2d 3
donatien 0:a2dd0ba6cd2d 4 #include "if/net/ipaddr.h"
donatien 0:a2dd0ba6cd2d 5
donatien 0:a2dd0ba6cd2d 6 #include <string>
donatien 0:a2dd0ba6cd2d 7 using std::string;
donatien 0:a2dd0ba6cd2d 8
donatien 0:a2dd0ba6cd2d 9 #include "mbed.h"
donatien 0:a2dd0ba6cd2d 10
donatien 0:a2dd0ba6cd2d 11 #ifdef __cplusplus
donatien 0:a2dd0ba6cd2d 12 extern "C" {
donatien 0:a2dd0ba6cd2d 13 #endif
donatien 0:a2dd0ba6cd2d 14
donatien 0:a2dd0ba6cd2d 15 char *url_encode(char *str);
donatien 0:a2dd0ba6cd2d 16 char *url_decode(char *str);
donatien 0:a2dd0ba6cd2d 17
donatien 0:a2dd0ba6cd2d 18 #ifdef __cplusplus
donatien 0:a2dd0ba6cd2d 19 }
donatien 0:a2dd0ba6cd2d 20 #endif
donatien 0:a2dd0ba6cd2d 21
donatien 0:a2dd0ba6cd2d 22 class Url
donatien 0:a2dd0ba6cd2d 23 {
donatien 0:a2dd0ba6cd2d 24 public:
donatien 0:a2dd0ba6cd2d 25 static string encode(const string& url)
donatien 0:a2dd0ba6cd2d 26 {
donatien 0:a2dd0ba6cd2d 27 char* c_res = url_encode( (char*) url.c_str() );
donatien 0:a2dd0ba6cd2d 28 string res(c_res);
donatien 0:a2dd0ba6cd2d 29 free(c_res); //Alloc'ed in url_encode()
donatien 0:a2dd0ba6cd2d 30 return res;
donatien 0:a2dd0ba6cd2d 31 }
donatien 0:a2dd0ba6cd2d 32
donatien 0:a2dd0ba6cd2d 33 static string decode(const string& url)
donatien 0:a2dd0ba6cd2d 34 {
donatien 0:a2dd0ba6cd2d 35 char* c_res = url_decode( (char*) url.c_str() );
donatien 0:a2dd0ba6cd2d 36 string res(c_res);
donatien 0:a2dd0ba6cd2d 37 free(c_res); //Alloc'ed in url_decode()
donatien 0:a2dd0ba6cd2d 38 return res;
donatien 0:a2dd0ba6cd2d 39 }
donatien 0:a2dd0ba6cd2d 40
donatien 0:a2dd0ba6cd2d 41 Url();
donatien 0:a2dd0ba6cd2d 42
donatien 0:a2dd0ba6cd2d 43 string getProtocol();
donatien 0:a2dd0ba6cd2d 44 string getHost();
donatien 0:a2dd0ba6cd2d 45 bool getHostIp(IpAddr* ip); //If host is in IP form, return true & proper object by ptr
donatien 0:a2dd0ba6cd2d 46 uint16_t getPort();
donatien 0:a2dd0ba6cd2d 47 string getPath();
donatien 0:a2dd0ba6cd2d 48
donatien 0:a2dd0ba6cd2d 49 void setProtocol(string protocol);
donatien 0:a2dd0ba6cd2d 50 void setHost(string host);
donatien 0:a2dd0ba6cd2d 51 void setPort(uint16_t port);
donatien 0:a2dd0ba6cd2d 52 void setPath(string path);
donatien 0:a2dd0ba6cd2d 53
donatien 0:a2dd0ba6cd2d 54 void fromString(string str);
donatien 0:a2dd0ba6cd2d 55 string toString();
donatien 0:a2dd0ba6cd2d 56
donatien 0:a2dd0ba6cd2d 57 private:
donatien 0:a2dd0ba6cd2d 58 string m_protocol;
donatien 0:a2dd0ba6cd2d 59 string m_host;
donatien 0:a2dd0ba6cd2d 60 uint16_t m_port;
donatien 0:a2dd0ba6cd2d 61 string m_path;
donatien 0:a2dd0ba6cd2d 62
donatien 0:a2dd0ba6cd2d 63 };
donatien 0:a2dd0ba6cd2d 64
donatien 0:a2dd0ba6cd2d 65 #endif /* LWIP_UTILS_H */