diff options
author | Sebastien Braun | 2010-10-10 14:31:49 +0200 |
---|---|---|
committer | Sebastien Braun | 2010-10-11 00:56:08 +0200 |
commit | c8978b46070959273d8ee8d760b2594c18a237a9 (patch) | |
tree | f62700250b88c01ee10cced36de18c98c327fdf3 /src/input | |
parent | Fix bug in logical OR when chaining Require<...> Policy. (diff) | |
download | pvs-c8978b46070959273d8ee8d760b2594c18a237a9.tar.gz pvs-c8978b46070959273d8ee8d760b2594c18a237a9.tar.xz pvs-c8978b46070959273d8ee8d760b2594c18a237a9.zip |
Add an InputEventHandler that is not compatible anywhere.
Diffstat (limited to 'src/input')
-rw-r--r-- | src/input/incompatibleHandler.h | 37 | ||||
-rw-r--r-- | src/input/unprivilegedInputHandlerChain.cpp | 4 |
2 files changed, 40 insertions, 1 deletions
diff --git a/src/input/incompatibleHandler.h b/src/input/incompatibleHandler.h new file mode 100644 index 0000000..5a92806 --- /dev/null +++ b/src/input/incompatibleHandler.h @@ -0,0 +1,37 @@ +/* + # 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/ + # -------------------------------------------------------------------------- + # incompatibleHandler.h: + # - A handler that is not compatible with any system. + # The presence of this file does no harm whatsoever, + # since there will never be any references generated to the class + # it defines, and allows us to test the claim that + # the Require<...> policy does a better job than the preprocessor. + # -------------------------------------------------------------------------- + */ + +#ifndef INCOMPATIBLEHANDLERTYPE_H_ +#define INCOMPATIBLEHANDLERTYPE_H_ + +#include "inputEventHandler.h" + +namespace incompatible { + struct Incompatible; +} + +class IncompatibleHandler : public InputEventHandler< + input_policy::Require<incompatible::Incompatible> > +{ + void doHandle(InputEvent const&, InputEventContext const*); +}; + + +#endif /* INCOMPATIBLEHANDLERTYPE_H_ */ diff --git a/src/input/unprivilegedInputHandlerChain.cpp b/src/input/unprivilegedInputHandlerChain.cpp index fbbc770..9353321 100644 --- a/src/input/unprivilegedInputHandlerChain.cpp +++ b/src/input/unprivilegedInputHandlerChain.cpp @@ -18,6 +18,7 @@ #include "x11FakeKeyboardHandler.h" #include "x11FakeMouseHandler.h" #include "privilegedHandlerForwarder.h" +#include "incompatibleHandler.h" #include "inputHandlerChains.h" InputEventHandlerChain makeUnprivilegedInputEventHandlerChain() @@ -25,6 +26,7 @@ InputEventHandlerChain makeUnprivilegedInputEventHandlerChain() return InputEventHandlerChain().add<X11FakeKeyboardHandler>() .add<X11FakeMouseButtonHandler>() .add<X11FakeKeyboardHandler>() - .add<PrivilegedHandlerForwarder>(); + .add<PrivilegedHandlerForwarder>() + .add<IncompatibleHandler>(); // See comments in incompatibleHandler.h } |