Files
Dawn/src/dawn/save/save.h

41 lines
963 B
C

/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#pragma once
#include "../libs.h"
#include "../util/array.h"
#define SAVE_VALUES_MAX 200
typedef union {
// char *s;
bool b;
uint8_t u8;
int8_t i8;
int16_t i16;
int32_t i32;
} savevalue_t;
typedef struct {
char *keys[SAVE_VALUES_MAX];
savevalue_t values[SAVE_VALUES_MAX];
uint8_t count;
} savemanager_t;
void saveManagerInit(savemanager_t *man);
savevalue_t * saveManagerAddOrGet(savemanager_t *man, char *key);
uint8_t saveManagerGetKey(savemanager_t *man, char *key);
void saveManagerRemove(savemanager_t *man, char *key);
savevalue_t * saveManagerSetBool(savemanager_t *man, char *key, bool val);
savevalue_t * saveManagerSetUint8(savemanager_t *man, char *key, uint8_t val);
bool saveManagerGetBool(savemanager_t *man, char *key);
uint8_t saveManagerGetUint8(savemanager_t *man, char *key);