45 lines
1.5 KiB
C
45 lines
1.5 KiB
C
/****************************************************************************
|
|
* 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 <gwenhywfar/list.h>
|
|
|
|
|
|
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
|
|
|
|
|