summaryrefslogtreecommitdiff
path: root/logger.h
diff options
context:
space:
mode:
authorArseniy-Movshev <dodoradio@outlook.com>2023-03-12 00:33:58 +0000
committerArseniy-Movshev <dodoradio@outlook.com>2023-03-12 11:51:49 +0000
commit55339aacf03642657e1f9c7d087f9b9fd319de4a (patch)
treecabe8dcc069d7d63a4978e22b4baab0df861d41b /logger.h
parent47ed16926ac86295000a51fe1360a0ff9e21d84a (diff)
Change to having one record file per day and rewrite file access infrastructure to serve this.
I believe this is a useful improvement. The main two advantages are that a) it is very cheap to check whether a record exists for a given day - just check for file presence and b) there is a reasonable limit to the size of these files (never more than a few hundred records per day) which means that they can just be loaded into ram for processing without any complex splitting operations Currently, the necessary `~/asteroid-healthloggerd/stepCounter` and `...loggerd/heartrateMonitor` directories are not automatically created and the code just vomits errors into log if it can't write to them.
Diffstat (limited to 'logger.h')
-rw-r--r--logger.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/logger.h b/logger.h
index 53d797e..e56a51a 100644
--- a/logger.h
+++ b/logger.h
@@ -3,6 +3,7 @@
#include <QObject>
#include <QDateTime>
+#include <QDate>
#include <QDBusInterface>
#include <QTimer>
#include <QString>
@@ -16,6 +17,7 @@ class Logger : public QObject
public:
explicit Logger(QObject *parent = 0);
virtual ~Logger() {};
+
private slots:
void displayOn(QString displayState);
@@ -25,8 +27,11 @@ private:
HeartrateSensorPlugin *m_heartrateSensor;
bool stepCounterEnabled = true;
StepCounterPlugin *m_stepCounter;
+
};
-void writeReadingToFile(QString data, QString filename);
-QString getLineFromFile(int lineNumber, QString filename);
+ void fileAddRecord(QString sensorPrefix, QString logdata, QDateTime recordTime = QDateTime::currentDateTime()); //adds a record to today's log file for the given sensor
+ bool dayFileExists(QString sensorPrefix, QDateTime date = QDateTime::currentDateTime()); //check if today has a log file for the given sensor
+ QStringList fileGetPrevRecord(QString sensorPrefix, QDateTime recordTime = QDateTime::currentDateTime()); //works backwards to find the last record in today's file before the given time - returns nothing if no file is found.
+ QString fileNameForDate(QDate date, QString prefix);
#endif // LOGGER_H