58 lines
1.4 KiB
C
58 lines
1.4 KiB
C
/****************************************************************************
|
|
* This file is part of the project AqHome.
|
|
* AqHome (c) by 2024 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_STORAGE_P_H
|
|
#define AQH_STORAGE_P_H
|
|
|
|
|
|
#include "aqhome/data/storage.h"
|
|
#include "aqhome/data/datafile.h"
|
|
|
|
|
|
#define AQH_STORAGE_XML_ELEMENTNAME_LASTIDS "lastIds"
|
|
|
|
#define AQH_STORAGE_XML_ELEMENTNAME_VALUES "values"
|
|
#define AQH_STORAGE_XML_ELEMENTNAME_VALUE "value"
|
|
|
|
#define AQH_STORAGE_XML_ELEMENTNAME_DEVICES "devices"
|
|
#define AQH_STORAGE_XML_ELEMENTNAME_DEVICE "device"
|
|
|
|
|
|
|
|
struct AQH_STORAGE {
|
|
GWEN_INHERIT_ELEMENT(AQH_STORAGE)
|
|
|
|
AQH_VALUE_LIST *valueList;
|
|
AQH_DEVICE_LIST *deviceList;
|
|
|
|
uint64_t lastValueId;
|
|
uint64_t lastDeviceId;
|
|
|
|
char *stateFile;
|
|
char *dataFileFolder;
|
|
|
|
AQH_DATAFILE_LIST *dataFileList;
|
|
|
|
uint32_t runtimeFlags;
|
|
|
|
AQH_STORAGE_INIT_FN initFn;
|
|
AQH_STORAGE_FINI_FN finiFn;
|
|
AQH_STORAGE_ADDDATAPOINT_FN addDatapointFn;
|
|
AQH_STORAGE_GETDATAPOINTS_FN getDatapointsFn;
|
|
AQH_STORAGE_GETFIRSTDATAPOINT_FN getFirstDatapointFn;
|
|
AQH_STORAGE_GETLASTDATAPOINT_FN getLastDatapointFn;
|
|
AQH_STORAGE_GETLASTNDATAPOINTS_FN getLastNDatapointsFn;
|
|
AQH_STORAGE_GETFIRSTNDATAPOINTS_FN getFirstNDatapointsFn;
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|