/**************************************************************************** * This file is part of the project Gwenhywfar. * Gwenhywfar (c) by 2023 Martin Preuss, all rights reserved. * * The license for this file can be found in the file COPYING which you * should have received along with this file. ****************************************************************************/ #ifndef AQH_DATAFILE_H #define AQH_DATAFILE_H #include "aqhome/data/storage.h" #include typedef struct AQH_DATAFILE AQH_DATAFILE; GWEN_LIST_FUNCTION_LIB_DEFS(AQH_DATAFILE, AQH_DataFile, AQHOME_API) AQHOME_API AQH_DATAFILE *AQH_DataFile_new(const char *fileName, uint64_t valueId); AQHOME_API void AQH_DataFile_free(AQH_DATAFILE *df); AQHOME_API int AQH_DataFile_Create(AQH_DATAFILE *df); AQHOME_API int AQH_DataFile_Open(AQH_DATAFILE *df); AQHOME_API int AQH_DataFile_Close(AQH_DATAFILE *df); AQHOME_API const char *AQH_DataFile_GetFileName(const AQH_DATAFILE *df); AQHOME_API uint64_t AQH_DataFile_GetValueId(const AQH_DATAFILE *df); AQHOME_API uint64_t AQH_DataFile_GetNumberOfEntries(const AQH_DATAFILE *df); AQHOME_API uint32_t AQH_DataFile_GetRuntimeFlags(const AQH_DATAFILE *df); AQHOME_API int AQH_DataFile_ReadRecord(AQH_DATAFILE *df, uint64_t idx, uint64_t *pTimestamp, double *pValue); AQHOME_API int AQH_DataFile_AppendRecord(AQH_DATAFILE *df, uint64_t timestamp, double value); AQHOME_API AQH_DATAFILE *AQH_DataFile_List_GetByValueId(AQH_DATAFILE_LIST *fileList, uint64_t id); #endif