summaryrefslogtreecommitdiffstats
path: root/lib/Plugins/KerneloopsScanner.h
diff options
context:
space:
mode:
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_ */