portable version of the cumulocity demo

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Cumulocity Official

MbedAgent.h

Committer:
ublox
Date:
2014-10-03
Revision:
56:2da813cc2f47
Parent:
49:ac0ba9d54ebc

File content as of revision 56:2da813cc2f47:

#ifndef MBEDAGENT_H
#define MBEDAGENT_H

#include <stddef.h>
#include "MDM.h"
#include "DeviceIO.h"
#include "MbedSmartRest.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"

#define MBED_AGENT_HOST "developer.cumulocity.com"
#define MBED_AGENT_PORT 80
#define MBED_AGENT_DEVICE_IDENTIFIER "com_cumulocity_MbedAgent_1.0.5"
#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;
    MbedSmartRest _client;
    SmartRestTemplate _tpl;
    DeviceBootstrap _bootstrap;
    DeviceIntegration _integration;
    SignalQualityMeasurement _signalQualityMeasurement;
    TemperatureMeasurement _temperatureMeasurement;
    AccelerationMeasurement _accelerationMeasurement;
    AnalogMeasurement _analogMeasurement;
    LocationUpdate _locationUpdate;
    long _deviceId;
};

#endif