From 732b9cfec697e893fcf5b65e1e7c9e5921ea5951 Mon Sep 17 00:00:00 2001 From: Sebastien Braun Date: Mon, 11 Oct 2010 09:02:38 +0200 Subject: Introduce LogNonMatchingHandler --- src/input/CMakeLists.txt | 1 + src/input/logNonMatchingHandler.cpp | 27 +++++++++++++++++++++++ src/input/logNonMatchingHandler.h | 33 +++++++++++++++++++++++++++++ src/input/unprivilegedInputHandlerChain.cpp | 4 +++- 4 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 src/input/logNonMatchingHandler.cpp create mode 100644 src/input/logNonMatchingHandler.h 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 + +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 +{ +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() .add() .add() - .add(); // See comments in incompatibleHandler.h + .add() // See comments in incompatibleHandler.h + .add(); } -- cgit v1.2.3-55-g7522