summaryrefslogtreecommitdiffstats
path: root/lib/Plugins/KerneloopsScanner.h
diff options
context:
space:
mode:
authorZdenek Prikryl <zdeny@dhcp-lab-218.englab.brq.redhat.com>2009-05-12 15:39:08 +0200
committerZdenek Prikryl <zdeny@dhcp-lab-218.englab.brq.redhat.com>2009-05-12 15:39:08 +0200
commit099ae27f9a2b374aedbfa3b75925b8f6ba475b45 (patch)
tree4571dd79362b24ceb6a7b2b6f66548a02a2a8ba4 /lib/Plugins/KerneloopsScanner.h
parentc720d6077b907f944573cd09fd84503b592c1526 (diff)
downloadabrt-099ae27f9a2b374aedbfa3b75925b8f6ba475b45.tar.gz
abrt-099ae27f9a2b374aedbfa3b75925b8f6ba475b45.tar.xz
abrt-099ae27f9a2b374aedbfa3b75925b8f6ba475b45.zip
new scanner, it is used by abrt's cron
Diffstat (limited to 'lib/Plugins/KerneloopsScanner.h')
-rw-r--r--lib/Plugins/KerneloopsScanner.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/Plugins/KerneloopsScanner.h b/lib/Plugins/KerneloopsScanner.h
new file mode 100644
index 0000000..f823d1f
--- /dev/null
+++ b/lib/Plugins/KerneloopsScanner.h
@@ -0,0 +1,38 @@
+#ifndef KERNELOOPSSCANNER_H_
+#define KERNELOOPSSCANNER_H_
+
+#include "KerneloopsSysLog.h"
+#include "Plugin.h"
+#include "Action.h"
+
+class CKerneloopsScanner : public CAction
+{
+ private:
+ std::string m_sSysLogFile;
+ CSysLog m_pSysLog;
+ bool m_bSysLogFileScanned;
+
+ void SaveOopsToDebugDump();
+ void ScanDmesg();
+ void ScanSysLogFile(const char *filename, int issyslog);
+ void WriteSysLog(int m_nCount);
+ public:
+ CKerneloopsScanner() :
+ m_sSysLogFile("/var/log/messages"),
+ m_bSysLogFileScanned(false)
+ {}
+ virtual ~CKerneloopsScanner() {}
+ virtual void Run(const std::string& pActionDir,
+ const std::string& pArgs);
+ virtual void LoadSettings(const std::string& pPath);
+};
+
+PLUGIN_INFO(ACTION,
+ CKerneloopsScanner,
+ "KerneloopsScanner",
+ "0.0.1",
+ "Save new Kerneloops crashes into debug dump dir",
+ "anton@redhat.com",
+ "http://people.redhat.com/aarapov");
+
+#endif /* KERNELOOPSSCANNER_H_ */