Various changes for IRC plugin, not yet usable.
[kdenetwork.git] / krfb / krfbserver.h
blob5280cfdbc11da130a92dfb695b62d3c68c18bc41
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; either
7 version 2 of the License, or (at your option) any later version.
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 friend class KrfbServerPrivate;
26 public:
28 static KrfbServer *self();
30 ~KrfbServer();
32 enum rfbNewClientAction handleNewClient(struct _rfbClientRec *cl);
33 bool checkX11Capabilities();
35 signals:
36 void sessionEstablished(QString);
37 void sessionFinished();
38 void desktopControlSettingChanged(bool);
39 void quitApp();
41 public Q_SLOTS:
43 void startListening();
44 void enableDesktopControl(bool);
45 void disconnectAndQuit();
46 void updateSettings();
47 void updatePassword();
48 void clientDisconnected(ConnectionController *);
50 private:
51 KrfbServer();
52 static KrfbServer *_self;
54 class KrfbServerP;
55 KrfbServerP * const d;
59 #endif