This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
mbed/UrlReader.h@115:fa79286d8ea4, 2017-02-24 (annotated)
- 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?
User | Revision | Line number | New 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 | } |