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

MbedAgent.h

Committer:
vwochnik
Date:
2014-10-23
Revision:
57:4af5f1bec3a6
Parent:
55:a0f7295ed6b6
Child:
58:4cc0ae5a7058

File content as of revision 57:4af5f1bec3a6:

#ifndef MBEDAGENT_H
#define MBEDAGENT_H

#include <stddef.h>
#include "MDM.h"
#include "DeviceIO.h"
#include "RtosSmartRest.h"
#include "SmartRestTemplate.h"
#include "DeviceInfo.h"
#include "DeviceBootstrap.h"
#include "DeviceIntegration.h"
#include "SignalQualityMeasurement.h"
#include "TemperatureMeasurement.h"
#include "AccelerationMeasurement.h"
#include "AnalogMeasurement.h"
#include "LocationUpdate.h"
#include "OperationSupport.h"

#define MBED_AGENT_HOST "developer.cumulocity.com"
#define MBED_AGENT_PORT 80
#define MBED_AGENT_DEVICE_IDENTIFIER "com_cumulocity_MbedAgent_1.1.0"
#define MBED_AGENT_INTERVAL 60.0

class MbedAgent
{
public:
    MbedAgent(DeviceIO&, MDMSerial&, DeviceInfo&);
    
    bool init();
    bool run();

protected:
    void loop();
    
private:
    DeviceIO& _io;
    MDMSerial& _mdm;
    DeviceInfo& _deviceInfo;
    RtosSmartRest _client;
    SmartRestTemplate _tpl;
    DeviceBootstrap _bootstrap;
    DeviceIntegration _integration;
    SignalQualityMeasurement _signalQualityMeasurement;
    TemperatureMeasurement _temperatureMeasurement;
    AccelerationMeasurement _accelerationMeasurement;
    AnalogMeasurement _analogMeasurement;
    LocationUpdate _locationUpdate;
    OperationSupport _operationSupport;
    long _deviceId;
};

#endif