Official reference client implementation for Cumulocity SmartREST on u-blox C027.

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Vincent Wochnik

operation/OperationSupport.h

Committer:
vwochnik
Date:
2014-10-24
Revision:
60:3c822f97fc73
Parent:
59:f96be79feccd
Child:
62:86a04c5bda18

File content as of revision 60:3c822f97fc73:

#ifndef OPERATIONSUPPORT_H
#define OPERATIONSUPPORT_H

#include "rtos.h"
#include "AbstractSmartRest.h"
#include "SmartRestTemplate.h"
#include "ComposedRecord.h"
#include "CharValue.h"
#include "OperationStore.h"
#include "ParsedRecord.h"

class OperationSupport
{
public:
    OperationSupport(AbstractSmartRest&, SmartRestTemplate&, long&);
    
    bool init();
    bool run();

protected:
    bool operationFromRecord(ParsedRecord&, OperationStore::Operation&);
    bool updateOperation(OperationStore::Operation&);
    CharValue& operationStateValue(OperationStore::Operation&);

    void thread();
    static void thread_func(void const*);

private:
    bool _init;
    long& _deviceId;
    SmartRestTemplate& _tpl;
    AbstractSmartRest& _client;
    Thread _thread;
};

extern CharValue aOperationStatePending;
extern CharValue aOperationStateExecuting;
extern CharValue aOperationStateSuccessful;
extern CharValue aOperationStateFailed;

#endif