add: save/load for uuid and name

This commit is contained in:
Tobias Reisinger 2020-01-07 02:23:16 +01:00
parent 270c87e0bc
commit db7a377250
11 changed files with 208 additions and 82 deletions
include/models

View file

@ -0,0 +1,42 @@
#ifndef CONTROLLER_CONTROLLER_H
#define CONTROLLER_CONTROLLER_H
#include <uuid/uuid.h>
#include <stdint.h>
#include <lmdb.h>
#include <config.h>
#include <models/relay.h>
typedef struct controller
{
uuid_t uuid;
char name[CONTROLLER_NAME_LENGTH + 1];
uint16_t port;
uint8_t relay_count;
relay **relays;
} controller;
typedef enum controller_db_key
{
KEY_META_UUID,
KEY_META_NAME,
KEY_META_PORT,
KEY_META_RELAY_COUNT,
KEY_META_RELAYS
} controller_db_key;
controller*
controller_create(void);
controller*
controller_read(MDB_env *mdb_env);
int
controller_save(controller *cntrlr, MDB_env *mdb_env);
void
controller_debug(controller *cntrlr);
#endif //CONTROLLER_CONTROLLER_H

17
include/models/relay.h Normal file
View file

@ -0,0 +1,17 @@
#ifndef CONTROLLER_RELAY_H
#define CONTROLLER_RELAY_H
#include <stdint.h>
#include <config.h>
typedef struct relay {
uint8_t index;
char name[128];
uint16_t *schedule;
} relay;
relay*
relay_init(uint8_t index);
#endif //CONTROLLER_RELAY_H