/* # 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: # - Forward privileged input events to a special handler process. # -------------------------------------------------------------------------- */ #ifndef PRIVILEGEDHANDLERFORWARDER_H_ #define PRIVILEGEDHANDLERFORWARDER_H_ #include "inputEventHandler.h" /** * Forward the incoming InputEvent to \c pvsprivinputd. */ class PrivilegedHandlerForwarder : public InputEventHandler< input_policy::Require, input_policy::Unprivileged> { public: /** * Forward \c evt to \c pvsprivinputd, taking care that * the security context is correctly sent. */ void doHandle(InputEvent const& evt, InputEventContext const* = 0); /** * Read the address of \c pvsprivinputd's listening socket * from its configuration and connect to it. */ void initialize(); private: int _socket; }; #endif /* PRIVILEGEDHANDLERFORWARDER_H_ */