NetBurner 3.5.8
PDF Version
Toggle main menu visibility
datalog.h
1
/*NB_REVISION*/
2
3
/*NB_COPYRIGHT*/
4
5
#ifndef __DATALOG_H
6
#define __DATALOG_H
7
8
#include <stdint.h>
9
10
struct
dataStruct
11
{
12
int
sensorID = 0;
13
uint32_t timeStamp = 0;
14
float
value = 0.0;
15
};
16
17
typedef
void (*RingLogSerializer)(dataStruct *item,
void
*args);
18
19
class
RingLog
20
{
21
private
:
22
dataStruct *pHead =
nullptr
;
23
dataStruct *pTail =
nullptr
;
24
int32_t count = 0;
25
26
const
dataStruct *pStart =
nullptr
;
27
const
dataStruct *pEnd =
nullptr
;
28
const
int32_t maxSize = 0;
29
30
void
IncrementTail();
31
void
IncrementHead();
32
void
IncrementPtr(dataStruct *&ptr);
33
34
public
:
35
RingLog(dataStruct *buffer, uint32_t bufferSize);
36
~RingLog();
37
38
void
Add(dataStruct *item);
39
void
Remove(dataStruct *item);
40
void
Clear();
41
int32_t GetCount();
42
void
Dump();
43
void
Serialize(RingLogSerializer serializer,
void
*args);
44
};
45
46
#endif
/* #ifndef __DATALOG_H */
examples
Web
AjaxGraph
src
datalog.h
Generated by
1.18.0