Two more usability fixes
[kdenetwork.git] / krfb / krfbserver.h
blob158e4e941fa50f4f84b2d0cd3361553c4c44db6d
1 /* This file is part of the KDE project
2 Copyright (C) 2007 Alessandro Praduroux <pradu@pradu.it>
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public
6 License as published by the Free Software Foundation; version 2
7 of the License.
8 */
10 #ifndef KRFBSERVER_H
11 #define KRFBSERVER_H
13 #include <QObject>
14 #include <rfb/rfb.h>
16 class ConnectionController;
17 /**
18 This class implements the listening server for the RFB protocol.
20 @author Alessandro Praduroux <pradu@pradu.it>
22 class KrfbServer : public QObject
24 Q_OBJECT
25 public:
27 static KrfbServer *self();
29 ~KrfbServer();
31 enum rfbNewClientAction handleNewClient(struct _rfbClientRec *cl);
32 bool checkX11Capabilities();
34 signals:
35 void sessionEstablished(QString);
36 void sessionFinished();
37 void desktopControlSettingChanged(bool);
38 void quitApp();
40 public Q_SLOTS:
42 void startListening();
43 void enableDesktopControl(bool);
44 void disconnectAndQuit();
45 void updateSettings();
46 void updatePassword();
47 void clientDisconnected(ConnectionController *);
49 private:
50 KrfbServer();
51 static KrfbServer *_self;
53 class KrfbServerP;
54 KrfbServerP * const d;
58 #endif