A client for the SmartREST protocol from Cumulocity.
Fork of MbedSmartRest by
MbedClient.h@13:e76920d5e1ec, 2014-04-11 (annotated)
- Committer:
- vwochnik
- Date:
- Fri Apr 11 09:33:45 2014 +0000
- Revision:
- 13:e76920d5e1ec
- Parent:
- 5:ab909221d22d
- Child:
- 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 | 13:e76920d5e1ec | 9 | |
vwochnik | 13:e76920d5e1ec | 10 | #define MBED_STATE_INIT 0 |
vwochnik | 13:e76920d5e1ec | 11 | #define MBED_STATE_IN_REQUEST 1 |
vwochnik | 13:e76920d5e1ec | 12 | #define MBED_STATE_SENT_ID 2 |
vwochnik | 13:e76920d5e1ec | 13 | #define MBED_STATE_SENT_DATA 3 |
vwochnik | 13:e76920d5e1ec | 14 | #define MBED_STATE_REQ_COMPLETE 4 |
vwochnik | 13:e76920d5e1ec | 15 | #define MBED_STATE_RECVD_RESPONSE 5 |
vwochnik | 13:e76920d5e1ec | 16 | #define MBED_STATE_RECV_DATA 6 |
vwochnik | 3:ce2f116369bd | 17 | |
vwochnik | 3:ce2f116369bd | 18 | class MbedClient : public AbstractClient { |
vwochnik | 3:ce2f116369bd | 19 | public: |
vwochnik | 13:e76920d5e1ec | 20 | MbedClient(const char*, uint16_t, const char*, const char*); |
vwochnik | 5:ab909221d22d | 21 | ~MbedClient(); |
vwochnik | 3:ce2f116369bd | 22 | |
vwochnik | 3:ce2f116369bd | 23 | uint8_t beginRequest(); |
vwochnik | 3:ce2f116369bd | 24 | uint8_t sendIdentifier(const char*); |
vwochnik | 3:ce2f116369bd | 25 | uint8_t sendData(DataGenerator& generator); |
vwochnik | 3:ce2f116369bd | 26 | uint8_t endRequest(); |
vwochnik | 3:ce2f116369bd | 27 | uint8_t awaitResponse(); |
vwochnik | 3:ce2f116369bd | 28 | AbstractDataSource& receiveData(); |
vwochnik | 3:ce2f116369bd | 29 | void stop(); |
vwochnik | 3:ce2f116369bd | 30 | |
vwochnik | 13:e76920d5e1ec | 31 | protected: |
vwochnik | 13:e76920d5e1ec | 32 | bool send(const char *str); |
vwochnik | 13:e76920d5e1ec | 33 | bool sendBasicAuth(); |
vwochnik | 13:e76920d5e1ec | 34 | |
vwochnik | 3:ce2f116369bd | 35 | private: |
vwochnik | 13:e76920d5e1ec | 36 | const char *_host, *_username, *_password; |
vwochnik | 13:e76920d5e1ec | 37 | uint16_t _port, _state; |
vwochnik | 13:e76920d5e1ec | 38 | TCPSocketConnection _sock; |
vwochnik | 13:e76920d5e1ec | 39 | MbedDataSource _source; |
vwochnik | 13:e76920d5e1ec | 40 | MbedDataSink _sink; |
vwochnik | 3:ce2f116369bd | 41 | }; |
vwochnik | 3:ce2f116369bd | 42 | |
vwochnik | 3:ce2f116369bd | 43 | #endif |