[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdenetwork/krfb/krfb
From: George Kiagiadakis <kiagiadakis.george () gmail ! com>
Date: 2010-11-10 18:56:48
Message-ID: 20101110185648.462BAAC8A0 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1195277 by gkiagia:
Refactor the whole system for handling servers and clients.
The new design is very similar to the old one, it's just a bit
more clean imho. Known regression is that the invitations server
is no longer updated when the setting to require a password or not
is changed - I will fix that later.
M +4 -5 CMakeLists.txt
D abstractconnectioncontroller.cpp
D abstractconnectioncontroller.h
D abstractrfbserver.cpp
D abstractrfbserver.h
A invitationsrfbserver.cpp [License: GPL (v2+)]
A invitationsrfbserver.h [License: GPL (v2+)]
D krfbconnectioncontroller.cpp
D krfbconnectioncontroller.h
D krfbserver.cpp
D krfbserver.h
M +30 -20 main.cpp
M +0 -3 manageinvitationsdialog.cpp
A rfbclient.cpp [License: GPL (v2+)]
A rfbclient.h [License: GPL (v2+)]
A rfbserver.cpp [License: GPL (v2+)]
A rfbserver.h [License: GPL (v2+)]
A rfbservermanager.cpp [License: GPL (v2+)]
A rfbservermanager.h [License: GPL (v2+)]
D servermanager.cpp
D servermanager.h
--- trunk/KDE/kdenetwork/krfb/krfb/CMakeLists.txt #1195276:1195277
@@ -42,22 +42,21 @@
# itself.
set (krfb_SRCS
- abstractconnectioncontroller.cpp
- abstractrfbserver.cpp
connectiondialog.cpp
events.cpp
framebuffermanager.cpp
invitation.cpp
invitedialog.cpp
invitationmanager.cpp
- krfbconnectioncontroller.cpp
- krfbserver.cpp
main.cpp
manageinvitationsdialog.cpp
personalinvitedialog.cpp
- servermanager.cpp
sockethelpers.cpp
trayicon.cpp
+ rfbservermanager.cpp
+ rfbserver.cpp
+ rfbclient.cpp
+ invitationsrfbserver.cpp
)
kde4_add_kcfg_files (krfb_SRCS
--- trunk/KDE/kdenetwork/krfb/krfb/main.cpp #1195276:1195277
@@ -15,10 +15,9 @@
* *
***************************************************************************/
-#include "krfbserver.h"
#include "manageinvitationsdialog.h"
-#include "servermanager.h"
#include "trayicon.h"
+#include "invitationsrfbserver.h"
#include <KAboutApplicationDialog>
#include <KAboutData>
@@ -34,13 +33,30 @@
#include <QtGui/qwindowdefs.h>
#include <signal.h>
+#include <X11/extensions/XTest.h>
#define VERSION "1.0"
static const char description[] = I18N_NOOP("VNC-compatible server to share "
"KDE desktops");
+static bool checkX11Capabilities()
+{
+ int bp1, bp2, majorv, minorv;
+ Bool r = XTestQueryExtension(QX11Info::display(), &bp1, &bp2,
+ &majorv, &minorv);
+ if ((!r) || (((majorv * 1000) + minorv) < 2002)) {
+ KMessageBox::error(0,
+ i18n("Your X11 Server does not support the required XTest extension "
+ "version 2.2. Sharing your desktop is not possible."),
+ i18n("Desktop Sharing Error"));
+ return false;
+ }
+
+ return true;
+}
+
int main(int argc, char *argv[])
{
KAboutData aboutData("krfb", 0, ki18n("Desktop Sharing"),
@@ -81,35 +97,29 @@
KApplication app;
app.setQuitOnLastWindowClosed(false);
+ if (!checkX11Capabilities()) {
+ return 1;
+ }
+ //init the core
+ InvitationsRfbServer::init();
+
+ //init the GUI
ManageInvitationsDialog invitationsDialog;
+ TrayIcon trayicon(&invitationsDialog);
if (KCmdLineArgs::parsedArgs()->isSet("dialog")) {
invitationsDialog.show();
}
- TrayIcon trayicon(&invitationsDialog);
-
- KrfbServer *server = ServerManager::instance()->newServer(); // initialize the server manager
-
- if (!server->checkX11Capabilities()) {
- return 1;
- }
-
- QObject::connect(&trayicon, SIGNAL(enableDesktopControl(bool)),
- server, SLOT(enableDesktopControl(bool)));
- QObject::connect(server, SIGNAL(sessionEstablished(QString)),
- &trayicon, SLOT(showConnectedMessage(QString)));
- QObject::connect(server, SIGNAL(sessionFinished()),
- &trayicon, SLOT(showDisconnectedMessage()));
- QObject::connect(server, SIGNAL(desktopControlSettingChanged(bool)),
- &trayicon, SLOT(setDesktopControlSetting(bool)));
-
sigset_t sigs;
sigemptyset(&sigs);
sigaddset(&sigs, SIGPIPE);
sigprocmask(SIG_BLOCK, &sigs, 0);
- return app.exec();
+ int ret = app.exec();
+
+ //cleanup
+ InvitationsRfbServer::cleanup();
}
--- trunk/KDE/kdenetwork/krfb/krfb/manageinvitationsdialog.cpp #1195276:1195277
@@ -11,9 +11,7 @@
#include "invitationmanager.h"
#include "invitation.h"
#include "krfbconfig.h"
-#include "krfbserver.h"
#include "personalinvitedialog.h"
-#include "servermanager.h"
#include "ui_configtcp.h"
#include "ui_configsecurity.h"
@@ -187,7 +185,6 @@
dialog->addPage(new TCP, i18n("Network"), "network-workgroup");
dialog->addPage(new Security, i18n("Security"), "security-high");
dialog->setHelp(QString(), "krfb");
- connect(dialog, SIGNAL(settingsChanged(QString)), ServerManager::instance(), SLOT(updateServers()));
dialog->show();
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic