10.1 Kombiniert die Übung 6.4 Wenn sich jemand nähert, Lauflicht einschalten mit dem Yahoo Weather Dienst, dass bei Unterwarnungen das Lauflicht eingeschaltet wird.

Dependencies:   EthernetInterface mbed-rtos mbed spxml

Fork of YahooWeather by smd.iotkit2.ch

Committer:
stefan1691
Date:
Wed May 27 17:23:55 2015 +0000
Revision:
6:735d5412de0d
Parent:
1:2e29a33cd918
10.1 Kombiniert die ?bung 6.4 Wenn sich jemand n?hert, Lauflicht einschalten mit dem Yahoo Weather Dienst, dass bei Unterwarnungen das Lauflicht eingeschaltet wird.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marcel1691 1:2e29a33cd918 1 /* HTTPText.h */
marcel1691 1:2e29a33cd918 2 /* Copyright (C) 2012 mbed.org, MIT License
marcel1691 1:2e29a33cd918 3 *
marcel1691 1:2e29a33cd918 4 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
marcel1691 1:2e29a33cd918 5 * and associated documentation files (the "Software"), to deal in the Software without restriction,
marcel1691 1:2e29a33cd918 6 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
marcel1691 1:2e29a33cd918 7 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
marcel1691 1:2e29a33cd918 8 * furnished to do so, subject to the following conditions:
marcel1691 1:2e29a33cd918 9 *
marcel1691 1:2e29a33cd918 10 * The above copyright notice and this permission notice shall be included in all copies or
marcel1691 1:2e29a33cd918 11 * substantial portions of the Software.
marcel1691 1:2e29a33cd918 12 *
marcel1691 1:2e29a33cd918 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
marcel1691 1:2e29a33cd918 14 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
marcel1691 1:2e29a33cd918 15 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
marcel1691 1:2e29a33cd918 16 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
marcel1691 1:2e29a33cd918 17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
marcel1691 1:2e29a33cd918 18 */
marcel1691 1:2e29a33cd918 19
marcel1691 1:2e29a33cd918 20
marcel1691 1:2e29a33cd918 21 #ifndef HTTPTEXT_H_
marcel1691 1:2e29a33cd918 22 #define HTTPTEXT_H_
marcel1691 1:2e29a33cd918 23
marcel1691 1:2e29a33cd918 24 #include "../IHTTPData.h"
marcel1691 1:2e29a33cd918 25
marcel1691 1:2e29a33cd918 26 /** A data endpoint to store text
marcel1691 1:2e29a33cd918 27 */
marcel1691 1:2e29a33cd918 28 class HTTPText : public IHTTPDataIn, public IHTTPDataOut
marcel1691 1:2e29a33cd918 29 {
marcel1691 1:2e29a33cd918 30 public:
marcel1691 1:2e29a33cd918 31 /** Create an HTTPText instance for output
marcel1691 1:2e29a33cd918 32 * @param[in] str String to be transmitted
marcel1691 1:2e29a33cd918 33 */
marcel1691 1:2e29a33cd918 34 HTTPText(char* str);
marcel1691 1:2e29a33cd918 35
marcel1691 1:2e29a33cd918 36 /** Create an HTTPText instance for input
marcel1691 1:2e29a33cd918 37 * @param[in] str Buffer to store the incoming string
marcel1691 1:2e29a33cd918 38 * @param[in] size Size of the buffer
marcel1691 1:2e29a33cd918 39 */
marcel1691 1:2e29a33cd918 40 HTTPText(char* str, size_t size);
marcel1691 1:2e29a33cd918 41
marcel1691 1:2e29a33cd918 42 protected:
marcel1691 1:2e29a33cd918 43 //IHTTPDataIn
marcel1691 1:2e29a33cd918 44 virtual void readReset();
marcel1691 1:2e29a33cd918 45
marcel1691 1:2e29a33cd918 46 virtual int read(char* buf, size_t len, size_t* pReadLen);
marcel1691 1:2e29a33cd918 47
marcel1691 1:2e29a33cd918 48 virtual int getDataType(char* type, size_t maxTypeLen); //Internet media type for Content-Type header
marcel1691 1:2e29a33cd918 49
marcel1691 1:2e29a33cd918 50 virtual bool getIsChunked(); //For Transfer-Encoding header
marcel1691 1:2e29a33cd918 51
marcel1691 1:2e29a33cd918 52 virtual size_t getDataLen(); //For Content-Length header
marcel1691 1:2e29a33cd918 53
marcel1691 1:2e29a33cd918 54 //IHTTPDataOut
marcel1691 1:2e29a33cd918 55 virtual void writeReset();
marcel1691 1:2e29a33cd918 56
marcel1691 1:2e29a33cd918 57 virtual int write(const char* buf, size_t len);
marcel1691 1:2e29a33cd918 58
marcel1691 1:2e29a33cd918 59 virtual void setDataType(const char* type); //Internet media type from Content-Type header
marcel1691 1:2e29a33cd918 60
marcel1691 1:2e29a33cd918 61 virtual void setIsChunked(bool chunked); //From Transfer-Encoding header
marcel1691 1:2e29a33cd918 62
marcel1691 1:2e29a33cd918 63 virtual void setDataLen(size_t len); //From Content-Length header, or if the transfer is chunked, next chunk length
marcel1691 1:2e29a33cd918 64
marcel1691 1:2e29a33cd918 65 private:
marcel1691 1:2e29a33cd918 66 char* m_str;
marcel1691 1:2e29a33cd918 67 size_t m_size;
marcel1691 1:2e29a33cd918 68
marcel1691 1:2e29a33cd918 69 size_t m_pos;
marcel1691 1:2e29a33cd918 70 };
marcel1691 1:2e29a33cd918 71
marcel1691 1:2e29a33cd918 72 #endif /* HTTPTEXT_H_ */