This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088

Fork of libMiMic by Ryo Iizuka

Committer:
furutani
Date:
Fri Feb 24 04:43:41 2017 +0000
Revision:
115:fa79286d8ea4
Parent:
48:00d211aac2ec
Delete missing include line.; Add parameter "timeout" to TCPSocket::connect(), precv().; Fix to send ARP request to default gateway when connecting to IP address of different segment.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nyatla 48:00d211aac2ec 1 #pragma once
nyatla 48:00d211aac2ec 2
nyatla 17:f29e1ca90e3d 3 namespace MiMic
nyatla 17:f29e1ca90e3d 4 {
nyatla 17:f29e1ca90e3d 5 /**
nyatla 17:f29e1ca90e3d 6 * This class is NULL terminated URL text reader.
nyatla 17:f29e1ca90e3d 7 * (Currentry, The class can read only absolute URL.)
nyatla 17:f29e1ca90e3d 8 */
nyatla 17:f29e1ca90e3d 9 class UrlReader
nyatla 17:f29e1ca90e3d 10 {
nyatla 17:f29e1ca90e3d 11 protected:
nyatla 17:f29e1ca90e3d 12 const char* _ref_str;
nyatla 17:f29e1ca90e3d 13 public:
nyatla 17:f29e1ca90e3d 14 /**
nyatla 47:d27b9b2dcac6 15 * The constructor
nyatla 47:d27b9b2dcac6 16 * This function creates reader interface for null terminated text.
nyatla 17:f29e1ca90e3d 17 * @param i_ref_str
nyatla 17:f29e1ca90e3d 18 * URL text for read.
nyatla 17:f29e1ca90e3d 19 * This is referenced pointer. Must hold it until an instance is closed.
nyatla 17:f29e1ca90e3d 20 * If omited this, Should call setUrl function before call other functions.
nyatla 17:f29e1ca90e3d 21 */
nyatla 17:f29e1ca90e3d 22 UrlReader(const char* i_ref_url=NULL);
nyatla 17:f29e1ca90e3d 23 /**
nyatla 47:d27b9b2dcac6 24 * This function sets new text.
nyatla 17:f29e1ca90e3d 25 * @param i_ref_str
nyatla 17:f29e1ca90e3d 26 * URL text for read.
nyatla 17:f29e1ca90e3d 27 * This is referenced pointer. Must hold it until an instance is closed.
nyatla 17:f29e1ca90e3d 28 */
nyatla 17:f29e1ca90e3d 29 void setUrl(const char* i_ref_url);
nyatla 17:f29e1ca90e3d 30 //bool hasHost(const char* key);
nyatla 17:f29e1ca90e3d 31 //bool getHost(const char* i_ref_url);
nyatla 17:f29e1ca90e3d 32 //bool hasPath(const char* i_ref_url);
nyatla 17:f29e1ca90e3d 33 //bool getPath(const char* i_ref_url);
nyatla 17:f29e1ca90e3d 34 /**
nyatla 17:f29e1ca90e3d 35 * This function confirms URL has a query key.
nyatla 17:f29e1ca90e3d 36 * @param key
nyatla 47:d27b9b2dcac6 37 * a query key name in text.
nyatla 47:d27b9b2dcac6 38 * @return
nyatla 47:d27b9b2dcac6 39 * TRUE if text has key name, otherwise FALSE.
nyatla 17:f29e1ca90e3d 40 */
nyatla 17:f29e1ca90e3d 41 bool hasQueryKey(const char* key);
nyatla 17:f29e1ca90e3d 42 /**
nyatla 47:d27b9b2dcac6 43 * This function gets a query key value.
nyatla 17:f29e1ca90e3d 44 * @param key
nyatla 47:d27b9b2dcac6 45 * a query key name.
nyatla 17:f29e1ca90e3d 46 * @param o_ref_value
nyatla 17:f29e1ca90e3d 47 * address of variable which store a pointer to key value.
nyatla 17:f29e1ca90e3d 48 * It is part of URL which is not terminated by '\0'.
nyatla 17:f29e1ca90e3d 49 * @param o_val_len
nyatla 17:f29e1ca90e3d 50 * length of value text.
nyatla 17:f29e1ca90e3d 51 * @return
nyatla 17:f29e1ca90e3d 52 * true if got value. otherwise false.
nyatla 17:f29e1ca90e3d 53 */
nyatla 17:f29e1ca90e3d 54 bool getQueryStr(const char* key,const char* &o_ref_val,int &o_val_len);
nyatla 47:d27b9b2dcac6 55 /**
nyatla 47:d27b9b2dcac6 56 * This function gets a converted query key value in unsigned integer.
nyatla 47:d27b9b2dcac6 57 * @param key
nyatla 47:d27b9b2dcac6 58 * a query key name.
nyatla 47:d27b9b2dcac6 59 * @param v
nyatla 47:d27b9b2dcac6 60 * address of variable which store a pointer to key value.
nyatla 47:d27b9b2dcac6 61 * @return
nyatla 47:d27b9b2dcac6 62 * true if got value. otherwise false.
nyatla 47:d27b9b2dcac6 63 */
nyatla 17:f29e1ca90e3d 64 bool getQueryUInt(const char* key,unsigned int &v);
nyatla 47:d27b9b2dcac6 65 /**
nyatla 47:d27b9b2dcac6 66 * This function gets a converted query key value in integer.
nyatla 47:d27b9b2dcac6 67 * @param key
nyatla 47:d27b9b2dcac6 68 * a query key name.
nyatla 47:d27b9b2dcac6 69 * @param v
nyatla 47:d27b9b2dcac6 70 * address of variable which store a pointer to key value.
nyatla 47:d27b9b2dcac6 71 * @return
nyatla 47:d27b9b2dcac6 72 * true if got value. otherwise false.
nyatla 47:d27b9b2dcac6 73 */
nyatla 17:f29e1ca90e3d 74 bool getQueryInt(const char* key,int &v);
nyatla 17:f29e1ca90e3d 75
nyatla 47:d27b9b2dcac6 76 /**
nyatla 47:d27b9b2dcac6 77 * This function gets a query key value and check it is equal.
nyatla 17:f29e1ca90e3d 78 * @param key
nyatla 17:f29e1ca90e3d 79 * key name.
nyatla 17:f29e1ca90e3d 80 * @param v
nyatla 17:f29e1ca90e3d 81 * string to check
nyatla 17:f29e1ca90e3d 82 * @return
nyatla 17:f29e1ca90e3d 83 * true if got value that is same as v. otherwise false.
nyatla 17:f29e1ca90e3d 84 */
nyatla 17:f29e1ca90e3d 85 bool isQueryEqualStr(const char* key,const char* v);
nyatla 47:d27b9b2dcac6 86 /**
nyatla 47:d27b9b2dcac6 87 * This function gets a query key value and check it is equal.
nyatla 47:d27b9b2dcac6 88 * @param key
nyatla 47:d27b9b2dcac6 89 * key name.
nyatla 47:d27b9b2dcac6 90 * @param v
nyatla 47:d27b9b2dcac6 91 * string to check
nyatla 47:d27b9b2dcac6 92 * @return
nyatla 47:d27b9b2dcac6 93 * true if got value that is same as v. otherwise false.
nyatla 47:d27b9b2dcac6 94 */
nyatla 17:f29e1ca90e3d 95 bool isQueryEqualUInt(const char* key,unsigned int v);
nyatla 47:d27b9b2dcac6 96 /**
nyatla 47:d27b9b2dcac6 97 * This function gets a query key value and check it is equal.
nyatla 47:d27b9b2dcac6 98 * @param key
nyatla 47:d27b9b2dcac6 99 * key name.
nyatla 47:d27b9b2dcac6 100 * @param v
nyatla 47:d27b9b2dcac6 101 * string to check
nyatla 47:d27b9b2dcac6 102 * @return
nyatla 47:d27b9b2dcac6 103 * true if got value that is same as v. otherwise false.
nyatla 47:d27b9b2dcac6 104 */
nyatla 17:f29e1ca90e3d 105 bool isQueryEqualInt(const char* key,int v);
nyatla 47:d27b9b2dcac6 106 /**
nyatla 47:d27b9b2dcac6 107 * This function gets path part pointer and length from text.
nyatla 47:d27b9b2dcac6 108 * @param i_path
nyatla 47:d27b9b2dcac6 109 * address of variable which store a pointer to path part.
nyatla 47:d27b9b2dcac6 110 * @param i_l
nyatla 47:d27b9b2dcac6 111 * length of path part.
nyatla 47:d27b9b2dcac6 112 * @return
nyatla 47:d27b9b2dcac6 113 * true if got. otherwise false
nyatla 47:d27b9b2dcac6 114 */
nyatla 17:f29e1ca90e3d 115 bool getPath(const char* &path,int &l);
nyatla 36:f02596009a02 116
nyatla 36:f02596009a02 117 /**
nyatla 36:f02596009a02 118 * This function checks whether a path section in URL string is equal.
nyatla 36:f02596009a02 119 *
nyatla 36:f02596009a02 120 */
nyatla 36:f02596009a02 121 bool isPathEqual(const char* path);
nyatla 17:f29e1ca90e3d 122
nyatla 17:f29e1ca90e3d 123 };
nyatla 17:f29e1ca90e3d 124 }