summaryrefslogtreecommitdiffstats
path: root/src/input/pvsSyslog.h
diff options
context:
space:
mode:
authorSebastien Braun2010-10-06 15:19:44 +0200
committerSebastien Braun2010-10-07 09:30:24 +0200
commitaeeb2b034f50ad2938b1c32507f20070a26c1849 (patch)
tree54dfca1f4dff7202c012adfc26070cfc3c9a222c /src/input/pvsSyslog.h
parentInstall PolKit policy file (diff)
downloadpvs-aeeb2b034f50ad2938b1c32507f20070a26c1849.tar.gz
pvs-aeeb2b034f50ad2938b1c32507f20070a26c1849.tar.xz
pvs-aeeb2b034f50ad2938b1c32507f20070a26c1849.zip
Implement log targets for pvsprivinputd
Also: - add command line options and usage message. - change --no-fork to --daemon to bring it in line with the pvs daemon.
Diffstat (limited to 'src/input/pvsSyslog.h')
-rw-r--r--src/input/pvsSyslog.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/input/pvsSyslog.h b/src/input/pvsSyslog.h
new file mode 100644
index 0000000..8c9591a
--- /dev/null
+++ b/src/input/pvsSyslog.h
@@ -0,0 +1,63 @@
+/*
+ # Copyright (c) 2009 - OpenSLX Project, Computer Center University of Freiburg
+ #
+ # This program is free software distributed under the GPL version 2.
+ # See http://openslx.org/COPYING
+ #
+ # If you have any feedback please consult http://openslx.org/feedback and
+ # send your suggestions, praise, or complaints to feedback@openslx.org
+ #
+ # General information about OpenSLX can be found at http://openslx.org/
+ # --------------------------------------------------------------------------
+ # pvsSyslog.h:
+ # - Send output to syslog or to a file - interface
+ # --------------------------------------------------------------------------
+ */
+
+#ifndef PVSSYSLOG_H_
+#define PVSSYSLOG_H_
+
+#include <QObject>
+#include <QString>
+
+class PVSLogRedirector : public QObject
+{
+ Q_OBJECT
+public slots:
+ void inputAvailableOn(int fd);
+
+protected:
+ virtual void doRedirectInput(QString const& line) = 0;
+
+private:
+ QByteArray _buf;
+};
+
+class PVSSyslogRedirector : public PVSLogRedirector
+{
+public:
+ PVSSyslogRedirector();
+ virtual ~PVSSyslogRedirector();
+
+protected:
+ void doRedirectInput(QString const& line);
+};
+
+class QFile;
+class QTextStream;
+
+class PVSLogfileRedirector : public PVSLogRedirector
+{
+public:
+ PVSLogfileRedirector(QString const& filename);
+ virtual ~PVSLogfileRedirector();
+
+protected:
+ void doRedirectInput(QString const& line);
+
+private:
+ QFile* _file;
+ QTextStream* _stream;
+};
+
+#endif /* PVSSYSLOG_H_ */