46 lines
852 B
C
46 lines
852 B
C
|
#ifndef CORE_MODELS_CONTROLLER_H
|
||
|
#define CORE_MODELS_CONTROLLER_H
|
||
|
|
||
|
#include <uuid/uuid.h>
|
||
|
#include <sqlite3.h>
|
||
|
|
||
|
#include <helpers.h>
|
||
|
#include <models/relay.h>
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
uuid_t id;
|
||
|
char name[128];
|
||
|
char ip[17];
|
||
|
int active;
|
||
|
int port;
|
||
|
int relay_count;
|
||
|
relay_t **relays;
|
||
|
} controller_t;
|
||
|
|
||
|
void
|
||
|
controller_free(controller_t* contoller);
|
||
|
|
||
|
int
|
||
|
controller_save(controller_t* contoller);
|
||
|
|
||
|
int
|
||
|
controller_remove(controller_t* contoller);
|
||
|
|
||
|
char*
|
||
|
controller_to_json(controller_t* contoller);
|
||
|
|
||
|
controller_t**
|
||
|
controller_get_by_simple(const char *key, const void *value, intptr_t bind_func, int bind_func_param);
|
||
|
|
||
|
controller_t**
|
||
|
controller_get_all();
|
||
|
|
||
|
int
|
||
|
controller_command(int command_code, char *payload, uint32_t payload_size);
|
||
|
|
||
|
void
|
||
|
controller_free_list(controller_t **controllers_list);
|
||
|
|
||
|
#endif /* CORE_MODELS_CONTROLLER_H */
|