qpidctrl  0.7.1
qpidlogger.h
Go to the documentation of this file.
1 #ifndef QPIDLOGGER_H
2 #define QPIDLOGGER_H
3 
4 #include <QObject>
5 #include <QStringList>
6 #include "qcepdebug.h"
7 #include "qcepproperty.h"
8 #include "qpidcontroller-ptr.h"
9 #include <stdio.h>
10 #include "qpidobjectnamer.h"
11 
12 class QPidLogger : public QObject
13 {
14  Q_OBJECT
15 public:
16  explicit QPidLogger(QcepSettingsSaverWPtr saver, QPidControllerWPtr ctrl);
17 
18  void writeSettings(QSettings *set, QString section);
19  void readSettings(QSettings *set, QString section);
20 
21 signals:
22 
23 public slots:
24  void logChannelNames(QStringList names);
25  void logChannelValues(QcepDoubleList values);
26  void logString(QString str);
27  void printMessage(QString msg, QDateTime ts=QDateTime::currentDateTime());
28 
29 protected:
30  void openLogFileIfNeeded();
31 
32 private slots:
33  void onFilenameChanged(QString name, int n);
34 
35 private:
37  QcepSettingsSaverWPtr m_Saver;
39  FILE *m_File;
40 
41 public:
42  Q_PROPERTY(bool enabled READ get_Enabled WRITE set_Enabled)
43  QCEP_BOOLEAN_PROPERTY(Enabled)
44 
45  Q_PROPERTY(QString fileName READ get_FileName WRITE set_FileName)
46  QCEP_STRING_PROPERTY(FileName)
47 
48  Q_PROPERTY(double updateInterval READ get_UpdateInterval WRITE set_UpdateInterval)
49  QCEP_DOUBLE_PROPERTY(UpdateInterval)
50 
51  Q_PROPERTY(int pointLimit READ get_PointLimit WRITE set_PointLimit)
52  QCEP_INTEGER_PROPERTY(PointLimit)
53 
54  Q_PROPERTY(int scanNumber READ get_ScanNumber WRITE set_ScanNumber)
55  QCEP_INTEGER_PROPERTY(ScanNumber)
56 
57  Q_PROPERTY(int pointCount READ get_PointCount WRITE set_PointCount STORED false)
58  QCEP_INTEGER_PROPERTY(PointCount)
59 
60  Q_PROPERTY(QStringList channelNames READ get_ChannelNames WRITE set_ChannelNames STORED false)
61  QCEP_STRING_LIST_PROPERTY(ChannelNames)
62 };
63 
64 #endif // QPIDLOGGER_H
QPidObjectNamer m_ObjectNamer
Definition: qpidlogger.h:36
int scanNumber
Definition: qpidlogger.h:54
QPidLogger(QcepSettingsSaverWPtr saver, QPidControllerWPtr ctrl)
Definition: qpidlogger.cpp:8
QWeakPointer< QPidController > QPidControllerWPtr
bool enabled
Definition: qpidlogger.h:42
void logChannelNames(QStringList names)
Definition: qpidlogger.cpp:24
void printMessage(QString msg, QDateTime ts=QDateTime::currentDateTime())
Definition: qpidlogger.cpp:167
void logChannelValues(QcepDoubleList values)
Definition: qpidlogger.cpp:37
double updateInterval
Definition: qpidlogger.h:48
int pointCount
Definition: qpidlogger.h:57
void openLogFileIfNeeded()
Definition: qpidlogger.cpp:122
QPidControllerWPtr m_Controller
Definition: qpidlogger.h:38
void readSettings(QSettings *set, QString section)
Definition: qpidlogger.cpp:181
void writeSettings(QSettings *set, QString section)
Definition: qpidlogger.cpp:176
void logString(QString str)
Definition: qpidlogger.cpp:101
QcepSettingsSaverWPtr m_Saver
Definition: qpidlogger.h:37
FILE * m_File
Definition: qpidlogger.h:39
void onFilenameChanged(QString name, int n)
Definition: qpidlogger.cpp:158
QStringList channelNames
Definition: qpidlogger.h:60
QString fileName
Definition: qpidlogger.h:45
int pointLimit
Definition: qpidlogger.h:51