| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
You need to activate the feature by setting supportsCursorPosition, so
there is no point in forcing everyone to implement the handler.
|
|
|
|
|
|
| |
We already had a field in the ServerParams structure, but we never
actually stored anything in it. Let's fix that so the cursor behaves
like other state we get from the server.
|
|
|
|
|
|
| |
It's a bit confusing that some handling is done in
CMsgHandler/SMsgHandler, and some handling is done in
CConnection/SConnection.
|
|
|
|
|
|
| |
These are just for interactions internally within the connection objects
and their sub classes. Mark them as protected to make the API more
clear, and to avoid accidental use.
|
|
|
|
|
| |
It's just string helper functions here, so let's get rid of the
catch-all name for this module.
|
|
|
|
| |
Let's clear things up by categorizing our utility functions.
|
|
|
|
|
|
|
| |
Make it clearer what is protocol handling and what is just general
plumbing.
This is one step of several.
|
|
|
|
|
|
|
| |
Make it clearer what is protocol handling and what is just general
plumbing.
This is one step of several.
|
|
|
|
|
|
|
| |
Make it clearer what is protocol handling and what is just general
plumbing.
This is one step of several.
|
|
|
|
|
|
|
| |
Make it clearer what is protocol handling and what is just general
plumbing.
This is one step of several.
|
|
|
|
|
|
|
|
| |
Try to keep the code more compact for the simple things where the type
should be obvious from the context. Helps us avoid line wrapping.
Also remove explicit conversions to Region where the compiler is able to
figure it out by itself, again to reduce line length.
|
|
|
|
|
| |
Make compile times faster by reducing the number of headers included in
other headers.
|
|
|
|
|
| |
Avoid duplicating this complexity everywhere and make sure all commands
get the same handling and fixes.
|
|\ |
|
| |
| |
| |
| | |
The reason for this is to keep a consistency through out the project.
|
| |
| |
| |
| |
| | |
This makes things more consistent since we mix with the standard library
exceptions so often.
|
| |
| |
| |
| |
| | |
Use the more specific already included exception classes for common
errors to keep things more understandable.
|
| |
| |
| |
| |
| | |
Make sure our exceptions are part of the standard exception class
hierarchy.
|
|/
|
|
| |
Harmonize with the standard C++ exceptions.
|
|
|
|
|
| |
Problems with the original code: A process can only establish one connection.
After modification, multiple connections can be supported.
|
|
|
|
|
| |
This was made obsolete in dd45b44 when we extended the serverInit()
callback.
|
|
|
|
|
| |
It's a source of confusion and possibly bugs to reuse the same variable
name for multiple things.
|
|
|
|
|
| |
Use the new "override" keyword to properly differentiate between new
virtual methods, and existing virtual methods being overridden.
|
|
|
|
|
| |
It's more readable than 0, and a bit safer than NULL, so let's try to
follow modern norms.
|
|
|
|
|
|
|
|
| |
Specifies that the server must ignore all keyboard or mouse events sent
by the client.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2180903
Signed-off-by: Carlos Santos <casantos@redhat.com>
|
|
|
|
|
|
|
|
|
| |
They must belong to the rfb namespace, not to the SConnection class.
Also add an AccessNone constant, since it's better to use a mnemonic
symbol rather than zero to initialize the accessRights members.
Signed-off-by: Carlos Santos <casantos@redhat.com>
|
|
|
|
|
| |
It is more specific, and it properly sets up propagation when include
directories also need to be used further down a dependency chain.
|
|
|
|
|
|
| |
We mostly use classical C strings, but the memory management around them
can get confusing and error prone. Let's use std::string for the cases
where we need to return a newly allocated string.
|
|
|
|
|
| |
Avoid having our own custom stuff and instead use the modern, standard
types, for familiarity.
|
|
|
|
|
| |
This allows us to separate accidentally unused, from explicitly unused
parameters, which allows us to turn on such checks in the compiler.
|
|
|
|
|
| |
This makes sure the compiler doesn't complain about problems in those
files.
|
|
|
|
| |
We should scope these as narrowely as possible to avoid side effects.
|
|
|
|
| |
Add also missing <stdlib.h> where required.
|
|
|
|
|
| |
FFMPEG is needed by the RFB library, so all the details about it should
only be applied there and not for other components.
|
|
|
|
|
| |
Modern cmake has better support for adding source files and libraries
incrementally, so let's use that to clean things up.
|
|
|
|
| |
Linux implementation using ffmpeg
|
|
|
|
|
|
| |
The generally recommended way is to include it from source files, not
headers. We had a mix of both. Let's try to be consistent and follow the
recommended way.
|
|
|
|
|
| |
Without this change I get CMake errors due to use of ${FLTK_INCLUDE_DIR}
and references to the non-existent vncviewer target.
|
|
|
|
|
|
|
|
| |
This change makes it possible for re-synchronizing the remote cursor on
the vncviewer when in fullscreen mode. This is done by locally moving
the cursor position to what the server thinks it should be.
Now SDL games should work!
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Major restructuring of how streams work. Neither input nor output
streams are now blocking. This avoids stalling the rest of the client or
server when a peer is slow or unresponsive.
Note that this puts an extra burden on users of streams to make sure
they are allowed to do their work once the underlying transports are
ready (e.g. monitoring fds).
|
| |
| |
| |
| |
| | |
Just have a simply number of bytes argument to avoid a lot of
complexity.
|
| |
| |
| |
| |
| | |
Makes it more readable to write code that needs to know how much
data/space is available in a stream.
|
|/
|
|
| |
It allows us to use the more standard format specifiers.
|
|
|
|
| |
We adapted to the wrong new callback in a previous commit.
|
|
|
|
|
| |
The CConnection base class wants to be able to write things these days,
so we need to provide it a place to do so.
|
|
|
|
|
|
|
|
| |
Provides safety against them accidentally becoming negative because
of bugs in the calculations.
Also does the same to CharArray and friends as they were strongly
connection to the stream objects.
|
|
They have very different purpose, so make things easier to work
with by having multiple directories.
|