A client for the SmartREST protocol from Cumulocity.
Fork of MbedSmartRest by
MbedClient.h@17:57dd24cb6620, 2014-04-16 (annotated)
- Committer:
- vwochnik
- Date:
- Wed Apr 16 08:30:54 2014 +0000
- Revision:
- 17:57dd24cb6620
- Parent:
- 14:dc3f8dd5c02b
fix
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vwochnik | 3:ce2f116369bd | 1 | #ifndef MBEDCLIENT_H |
vwochnik | 3:ce2f116369bd | 2 | #define MBEDCLIENT_H |
vwochnik | 3:ce2f116369bd | 3 | |
vwochnik | 13:e76920d5e1ec | 4 | #include <stdint.h> |
vwochnik | 3:ce2f116369bd | 5 | #include "AbstractClient.h" |
vwochnik | 13:e76920d5e1ec | 6 | #include "TCPSocketConnection.h" |
vwochnik | 13:e76920d5e1ec | 7 | #include "MbedDataSource.h" |
vwochnik | 13:e76920d5e1ec | 8 | #include "MbedDataSink.h" |
vwochnik | 14:dc3f8dd5c02b | 9 | #include "HTTPResponseFilter.h" |
vwochnik | 13:e76920d5e1ec | 10 | |
vwochnik | 13:e76920d5e1ec | 11 | #define MBED_STATE_INIT 0 |
vwochnik | 13:e76920d5e1ec | 12 | #define MBED_STATE_IN_REQUEST 1 |
vwochnik | 13:e76920d5e1ec | 13 | #define MBED_STATE_SENT_ID 2 |
vwochnik | 13:e76920d5e1ec | 14 | #define MBED_STATE_SENT_DATA 3 |
vwochnik | 13:e76920d5e1ec | 15 | #define MBED_STATE_REQ_COMPLETE 4 |
vwochnik | 13:e76920d5e1ec | 16 | #define MBED_STATE_RECVD_RESPONSE 5 |
vwochnik | 13:e76920d5e1ec | 17 | #define MBED_STATE_RECV_DATA 6 |
vwochnik | 3:ce2f116369bd | 18 | |
vwochnik | 3:ce2f116369bd | 19 | class MbedClient : public AbstractClient { |
vwochnik | 3:ce2f116369bd | 20 | public: |
vwochnik | 13:e76920d5e1ec | 21 | MbedClient(const char*, uint16_t, const char*, const char*); |
vwochnik | 5:ab909221d22d | 22 | ~MbedClient(); |
vwochnik | 3:ce2f116369bd | 23 | |
vwochnik | 3:ce2f116369bd | 24 | uint8_t beginRequest(); |
vwochnik | 3:ce2f116369bd | 25 | uint8_t sendIdentifier(const char*); |
vwochnik | 3:ce2f116369bd | 26 | uint8_t sendData(DataGenerator& generator); |
vwochnik | 3:ce2f116369bd | 27 | uint8_t endRequest(); |
vwochnik | 3:ce2f116369bd | 28 | uint8_t awaitResponse(); |
vwochnik | 3:ce2f116369bd | 29 | AbstractDataSource& receiveData(); |
vwochnik | 3:ce2f116369bd | 30 | void stop(); |
vwochnik | 3:ce2f116369bd | 31 | |
vwochnik | 13:e76920d5e1ec | 32 | protected: |
vwochnik | 13:e76920d5e1ec | 33 | bool send(const char *str); |
vwochnik | 13:e76920d5e1ec | 34 | bool sendBasicAuth(); |
vwochnik | 13:e76920d5e1ec | 35 | |
vwochnik | 3:ce2f116369bd | 36 | private: |
vwochnik | 13:e76920d5e1ec | 37 | const char *_host, *_username, *_password; |
vwochnik | 13:e76920d5e1ec | 38 | uint16_t _port, _state; |
vwochnik | 13:e76920d5e1ec | 39 | TCPSocketConnection _sock; |
vwochnik | 13:e76920d5e1ec | 40 | MbedDataSource _source; |
vwochnik | 13:e76920d5e1ec | 41 | MbedDataSink _sink; |
vwochnik | 14:dc3f8dd5c02b | 42 | HTTPResponseFilter _filter; |
vwochnik | 3:ce2f116369bd | 43 | }; |
vwochnik | 3:ce2f116369bd | 44 | |
vwochnik | 3:ce2f116369bd | 45 | #endif |