summaryrefslogtreecommitdiffstats
path: root/src/input/magicSysRqHandler.h
diff options
context:
space:
mode:
authorFabian Schillinger2010-11-01 17:35:27 +0100
committerFabian Schillinger2010-11-01 17:35:27 +0100
commitea3fb17345e5f82db9f2e98a8062e95797700ace (patch)
tree1da0d1a8ec9455364386af78762d0f6fed187824 /src/input/magicSysRqHandler.h
parentProcess start/stop/view functionality (diff)
parent[PVSGUI] No X required for --help and --version (diff)
downloadpvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.tar.gz
pvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.tar.xz
pvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.zip
Merge branch 'master' of openslx.org:pvs
Conflicts: CMakeLists.txt src/core/pvsConnectionManager.cpp src/pvs.cpp src/pvs.h
Diffstat (limited to 'src/input/magicSysRqHandler.h')
-rw-r--r--src/input/magicSysRqHandler.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/input/magicSysRqHandler.h b/src/input/magicSysRqHandler.h
new file mode 100644
index 0000000..563d091
--- /dev/null
+++ b/src/input/magicSysRqHandler.h
@@ -0,0 +1,72 @@
+/*
+ # 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/
+ # --------------------------------------------------------------------------
+ # magicSysRqHandler.h
+ # - Trigger Magic-SysRq functions - interface
+ # --------------------------------------------------------------------------
+ */
+
+#ifndef MAGICSYSRQHANDLER_H_
+#define MAGICSYSRQHANDLER_H_
+
+#include "inputEventHandler.h"
+
+class MagicSysRqHandler : public DefaultInputEventHandler<InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ>
+{
+public:
+ void handle(InputEvent const& evt, InputEventContext const* ctx);
+
+ static void describeInto(QList<SpecialInputEventDescription>& list)
+ {
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Reboot immediately"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'b');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Crash system"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'c');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Show all held logs"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'd');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Send SIGTERM to all"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'e');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Activate OOM killer"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'f');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Send SIGKILL to all"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'i');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Force thaw filesystems"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'j');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Kill all on terminal"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'k');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Show stack traces"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'l');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump memory info"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'm');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Make real-time tasks niceable"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'n');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Power off immediately"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'o');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump registers and flags"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'p');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump timers and clockevents"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'q');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Turn off raw keyboard mode"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'r');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Sync all mounted filesystems"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 's');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump task list"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 't');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Remount all read-only"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'u');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump uninterruptible tasks"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'w');
+ list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump ftrace buffer"),
+ InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'z');
+ }
+};
+
+#endif /* MAGICSYSRQHANDLER_H_ */