summaryrefslogtreecommitdiffstats
path: root/src/input/inputHandlerChain.h
diff options
context:
space:
mode:
authorSebastien Braun2010-10-05 15:07:43 +0200
committerSebastien Braun2010-10-05 18:15:50 +0200
commitc5c46660130456afea285e460be44e1c723e4a49 (patch)
treebbfbfac760c26fc2618f288c466c0e2b6df84c20 /src/input/inputHandlerChain.h
parentRemove unnecessary Qt dependency from inputEvent.cpp (diff)
downloadpvs-c5c46660130456afea285e460be44e1c723e4a49.tar.gz
pvs-c5c46660130456afea285e460be44e1c723e4a49.tar.xz
pvs-c5c46660130456afea285e460be44e1c723e4a49.zip
Refactor InputEvent handler code.
- Make static methods virtual and store instances in the chains. - Propagate security context information. - Saner security policy implementation.
Diffstat (limited to 'src/input/inputHandlerChain.h')
-rw-r--r--src/input/inputHandlerChain.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/input/inputHandlerChain.h b/src/input/inputHandlerChain.h
new file mode 100644
index 0000000..4bb9fe5
--- /dev/null
+++ b/src/input/inputHandlerChain.h
@@ -0,0 +1,34 @@
+/*
+ # 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"
+
+typedef boost::mpl::list<
+ Handler<X11FakeKeyboardHandler, policy::RequireSystem<policy::UnixLike> >,
+ Handler<X11FakeMouseButtonHandler, policy::RequireSystem<policy::UnixLike> >,
+ Handler<X11FakeMouseMovementHandler, policy::RequireSystem<policy::UnixLike> >
+>::type unprivileged_handler_list;
+
+typedef InputEventHandlerChain<unprivileged_handler_list> unprivileged_handler_chain;
+
+#endif /* INPUTHANDLERCHAIN_H_ */