diff options
author | Sebastien Braun | 2010-10-05 15:31:11 +0200 |
---|---|---|
committer | Sebastien Braun | 2010-10-05 18:15:51 +0200 |
commit | 9b8657b04122838e3149208789a004baaa3ba635 (patch) | |
tree | 9c5d9196993bf7eb9d58ce353fb583e8167e3220 /src/input | |
parent | Implement privileged input daemon, first version without handlers. (diff) | |
download | pvs-9b8657b04122838e3149208789a004baaa3ba635.tar.gz pvs-9b8657b04122838e3149208789a004baaa3ba635.tar.xz pvs-9b8657b04122838e3149208789a004baaa3ba635.zip |
Implement example privileged SayHelloHandler.
Diffstat (limited to 'src/input')
-rw-r--r-- | src/input/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/input/inputHandlerChain.h | 2 | ||||
-rw-r--r-- | src/input/sayHelloHandler.cpp | 25 | ||||
-rw-r--r-- | src/input/sayHelloHandler.h | 34 |
4 files changed, 62 insertions, 0 deletions
diff --git a/src/input/CMakeLists.txt b/src/input/CMakeLists.txt index 5f009c5..4aaa845 100644 --- a/src/input/CMakeLists.txt +++ b/src/input/CMakeLists.txt @@ -10,6 +10,7 @@ if(UNIX) pvsprivinputd.cpp pvsPrivInputHandler.cpp pvsCheckPrivileges.cpp + sayHelloHandler.cpp ) set(pvsprivinputd_MOC_HDRS diff --git a/src/input/inputHandlerChain.h b/src/input/inputHandlerChain.h index 61c3d62..57168c2 100644 --- a/src/input/inputHandlerChain.h +++ b/src/input/inputHandlerChain.h @@ -23,6 +23,7 @@ #include "x11FakeKeyboardHandler.h" #include "x11FakeMouseHandler.h" #include "privilegedHandlerForwarder.h" +#include "sayHelloHandler.h" typedef boost::mpl::list< Handler<X11FakeKeyboardHandler, policy::RequireSystem<policy::UnixLike> >, @@ -34,6 +35,7 @@ typedef boost::mpl::list< typedef InputEventHandlerChain<unprivileged_handler_list> unprivileged_handler_chain; typedef boost::mpl::list< + Handler<SayHelloHandler> >::type privileged_handler_list; typedef InputEventHandlerChain<privileged_handler_list> privileged_handler_chain; diff --git a/src/input/sayHelloHandler.cpp b/src/input/sayHelloHandler.cpp new file mode 100644 index 0000000..fc6f668 --- /dev/null +++ b/src/input/sayHelloHandler.cpp @@ -0,0 +1,25 @@ +/* + # 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/ + # -------------------------------------------------------------------------- + # rebootSystemHandler.h + # - Handle "say hello" requests - interface + # -------------------------------------------------------------------------- + */ + +#include "sayHelloHandler.h" +#include <iostream> + +using namespace std; + +void SayHelloHandler::handle(InputEvent const&, InputEventContext const* ctx) +{ + cerr << "I'm right here! You sent this message from pid " << ctx->getSenderPid() << " as user " << ctx->getSenderUid() << " with gid " << ctx->getSenderGid() << endl; +} diff --git a/src/input/sayHelloHandler.h b/src/input/sayHelloHandler.h new file mode 100644 index 0000000..b0d4c7e --- /dev/null +++ b/src/input/sayHelloHandler.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/ + # -------------------------------------------------------------------------- + # rebootSystemHandler.h + # - Handle "say hello" requests - interface + # -------------------------------------------------------------------------- + */ + +#ifndef SAYHELLOHANDLER_CPP_ +#define SAYHELLOHANDLER_CPP_ + +#include <QCoreApplication> +#include "inputEventHandler.h" + +class SayHelloHandler : public DefaultInputEventHandler<InputEvent::ET_SPECIAL, InputEvent::EC_SAY_HELLO> +{ +public: + void handle(InputEvent const&, InputEventContext const*); + + static void describeInto(QList<SpecialInputEventDescription>& list) + { + list << SpecialInputEventDescription(tr(QT_TRANSLATE_NOOP("InputEventHandler", "Say Hello")), InputEvent::ET_SPECIAL, InputEvent::EC_SAY_HELLO); + } +}; + +#endif /* SAYHELLOHANDLER_CPP_ */ |