A client for the SmartREST protocol from Cumulocity.

Dependencies:   SmartRest

Fork of MbedSmartRest by Vincent Wochnik

Committer:
vwochnik
Date:
Mon May 26 08:25:44 2014 +0000
Revision:
18:f76f9ae79195
Parent:
14:dc3f8dd5c02b
fix for bootstrapping

Who changed what in which revision?

UserRevisionLine numberNew 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