diff options
Diffstat (limited to 'src/input/inputHandlerChain.h')
| -rw-r--r-- | src/input/inputHandlerChain.h | 49 |
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_ */ |
