summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArseniy-Movshev <dodoradio@outlook.com>2023-05-28 14:08:57 +0100
committerArseniy-Movshev <dodoradio@outlook.com>2023-05-28 15:43:22 +0100
commite228f65119bef5ba2e0a26c0f9c53d5c3f131463 (patch)
treecbe6d40a2e4e5b23f1022bc3180d55712c207990
parent521c01825badf77c65a1389109e2f4967cde154d (diff)
Allow sensorlogd to set up its directory structure
This code sets up all the paths used by sensorlogd before it is started
-rw-r--r--daemon/logger.cpp6
-rw-r--r--daemon/logger.h1
-rw-r--r--daemon/sensorPlugins/heartrateSensor.cpp2
-rw-r--r--daemon/sensorPlugins/stepCounter.cpp2
4 files changed, 11 insertions, 0 deletions
diff --git a/daemon/logger.cpp b/daemon/logger.cpp
index 56d1c3c..7222c95 100644
--- a/daemon/logger.cpp
+++ b/daemon/logger.cpp
@@ -14,6 +14,7 @@
#include <QDBusConnection>
#include <QDateTime>
#include <QFile>
+#include <QDir>
#include <QTextStream>
#include <QStandardPaths>
#include <QTimer>
@@ -116,3 +117,8 @@ QStringList fileGetPrevRecord(QString sensorPrefix, QDateTime recordTime) {
QString fileNameForDate(QDate date, QString prefix) {
return QStandardPaths::writableLocation(QStandardPaths::HomeLocation) + "/asteroid-healthloggerd/" + prefix + "/" + date.toString("yyyy-MM-dd.log");
}
+
+void setupFilePath(QString sensorPrefix) {
+ QDir().mkpath(QStandardPaths::writableLocation(QStandardPaths::HomeLocation) + "/asteroid-healthloggerd/" + sensorPrefix);
+}
+
diff --git a/daemon/logger.h b/daemon/logger.h
index 6047a04..7bfe06b 100644
--- a/daemon/logger.h
+++ b/daemon/logger.h
@@ -48,5 +48,6 @@ private:
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);
+ void setupFilePath(QString sensorPrefix); //sets up the paths for sensors to write into
#endif // LOGGER_H
diff --git a/daemon/sensorPlugins/heartrateSensor.cpp b/daemon/sensorPlugins/heartrateSensor.cpp
index cf3bfb4..8b329b9 100644
--- a/daemon/sensorPlugins/heartrateSensor.cpp
+++ b/daemon/sensorPlugins/heartrateSensor.cpp
@@ -26,6 +26,8 @@ HeartrateSensorPlugin::HeartrateSensorPlugin(QObject *parent, int initInterval)
hrmSensor = new QHrmSensor(this);
connect(hrmSensor,SIGNAL(readingChanged()),this,SLOT(finishRecording()));
+ setupFilePath(sensorPathPrefix);
+
qDebug() << "heartrate sensor is enabled. interval is (ms) " << interval;
recordIntervalTimer = new QTimer(this);
connect(recordIntervalTimer,SIGNAL(timeout()),this,SLOT(triggerRecording()));
diff --git a/daemon/sensorPlugins/stepCounter.cpp b/daemon/sensorPlugins/stepCounter.cpp
index 8bfed03..fe8370c 100644
--- a/daemon/sensorPlugins/stepCounter.cpp
+++ b/daemon/sensorPlugins/stepCounter.cpp
@@ -33,6 +33,8 @@ StepCounterPlugin::StepCounterPlugin(QObject *parent, int initInterval) :
QDateTime currDateTime = QDateTime::currentDateTime();
+ setupFilePath(sensorPathPrefix);
+
if (dayFileExists(sensorPathPrefix)) {
QStringList lastLineData = fileGetPrevRecord(sensorPathPrefix);
lastRecordTime = QDateTime::fromSecsSinceEpoch(lastLineData[0].toInt());