Files
lvgl_mydemo/dataModel.h
2022-08-07 00:22:38 +08:00

83 lines
2.5 KiB
C

#ifndef __DATA_MODEL__
#define __DATA_MODEL__
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
typedef unsigned long long u64;
typedef signed char s8;
typedef signed short s16;
typedef signed int s32;
typedef signed long long s64;
#ifdef __DATA_MODEL_C__
#define DEF_EXTERN
#else
#define DEF_EXTERN extern
#endif
typedef enum data_model_id_e {
DATA_MODEL_ID_0 = 0,
DATA_MODEL_ID_1,
DATA_MODEL_ID_2,
DATA_MODEL_ID_3,
DATA_MODEL_ID_4,
DATA_MODEL_ID_5,
DATA_MODEL_ID_6,
DATA_MODEL_ID_7,
DATA_MODEL_ID_8,
DATA_MODEL_ID_MAX,
} DATA_MODEL_ID_E;
typedef enum data_model_err_e {
DATA_MODEL_OK = 0,
DATA_MODEL_ERR_EXIT,
DATA_MODEL_ERR_NULL_POINT,
DATA_MODEL_ERR_OUT_RANGE,
DATA_MODEL_ERR_FULL_LIST,
} DATA_MODEL_ERR_E;
typedef void (*DataModelListener)(DATA_MODEL_ID_E id);
typedef struct c_generic_type_s {
void *data;
u32 extra1;
u32 extra2;
} C_GENERIC_TYPE_S;
/*** DataModelInit ***/
DEF_EXTERN void DataModelInit();
DEF_EXTERN int DataModelRegister(DataModelListener listener);
DEF_EXTERN int DataModelRemove(DataModelListener listener);
/*** 8 ***/
DEF_EXTERN int DataModelSetU8(DATA_MODEL_ID_E id, u8 val);
DEF_EXTERN int DataModelGetU8(DATA_MODEL_ID_E id, u8 *val);
DEF_EXTERN int DataModelSetS8(DATA_MODEL_ID_E id, s8 val);
DEF_EXTERN int DataModelGetS8(DATA_MODEL_ID_E id, s8 *val);
/*** 16 ***/
DEF_EXTERN int DataModelSetU16(DATA_MODEL_ID_E id, u16 val);
DEF_EXTERN int DataModelGetU16(DATA_MODEL_ID_E id, u16 *val);
DEF_EXTERN int DataModelSetS16(DATA_MODEL_ID_E id, s16 val);
DEF_EXTERN int DataModelGetS16(DATA_MODEL_ID_E id, s16 *val);
/*** 32 ***/
DEF_EXTERN int DataModelSetU32(DATA_MODEL_ID_E id, u32 val);
DEF_EXTERN int DataModelGetU32(DATA_MODEL_ID_E id, u32 *val);
DEF_EXTERN int DataModelSetS32(DATA_MODEL_ID_E id, s32 val);
DEF_EXTERN int DataModelGetS32(DATA_MODEL_ID_E id, s32 *val);
/*** 64 ***/
DEF_EXTERN int DataModelSetU64(DATA_MODEL_ID_E id, u64 val);
DEF_EXTERN int DataModelGetU64(DATA_MODEL_ID_E id, u64 *val);
DEF_EXTERN int DataModelSetS64(DATA_MODEL_ID_E id, s64 val);
DEF_EXTERN int DataModelGetS64(DATA_MODEL_ID_E id, s64 *val);
/*** Array ***/
DEF_EXTERN int DataModelSetArray(DATA_MODEL_ID_E id, void *arr, u32 len);
DEF_EXTERN int DataModelGetArray(DATA_MODEL_ID_E id, void **arr, u32 *len);
/*** string ***/
DEF_EXTERN int DataModelSetString(DATA_MODEL_ID_E id, void *str);
DEF_EXTERN int DataModelGetString(DATA_MODEL_ID_E id, void **str);
#endif