This is because we need to use it as the client's name even after
the client has been disconnected and the socket is closed.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195307
This is useful for the cases where the user has selected not to be
asked about new connections. Other cases are not affected.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195302
This currently includes a "disconnect" action and a toggle action
for enabling/disabling input devices control, which was there previously
but applied only to one client. With the current design every client gets
its own control actions.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195294
Currently clients are not connected immediately because the user needs
to be notified and take action upon the connection request. This makes
the design of the RfbClient class a bit strange. This new approach
applies tp-qt4's PendingOperation design to RfbClients. New connections
create a PendingRfbClient that internally handles the user notification
and the RfbClient object is only created when the user has accepted the
connection.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195292
This bug occured when a second telepathy tubes client was connected after
the first one had disconnected and the channel (thus, the screen too)
had been destroyed.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195288
Changes include:
- Use a QSocketNotifier on each rfb socket that we know about, so
that we don't have to poll the sockets using a timer.
- Use a server registration mechanism in RfbServerManager so that
the manager can update all the servers at once and delete them
properly before shutting down.
- Send updates to the clients periodically from the server manager
and start/stop the update timer when clients connect/disconnect.
This makes cpu usage drop dramatically when krfb is idle listening
for incoming connections.
- Let RfbServer handle the screen pointer.
- Other minor adjustments (sorry for not making a separate commit)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195287
This is required to be able to do proper event loop integration with Qt.
Idea was taken from vino's libvncserver fork.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195286
This is currently required to be able to split off the event processing code
in small functions so that it is possible to integrate libvncserver's event
loop code with Qt's event loop properly. This is also what vino does; the whole
event loop integration idea was taken from there.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195283
The returned port needs conversion from network byte
order to host byte order before it can be used.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195280
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.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195277