blob: 015dfa187d23b15f2f8cf13c485c9eb9122c5e7f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
/*
# 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/
# --------------------------------------------------------------------------
# pvsPrivInputHandler.h
# - Handle privileged input connection requests - interface
# --------------------------------------------------------------------------
*/
#ifndef PVSPRIVINPUTHANDLER_H_
#define PVSPRIVINPUTHANDLER_H_
#include <QObject>
#include <QHash>
#include <QPointer>
#include "inputEventHandler.h"
class QSocketNotifier;
/**
* Handle socket communication with instances of the PVS Client Daemon.
*
* \note This runs in the context of a Qt main loop. It does not start
* a handler thread.
*/
class PVSPrivInputHandler : public QObject
{
Q_OBJECT
public:
/**
* Listen for InputEvents on file descriptor \c fd.
*/
PVSPrivInputHandler(int fd, QObject* parent = 0);
virtual ~PVSPrivInputHandler();
private slots:
void canRead();
private:
QSocketNotifier* _notifier;
QByteArray _messageAssembly;
int _bytes;
int _fd;
InputEventHandlerChain _handlerChain;
};
#endif /* PVSPRIVINPUTHANDLER_H_ */
|