| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
Make sure all methods only write what is given as arguments, and
avoid side effects by getting data from parameter objects. This keeps
things readable in the calling code.
|
| |
| |
| |
| |
| | |
It's a generic client thing, so abstract it in to the common library.
Makes it easier to integrate with other common code.
|
| |
| |
| |
| |
| |
| |
| | |
Avoid using the callbacks used for runtime changes for the initial
setup. They weren't really useful anyway as you could not allocate
a framebuffer without also knowing the pixel format. So make things
more clear by letting serverInit() get the initial settings.
|
| |
| |
| |
| |
| | |
Add an explicit callback for subclasses to do their startup in. This
makes it easier to do proper ordering, and avoids mistakes.
|
| | |
|
| |
| |
| |
| |
| | |
Better to check the actual list of supported encodings directly.
Makes parts more readable, and no risk of getting out of sync.
|
| |
| |
| |
| |
| | |
No need to spread things out. Keep all of the handling in a single
place to make things clearer.
|
| |
| |
| |
| |
| |
| | |
Now that we've split out server state to ServerParams, ConnParams
only contains state for a client. Rename the class and variables
to reflect this.
|
| |
| |
| |
| |
| |
| | |
We need to track different things in the server and client, so
separate things to two independent structures to keep things more
clear.
|
| |
| |
| |
| |
| |
| |
| | |
Avoid direct access to the screen dimensions and layout so that we
can make sure it stays sane. This also makes sure the layout is
properly updated when we only get the screen dimensions from the
server.
|
| |
| |
| |
| |
| | |
That object is just a container for the current state. Move the I/O
to the classes already doing such stuff.
|
| |
| |
| |
| |
| | |
We should not be including server headers from client code. It was
not even needed, so simply remove it.
|
| |
| |
| |
| |
| |
| | |
32 bits are not enough to keep track of all the pixels that might
flow through the system. Expand things to 64 bits, which should cover
all reasonable uses.
|
| |
| |
| |
| |
| |
| |
| | |
We need to check earlier if we are going to send this refresh or
not. Otherwise we send out pings pointlessly, and we also stall
the request loop with a client as we clear the requested region
without actually sending an update message.
|
| |
| |
| |
| |
| | |
It makes the logic a bit easier to follow, and also fixes the
case where just a fake update is needed.
|
| |
| |
| |
| | |
Fallout from beb59a43.
|
| |
| |
| |
| |
| | |
We need a larger range to handle the temporary overflow caused by
the Floyd-Steinberg dithering.
|
|\ \ |
|
| |/
| |
| |
| |
| | |
These are not allowed in C++, and have been made optional in C11.
So let's just get rid of them and any issues they may cause.
|
|\ \ |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It doesn't belong on each socket server object as timers are global.
Force implementations to call the Timer system directly instead,
avoiding any middle men.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Get this timeout in to the timer system as well to make things
simpler and more robust.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Do a proper cleanup when one of the termination timeouts trigger
rather than just exiting on the spot. This makes sure we don't leave
stray stuff around, e.g. unix socket files.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This makes them more consistent with everything else, which makes
things clearer and also allows them to handle some corner cases
(e.g. only firing once).
|
|\| | |
| |_|/
|/| | |
|
| | |
| | |
| | |
| | | |
Add missing comments and clearly separate methods from attributes.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
It is an internal function so it has no business being public.
Compare with CConnection where it is already private.
|
| | |
| | |
| | |
| | | |
It is static and only used from a single place, so let's inline it.
|
| | |
| | |
| | |
| | | |
It isn't true so remove those comments.
|
| | |
| | |
| | |
| | |
| | | |
It is functionality specific to WinVNC, so move the code there
to make things more clear.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This makes VNCServer a sufficiently complete interface that callers
don't need to know about the specific implementation (VNCServerST
currently). And assuming that all servers will use sockets is not
that outrageous.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Removed the last parts of VNCSConnectionST's back door in to
VNCServerST and let the parent class fully handle coordination of
clients, and access to the desktop.
|
| | |
| | |
| | |
| | |
| | | |
This makes it generally useful and other code doesn't have to
know of the specific sub-class.
|
| | |
| | |
| | |
| | |
| | | |
More encapsulation of functions that require coordinate between
clients.
|
| | |
| | |
| | |
| | |
| | |
| | | |
There is some client coordination needed which is better encapsulated
inside VNCServerST. This also helps hiding the desktop from the
individual clients.
|
| | |
| | |
| | |
| | |
| | | |
Avoid having VNCSConnectionST poking around in VNCServerST's internals
and instead access things via safer methods.
|
| | |
| | |
| | |
| | |
| | | |
Make things simpler by making this a part of the SDesktop interface
that always needs to be implemented.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Force queryConnection() to always call back to approveConnection()
rather than return special values. This makes the flow easier to
follow as it will be the same in all cases.
|
|\| | |
|
| |/
| |
| |
| |
| | |
Applets don't work anymore so remove everything that has to do
with serving them.
|
|\ \ |
|
| |/ |
|
|/
|
|
|
| |
Makes it easier to debug TLS issues, and to see the effect of
altering the priority string.
|
|
|
|
|
|
| |
In theory we could return to communicate without TLS after a
shutdown. It also makes sure the connection object isn't left
completely without streams.
|
|
|
|
|
|
| |
The streams depend on the session and can crash the program if they
are removed in the wrong order. Do a general cleanup of the life time
management of the streams.
|