diff options
author | Sebastien Braun | 2010-10-11 09:02:38 +0200 |
---|---|---|
committer | Sebastien Braun | 2010-10-11 09:02:38 +0200 |
commit | 732b9cfec697e893fcf5b65e1e7c9e5921ea5951 (patch) | |
tree | 3374393a9768ac97831f13e157fb7a8a9e0f329d | |
parent | Add access control check to input event handling in PVS daemon (diff) | |
download | pvs-732b9cfec697e893fcf5b65e1e7c9e5921ea5951.tar.gz pvs-732b9cfec697e893fcf5b65e1e7c9e5921ea5951.tar.xz pvs-732b9cfec697e893fcf5b65e1e7c9e5921ea5951.zip |
Introduce LogNonMatchingHandler
-rw-r--r-- | src/input/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/input/logNonMatchingHandler.cpp | 27 | ||||
-rw-r--r-- | src/input/logNonMatchingHandler.h | 33 | ||||
-rw-r--r-- | src/input/unprivilegedInputHandlerChain.cpp | 4 |
4 files changed, 64 insertions, 1 deletions
diff --git a/src/input/CMakeLists.txt b/src/input/CMakeLists.txt index d950c67..b4dfa4d 100644 --- a/src/input/CMakeLists.txt +++ b/src/input/CMakeLists.txt @@ -4,6 +4,7 @@ set(pvsinput_SRCS inputEvent.cpp unprivilegedInputHandlerChain.cpp inputEventHandler.cpp + logNonMatchingHandler.cpp ) set(feature_DEFS) diff --git a/src/input/logNonMatchingHandler.cpp b/src/input/logNonMatchingHandler.cpp new file mode 100644 index 0000000..dd694fc --- /dev/null +++ b/src/input/logNonMatchingHandler.cpp @@ -0,0 +1,27 @@ +/* +# 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/ +# ----------------------------------------------------------------------------- +# src/input/nonMatchingHandler.cpp: +# - Log events that were not matched by another handler - implementation +# ----------------------------------------------------------------------------- +*/ + +#include "logNonMatchingHandler.h" +#include <QtDebug> + +void LogNonMatchingHandler::doHandle(InputEvent const& event, InputEventContext const* context) +{ + // It's not really nonmatched if it has already been denied + if(!context->hasBeenDenied) + { + qWarning("No matching handler found for event %s", event.toString().toLocal8Bit().constData()); + } +} diff --git a/src/input/logNonMatchingHandler.h b/src/input/logNonMatchingHandler.h new file mode 100644 index 0000000..3403640 --- /dev/null +++ b/src/input/logNonMatchingHandler.h @@ -0,0 +1,33 @@ +/* +# 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/ +# ----------------------------------------------------------------------------- +# src/input/nonMatchingHandler.h: +# - Log events that were not matched by another handler - interface +# ----------------------------------------------------------------------------- +*/ + +#ifndef LOGNONMATCHINGHANDLER_H_ +#define LOGNONMATCHINGHANDLER_H_ + +#include "inputEventHandler.h" + +class LogNonMatchingHandler : public InputEventHandler<input_policy::Unprivileged> +{ +public: + bool isApplicable(InputEvent const&, InputEventContext const*) + { + return true; + } + + void doHandle(InputEvent const&, InputEventContext const*); +}; + +#endif /* LOGNONMATCHINGHANDLER_H_ */ diff --git a/src/input/unprivilegedInputHandlerChain.cpp b/src/input/unprivilegedInputHandlerChain.cpp index 2df2d77..3f47631 100644 --- a/src/input/unprivilegedInputHandlerChain.cpp +++ b/src/input/unprivilegedInputHandlerChain.cpp @@ -20,6 +20,7 @@ #include "privilegedHandlerForwarder.h" #include "incompatibleHandler.h" #include "inputHandlerChains.h" +#include "logNonMatchingHandler.h" InputEventHandlerChain makeUnprivilegedInputEventHandlerChain() { @@ -27,6 +28,7 @@ InputEventHandlerChain makeUnprivilegedInputEventHandlerChain() .add<X11FakeMouseButtonHandler>() .add<X11FakeMouseMovementHandler>() .add<PrivilegedHandlerForwarder>() - .add<IncompatibleHandler>(); // See comments in incompatibleHandler.h + .add<IncompatibleHandler>() // See comments in incompatibleHandler.h + .add<LogNonMatchingHandler>(); } |