/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.DUREX on 2014-08-07T19:28:56T ****/
/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/

#ifndef DUREX__H
#define DUREX__H

#include "Em_Types.h"
#include "Em_Message.h"

#ifdef __cplusplus
extern "C" {
#endif

/* -------- connection callback functions implemented by the application -------- */

void DUREX_connectHandler(void);
void DUREX_disconnectHandler(void);

/* -------- resource types defined in the schema -------- */

/* typedef String */
typedef char DUREX_String[201];
#define DUREX_String_length 201

/* enum BOOLEAN */
typedef uint8_t DUREX_BOOLEAN;
#define DUREX_TRUE 0
#define DUREX_FALSE 1

/* -------- resource callback functions implemented by the application -------- */

/* resource numBytes */
typedef uint8_t DUREX_numBytes_t;
extern void DUREX_numBytes_fetch(DUREX_numBytes_t* output);
extern void DUREX_numBytes_store(DUREX_numBytes_t* input);

/* resource data */
typedef DUREX_String DUREX_data_t;
extern void DUREX_data_fetch(DUREX_data_t output);
extern void DUREX_data_store(DUREX_data_t input);

/* resource numPackets */
typedef uint8_t DUREX_numPackets_t;
extern void DUREX_numPackets_fetch(DUREX_numPackets_t* output);
extern void DUREX_numPackets_store(DUREX_numPackets_t* input);

/* resource messageAvailable */
typedef DUREX_BOOLEAN DUREX_messageAvailable_t;
extern void DUREX_messageAvailable_fetch(DUREX_messageAvailable_t* output);
extern void DUREX_messageAvailable_indicate(void);  /* called by the application */

/* -------- application functions implemented in DUREX.c -------- */

void DUREX_accept(bool enable);
void DUREX_activateParameters(uint8_t group);
void DUREX_broadcastOff(void);
void DUREX_disconnect(void);
void DUREX_pairingOn(uint8_t secs, void(*handler)(void));
void DUREX_pairingOff(void(*handler)(void));
void DUREX_reset(void);
void DUREX_setDeviceName(const char* name);
void DUREX_start(void);

#ifdef __cplusplus
}
#endif

#endif /* DUREX__H */
