wakaamarduino/wakaama-client/wakaama-client.h
2017-10-08 16:46:14 +02:00

54 lines
1.2 KiB
C++

#ifndef WAKAAMA_CLIENT_H_
#define WAKAAMA_CLIENT_H_
#include <Udp.h>
#include <EthernetUdp.h>
#include "connection.h"
#define OBJ_COUNT 4
extern "C" {
extern lwm2m_object_t * get_object_device(void);
extern void free_object_device(lwm2m_object_t * objectP);
extern lwm2m_object_t * get_server_object(void);
extern void free_server_object(lwm2m_object_t * object);
extern lwm2m_object_t * get_security_object(const char * uri);
extern void free_security_object(lwm2m_object_t * objectP);
extern char * get_server_uri(lwm2m_object_t * objectP, uint16_t secObjInstID);
extern lwm2m_object_t * get_test_object(void);
extern void free_test_object(lwm2m_object_t * object);
};
typedef struct
{
lwm2m_object_t * securityObjP;
connection_t * connList;
EthernetUDP * udp;
} client_data_t;
class ArduinoClient {
public:
ArduinoClient(const char *uri) : uri(uri) {};
void init();
~ArduinoClient();
void doWorkStep();
private:
const char * uri;
const uint16_t localPort = 56830;
const char * name = "arduino_lwm2m_client";
time_t step_delay = 60;
int result;
char packetBuffer[UDP_TX_PACKET_MAX_SIZE];
client_data_t data;
lwm2m_context_t * lwm2mH = nullptr;
lwm2m_object_t * objArray[OBJ_COUNT];
};
#endif