summaryrefslogtreecommitdiffstats
path: root/src/input/inputHandlerChain.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/input/inputHandlerChain.h')
-rw-r--r--src/input/inputHandlerChain.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/input/inputHandlerChain.h b/src/input/inputHandlerChain.h
new file mode 100644
index 0000000..3c9446c
--- /dev/null
+++ b/src/input/inputHandlerChain.h
@@ -0,0 +1,49 @@
+/*
+ # 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/
+ # --------------------------------------------------------------------------
+ # inputHandlerChain.h:
+ # - Definition of the input handler chain
+ # --------------------------------------------------------------------------
+ */
+
+#ifndef INPUTHANDLERCHAIN_H_
+#define INPUTHANDLERCHAIN_H_
+
+#include <boost/mpl/list.hpp>
+#include "inputEventHandler.h"
+
+#include "x11FakeKeyboardHandler.h"
+#include "x11FakeMouseHandler.h"
+#include "privilegedHandlerForwarder.h"
+#include "rebootSystemHandler.h"
+#include "sayHelloHandler.h"
+#include "killX11Handler.h"
+#include "magicSysRqHandler.h"
+
+typedef boost::mpl::list<
+ Handler<X11FakeKeyboardHandler, policy::RequireSystem<policy::UnixLike> >,
+ Handler<X11FakeMouseButtonHandler, policy::RequireSystem<policy::UnixLike> >,
+ Handler<X11FakeMouseMovementHandler, policy::RequireSystem<policy::UnixLike> >,
+ Handler<PrivilegedHandlerForwarder>
+>::type unprivileged_handler_list;
+
+typedef InputEventHandlerChain<policy::SecurityAllowAny, unprivileged_handler_list> unprivileged_handler_chain;
+
+typedef boost::mpl::list<
+ Handler<SayHelloHandler, policy::RequireNoSystem, policy::SecurityAllowAny >,
+ Handler<KillX11Handler, policy::RequireSystem<policy::Linux> >,
+ Handler<RebootLinuxSystemHandler, policy::RequireSystem<policy::Linux> >,
+ Handler<MagicSysRqHandler, policy::RequireSystem<policy::Linux> >
+>::type privileged_handler_list;
+
+typedef InputEventHandlerChain<policy::SecurityAllowPhysicalOrPrivileged, privileged_handler_list> privileged_handler_chain;
+
+#endif /* INPUTHANDLERCHAIN_H_ */