Added datafile and handling of MQTT publish message.

This commit is contained in:
Martin Preuss
2023-08-12 02:06:54 +02:00
parent edcac1f2b9
commit f5878f43ff
9 changed files with 783 additions and 13 deletions

44
aqhome/data/datafile.h Normal file
View File

@@ -0,0 +1,44 @@
/****************************************************************************
* 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