GUACAMOLE-249: Migrate to newer API (partial).

This commit is contained in:
Michael Jumper 2017-03-25 19:59:04 -07:00
parent 381ff1a421
commit a5b62aa82e
14 changed files with 108 additions and 73 deletions

View File

@ -554,11 +554,11 @@ then
# libfreerdp-core / libfreerdp # libfreerdp-core / libfreerdp
AC_CHECK_LIB([freerdp-core], [freerdp_new], AC_CHECK_LIB([freerdp-core], [freerdp_new],
[RDP_LIBS="$RDP_LIBS -lfreerdp-core"], [RDP_LIBS="$RDP_LIBS -lfreerdp-core"],
[AC_CHECK_LIB([freerdp], [freerdp_new], [AC_CHECK_LIB([freerdp2], [freerdp_new],
[RDP_LIBS="$RDP_LIBS -lfreerdp -lfreerdp-client"], [RDP_LIBS="$RDP_LIBS -lfreerdp2 -lfreerdp-client2"],
[AC_MSG_WARN([ [AC_MSG_WARN([
-------------------------------------------- --------------------------------------------
Unable to find libfreerdp-core / libfreerdp Unable to find libfreerdp2
RDP will be disabled. RDP will be disabled.
--------------------------------------------]) --------------------------------------------])
have_freerdp=no])]) have_freerdp=no])])

View File

@ -55,7 +55,6 @@ libguac_client_rdp_la_SOURCES = \
rdp_rail.c \ rdp_rail.c \
rdp_settings.c \ rdp_settings.c \
rdp_stream.c \ rdp_stream.c \
rdp_svc.c \
resolution.c \ resolution.c \
unicode.c \ unicode.c \
user.c user.c
@ -127,7 +126,6 @@ noinst_HEADERS = \
rdp_settings.h \ rdp_settings.h \
rdp_status.h \ rdp_status.h \
rdp_stream.h \ rdp_stream.h \
rdp_svc.h \
resolution.h \ resolution.h \
unicode.h \ unicode.h \
user.h user.h
@ -283,59 +281,59 @@ if LEGACY_FREERDP_EXTENSIONS
# FreeRDP 1.0-style extensions # FreeRDP 1.0-style extensions
freerdp_LTLIBRARIES = \ freerdp_LTLIBRARIES = \
guacai.la \ guacai.la
guacdr.la \ # guacdr.la \
guacsnd.la \ # guacsnd.la \
guacsvc.la # guacsvc.la
guacai_la_SOURCES = ${guacai_sources} guacai_la_SOURCES = ${guacai_sources}
guacai_la_CFLAGS = ${guacai_cflags} guacai_la_CFLAGS = ${guacai_cflags}
guacai_la_LDFLAGS = ${guacai_ldflags} guacai_la_LDFLAGS = ${guacai_ldflags}
guacai_la_LIBADD = ${guacai_libadd} guacai_la_LIBADD = ${guacai_libadd}
guacdr_la_SOURCES = ${guacdr_sources} #guacdr_la_SOURCES = ${guacdr_sources}
guacdr_la_CFLAGS = ${guacdr_cflags} #guacdr_la_CFLAGS = ${guacdr_cflags}
guacdr_la_LDFLAGS = ${guacdr_ldflags} #guacdr_la_LDFLAGS = ${guacdr_ldflags}
guacdr_la_LIBADD = ${guacdr_libadd} #guacdr_la_LIBADD = ${guacdr_libadd}
guacsnd_la_SOURCES = ${guacsnd_sources} #guacsnd_la_SOURCES = ${guacsnd_sources}
guacsnd_la_CFLAGS = ${guacsnd_cflags} #guacsnd_la_CFLAGS = ${guacsnd_cflags}
guacsnd_la_LDFLAGS = ${guacsnd_ldflags} #guacsnd_la_LDFLAGS = ${guacsnd_ldflags}
guacsnd_la_LIBADD = ${guacsnd_libadd} #guacsnd_la_LIBADD = ${guacsnd_libadd}
guacsvc_la_SOURCES = ${guacsvc_sources} #guacsvc_la_SOURCES = ${guacsvc_sources}
guacsvc_la_CFLAGS = ${guacsvc_cflags} #guacsvc_la_CFLAGS = ${guacsvc_cflags}
guacsvc_la_LDFLAGS = ${guacsvc_ldflags} #guacsvc_la_LDFLAGS = ${guacsvc_ldflags}
guacsvc_la_LIBADD = ${guacsvc_libadd} #guacsvc_la_LIBADD = ${guacsvc_libadd}
else else
# FreeRDP 1.1 (and hopefully onward) extensions # FreeRDP 1.1 (and hopefully onward) extensions
freerdp_LTLIBRARIES = \ freerdp_LTLIBRARIES = \
guacai-client.la \ guacai-client.la
guacdr-client.la \ # guacdr-client.la \
guacsnd-client.la \ # guacsnd-client.la \
guacsvc-client.la # guacsvc-client.la
guacai_client_la_SOURCES = ${guacai_sources} guacai_client_la_SOURCES = ${guacai_sources}
guacai_client_la_CFLAGS = ${guacai_cflags} guacai_client_la_CFLAGS = ${guacai_cflags}
guacai_client_la_LDFLAGS = ${guacai_ldflags} guacai_client_la_LDFLAGS = ${guacai_ldflags}
guacai_client_la_LIBADD = ${guacai_libadd} guacai_client_la_LIBADD = ${guacai_libadd}
guacdr_client_la_SOURCES = ${guacdr_sources} #guacdr_client_la_SOURCES = ${guacdr_sources}
guacdr_client_la_CFLAGS = ${guacdr_cflags} #guacdr_client_la_CFLAGS = ${guacdr_cflags}
guacdr_client_la_LDFLAGS = ${guacdr_ldflags} #guacdr_client_la_LDFLAGS = ${guacdr_ldflags}
guacdr_client_la_LIBADD = ${guacdr_libadd} #guacdr_client_la_LIBADD = ${guacdr_libadd}
guacsnd_client_la_SOURCES = ${guacsnd_sources} #guacsnd_client_la_SOURCES = ${guacsnd_sources}
guacsnd_client_la_CFLAGS = ${guacsnd_cflags} #guacsnd_client_la_CFLAGS = ${guacsnd_cflags}
guacsnd_client_la_LDFLAGS = ${guacsnd_ldflags} #guacsnd_client_la_LDFLAGS = ${guacsnd_ldflags}
guacsnd_client_la_LIBADD = ${guacsnd_libadd} #guacsnd_client_la_LIBADD = ${guacsnd_libadd}
guacsvc_client_la_SOURCES = ${guacsvc_sources} #guacsvc_client_la_SOURCES = ${guacsvc_sources}
guacsvc_client_la_CFLAGS = ${guacsvc_cflags} #guacsvc_client_la_CFLAGS = ${guacsvc_cflags}
guacsvc_client_la_LDFLAGS = ${guacsvc_ldflags} #guacsvc_client_la_LDFLAGS = ${guacsvc_ldflags}
guacsvc_client_la_LIBADD = ${guacsvc_libadd} #guacsvc_client_la_LIBADD = ${guacsvc_libadd}
endif endif

View File

@ -143,7 +143,7 @@ static int guac_rdp_ai_data(IWTSVirtualChannelCallback* channel_callback,
* @return * @return
* Always zero. * Always zero.
*/ */
static int guac_rdp_ai_data(IWTSVirtualChannelCallback* channel_callback, static UINT guac_rdp_ai_data(IWTSVirtualChannelCallback* channel_callback,
wStream* stream) { wStream* stream) {
guac_rdp_ai_channel_callback* ai_channel_callback = guac_rdp_ai_channel_callback* ai_channel_callback =
@ -169,7 +169,7 @@ static int guac_rdp_ai_data(IWTSVirtualChannelCallback* channel_callback,
* @return * @return
* Always zero. * Always zero.
*/ */
static int guac_rdp_ai_close(IWTSVirtualChannelCallback* channel_callback) { static UINT guac_rdp_ai_close(IWTSVirtualChannelCallback* channel_callback) {
guac_rdp_ai_channel_callback* ai_channel_callback = guac_rdp_ai_channel_callback* ai_channel_callback =
(guac_rdp_ai_channel_callback*) channel_callback; (guac_rdp_ai_channel_callback*) channel_callback;
@ -219,7 +219,7 @@ static int guac_rdp_ai_close(IWTSVirtualChannelCallback* channel_callback) {
* @return * @return
* Always zero. * Always zero.
*/ */
static int guac_rdp_ai_new_connection( static UINT guac_rdp_ai_new_connection(
IWTSListenerCallback* listener_callback, IWTSVirtualChannel* channel, IWTSListenerCallback* listener_callback, IWTSVirtualChannel* channel,
BYTE* data, int* accept, BYTE* data, int* accept,
IWTSVirtualChannelCallback** channel_callback) { IWTSVirtualChannelCallback** channel_callback) {
@ -261,7 +261,7 @@ static int guac_rdp_ai_new_connection(
* @return * @return
* Always zero. * Always zero.
*/ */
static int guac_rdp_ai_initialize(IWTSPlugin* plugin, static UINT guac_rdp_ai_initialize(IWTSPlugin* plugin,
IWTSVirtualChannelManager* manager) { IWTSVirtualChannelManager* manager) {
/* Allocate new listener callback */ /* Allocate new listener callback */
@ -295,7 +295,7 @@ static int guac_rdp_ai_initialize(IWTSPlugin* plugin,
* @return * @return
* Always zero. * Always zero.
*/ */
static int guac_rdp_ai_terminated(IWTSPlugin* plugin) { static UINT guac_rdp_ai_terminated(IWTSPlugin* plugin) {
guac_rdp_ai_plugin* ai_plugin = (guac_rdp_ai_plugin*) plugin; guac_rdp_ai_plugin* ai_plugin = (guac_rdp_ai_plugin*) plugin;
guac_client* client = ai_plugin->client; guac_client* client = ai_plugin->client;

View File

@ -38,7 +38,9 @@
#include "rdp_pointer.h" #include "rdp_pointer.h"
#include "rdp_rail.h" #include "rdp_rail.h"
#include "rdp_stream.h" #include "rdp_stream.h"
#if 0
#include "rdp_svc.h" #include "rdp_svc.h"
#endif
#ifdef ENABLE_COMMON_SSH #ifdef ENABLE_COMMON_SSH
#include "common-ssh/sftp.h" #include "common-ssh/sftp.h"

View File

@ -191,10 +191,12 @@ typedef struct rdp_freerdp_context {
*/ */
guac_client* client; guac_client* client;
#if 0
/** /**
* Color conversion structure to be used to convert RDP images to PNGs. * Color conversion structure to be used to convert RDP images to PNGs.
*/ */
CLRCONV* clrconv; CLRCONV* clrconv;
#endif
/** /**
* The current color palette, as received from the RDP server. * The current color palette, as received from the RDP server.

View File

@ -42,7 +42,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
void guac_rdp_cache_bitmap(rdpContext* context, rdpBitmap* bitmap) { BOOL guac_rdp_cache_bitmap(rdpContext* context, rdpBitmap* bitmap) {
guac_client* client = ((rdp_freerdp_context*) context)->client; guac_client* client = ((rdp_freerdp_context*) context)->client;
guac_rdp_client* rdp_client = (guac_rdp_client*) client->data; guac_rdp_client* rdp_client = (guac_rdp_client*) client->data;
@ -70,9 +70,11 @@ void guac_rdp_cache_bitmap(rdpContext* context, rdpBitmap* bitmap) {
/* Store buffer reference in bitmap */ /* Store buffer reference in bitmap */
((guac_rdp_bitmap*) bitmap)->layer = buffer; ((guac_rdp_bitmap*) bitmap)->layer = buffer;
return TRUE;
} }
void guac_rdp_bitmap_new(rdpContext* context, rdpBitmap* bitmap) { BOOL guac_rdp_bitmap_new(rdpContext* context, rdpBitmap* bitmap) {
/* Convert image data if present */ /* Convert image data if present */
if (bitmap->data != NULL && bitmap->bpp != 32) { if (bitmap->data != NULL && bitmap->bpp != 32) {
@ -103,9 +105,11 @@ void guac_rdp_bitmap_new(rdpContext* context, rdpBitmap* bitmap) {
/* Start at zero usage */ /* Start at zero usage */
((guac_rdp_bitmap*) bitmap)->used = 0; ((guac_rdp_bitmap*) bitmap)->used = 0;
return TRUE;
} }
void guac_rdp_bitmap_paint(rdpContext* context, rdpBitmap* bitmap) { BOOL guac_rdp_bitmap_paint(rdpContext* context, rdpBitmap* bitmap) {
guac_client* client = ((rdp_freerdp_context*) context)->client; guac_client* client = ((rdp_freerdp_context*) context)->client;
guac_rdp_client* rdp_client = (guac_rdp_client*) client->data; guac_rdp_client* rdp_client = (guac_rdp_client*) client->data;
@ -145,6 +149,8 @@ void guac_rdp_bitmap_paint(rdpContext* context, rdpBitmap* bitmap) {
/* Increment usage counter */ /* Increment usage counter */
((guac_rdp_bitmap*) bitmap)->used++; ((guac_rdp_bitmap*) bitmap)->used++;
return TRUE;
} }
void guac_rdp_bitmap_free(rdpContext* context, rdpBitmap* bitmap) { void guac_rdp_bitmap_free(rdpContext* context, rdpBitmap* bitmap) {
@ -159,7 +165,7 @@ void guac_rdp_bitmap_free(rdpContext* context, rdpBitmap* bitmap) {
} }
void guac_rdp_bitmap_setsurface(rdpContext* context, rdpBitmap* bitmap, BOOL primary) { BOOL guac_rdp_bitmap_setsurface(rdpContext* context, rdpBitmap* bitmap, BOOL primary) {
guac_client* client = ((rdp_freerdp_context*) context)->client; guac_client* client = ((rdp_freerdp_context*) context)->client;
guac_rdp_client* rdp_client = (guac_rdp_client*) client->data; guac_rdp_client* rdp_client = (guac_rdp_client*) client->data;
@ -184,14 +190,16 @@ void guac_rdp_bitmap_setsurface(rdpContext* context, rdpBitmap* bitmap, BOOL pri
} }
return TRUE;
} }
#ifdef LEGACY_RDPBITMAP #ifdef LEGACY_RDPBITMAP
void guac_rdp_bitmap_decompress(rdpContext* context, rdpBitmap* bitmap, UINT8* data, void guac_rdp_bitmap_decompress(rdpContext* context, rdpBitmap* bitmap, UINT8* data,
int width, int height, int bpp, int length, BOOL compressed) { int width, int height, int bpp, int length, BOOL compressed) {
#else #else
void guac_rdp_bitmap_decompress(rdpContext* context, rdpBitmap* bitmap, UINT8* data, BOOL guac_rdp_bitmap_decompress(rdpContext* context, rdpBitmap* bitmap, const BYTE* data,
int width, int height, int bpp, int length, BOOL compressed, int codec_id) { UINT32 width, UINT32 height, UINT32 bpp, UINT32 length, BOOL compressed, UINT32 codec_id) {
#endif #endif
int size = width * height * 4; int size = width * height * 4;

View File

@ -67,7 +67,7 @@ typedef struct guac_rdp_bitmap {
* @param bitmap * @param bitmap
* The bitmap to cache. * The bitmap to cache.
*/ */
void guac_rdp_cache_bitmap(rdpContext* context, rdpBitmap* bitmap); BOOL guac_rdp_cache_bitmap(rdpContext* context, rdpBitmap* bitmap);
/** /**
* Initializes the given newly-created rdpBitmap. * Initializes the given newly-created rdpBitmap.
@ -78,7 +78,7 @@ void guac_rdp_cache_bitmap(rdpContext* context, rdpBitmap* bitmap);
* @param bitmap * @param bitmap
* The bitmap to initialize. * The bitmap to initialize.
*/ */
void guac_rdp_bitmap_new(rdpContext* context, rdpBitmap* bitmap); BOOL guac_rdp_bitmap_new(rdpContext* context, rdpBitmap* bitmap);
/** /**
* Paints the given rdpBitmap on the primary display surface. Note that this * Paints the given rdpBitmap on the primary display surface. Note that this
@ -93,7 +93,7 @@ void guac_rdp_bitmap_new(rdpContext* context, rdpBitmap* bitmap);
* the paint operation to perform, including the destination X/Y * the paint operation to perform, including the destination X/Y
* coordinates. * coordinates.
*/ */
void guac_rdp_bitmap_paint(rdpContext* context, rdpBitmap* bitmap); BOOL guac_rdp_bitmap_paint(rdpContext* context, rdpBitmap* bitmap);
/** /**
* Frees any Guacamole-specific data associated with the given rdpBitmap. * Frees any Guacamole-specific data associated with the given rdpBitmap.
@ -123,7 +123,7 @@ void guac_rdp_bitmap_free(rdpContext* context, rdpBitmap* bitmap);
* surface should be reset to the primary drawing surface of the remote * surface should be reset to the primary drawing surface of the remote
* display, FALSE otherwise. * display, FALSE otherwise.
*/ */
void guac_rdp_bitmap_setsurface(rdpContext* context, rdpBitmap* bitmap, BOOL guac_rdp_bitmap_setsurface(rdpContext* context, rdpBitmap* bitmap,
BOOL primary); BOOL primary);
#ifdef LEGACY_RDPBITMAP #ifdef LEGACY_RDPBITMAP
@ -195,9 +195,9 @@ void guac_rdp_bitmap_decompress(rdpContext* context, rdpBitmap* bitmap,
* The ID of the codec used to compress the image data. This parameter is * The ID of the codec used to compress the image data. This parameter is
* currently ignored. * currently ignored.
*/ */
void guac_rdp_bitmap_decompress(rdpContext* context, rdpBitmap* bitmap, BOOL guac_rdp_bitmap_decompress(rdpContext* context, rdpBitmap* bitmap,
UINT8* data, int width, int height, int bpp, int length, const BYTE* data, UINT32 width, UINT32 height, UINT32 bpp, UINT32 length,
BOOL compressed, int codec_id); BOOL compressed, UINT32 codec_id);
#endif #endif
#endif #endif

View File

@ -345,6 +345,7 @@ void guac_rdp_gdi_opaquerect(rdpContext* context, OPAQUE_RECT_ORDER* opaque_rect
} }
#if 0
/** /**
* Updates the palette within a FreeRDP CLRCONV object using the new palette * Updates the palette within a FreeRDP CLRCONV object using the new palette
* entries provided by an RDP palette update. * entries provided by an RDP palette update.
@ -368,6 +369,7 @@ static void guac_rdp_update_clrconv(CLRCONV* clrconv,
#endif #endif
} }
#endif
/** /**
* Updates a raw ARGB32 palette using the new palette entries provided by an * Updates a raw ARGB32 palette using the new palette entries provided by an
@ -402,14 +404,14 @@ static void guac_rdp_update_palette(UINT32* guac_palette,
} }
void guac_rdp_gdi_palette_update(rdpContext* context, PALETTE_UPDATE* palette) { void guac_rdp_gdi_palette_update(rdpContext* context, PALETTE_UPDATE* palette) {
#if 0
CLRCONV* clrconv = ((rdp_freerdp_context*) context)->clrconv; CLRCONV* clrconv = ((rdp_freerdp_context*) context)->clrconv;
UINT32* guac_palette = ((rdp_freerdp_context*) context)->palette; UINT32* guac_palette = ((rdp_freerdp_context*) context)->palette;
/* Update internal palette representations */ /* Update internal palette representations */
guac_rdp_update_clrconv(clrconv, palette); guac_rdp_update_clrconv(clrconv, palette);
guac_rdp_update_palette(guac_palette, palette); guac_rdp_update_palette(guac_palette, palette);
#endif
} }
void guac_rdp_gdi_set_bounds(rdpContext* context, rdpBounds* bounds) { void guac_rdp_gdi_set_bounds(rdpContext* context, rdpBounds* bounds) {

View File

@ -44,7 +44,7 @@
#define cairo_format_stride_for_width(format, width) (width*4) #define cairo_format_stride_for_width(format, width) (width*4)
#endif #endif
void guac_rdp_glyph_new(rdpContext* context, rdpGlyph* glyph) { BOOL guac_rdp_glyph_new(rdpContext* context, const rdpGlyph* glyph) {
int x, y, i; int x, y, i;
int stride; int stride;
@ -95,9 +95,13 @@ void guac_rdp_glyph_new(rdpContext* context, rdpGlyph* glyph) {
((guac_rdp_glyph*) glyph)->surface = cairo_image_surface_create_for_data( ((guac_rdp_glyph*) glyph)->surface = cairo_image_surface_create_for_data(
image_buffer, CAIRO_FORMAT_ARGB32, width, height, stride); image_buffer, CAIRO_FORMAT_ARGB32, width, height, stride);
return TRUE;
} }
void guac_rdp_glyph_draw(rdpContext* context, rdpGlyph* glyph, int x, int y) { BOOL guac_rdp_glyph_draw(rdpContext* context, const rdpGlyph* glyph,
UINT32 x, UINT32 y, UINT32 w, UINT32 h, UINT32 sx, UINT32 sy,
BOOL redundant);
guac_client* client = ((rdp_freerdp_context*) context)->client; guac_client* client = ((rdp_freerdp_context*) context)->client;
guac_rdp_client* rdp_client = (guac_rdp_client*) client->data; guac_rdp_client* rdp_client = (guac_rdp_client*) client->data;
@ -110,6 +114,8 @@ void guac_rdp_glyph_draw(rdpContext* context, rdpGlyph* glyph, int x, int y) {
(fgcolor & 0x00FF00) >> 8, (fgcolor & 0x00FF00) >> 8,
fgcolor & 0x0000FF); fgcolor & 0x0000FF);
return TRUE;
} }
void guac_rdp_glyph_free(rdpContext* context, rdpGlyph* glyph) { void guac_rdp_glyph_free(rdpContext* context, rdpGlyph* glyph) {
@ -123,8 +129,8 @@ void guac_rdp_glyph_free(rdpContext* context, rdpGlyph* glyph) {
} }
void guac_rdp_glyph_begindraw(rdpContext* context, BOOL guac_rdp_glyph_begindraw(rdpContext* context,
int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor) { UINT32 x, UINT32 y, UINT32 width, UINT32 height, UINT32 fgcolor, UINT32 bgcolor, BOOL redundant) {
guac_client* client = ((rdp_freerdp_context*) context)->client; guac_client* client = ((rdp_freerdp_context*) context)->client;
guac_rdp_client* rdp_client = guac_rdp_client* rdp_client =
@ -148,10 +154,13 @@ void guac_rdp_glyph_begindraw(rdpContext* context,
/* Convert foreground color */ /* Convert foreground color */
rdp_client->glyph_color = guac_rdp_convert_color(context, fgcolor); rdp_client->glyph_color = guac_rdp_convert_color(context, fgcolor);
return TRUE;
} }
void guac_rdp_glyph_enddraw(rdpContext* context, BOOL guac_rdp_glyph_enddraw(rdpContext* context,
int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor) { UINT32 x, UINT32 y, UINT32 width, UINT32 height, UINT32 fgcolor, UINT32 bgcolor) {
/* IGNORE */ /* IGNORE */
return TRUE;
} }

View File

@ -59,7 +59,7 @@ typedef struct guac_rdp_glyph {
* @param glyph * @param glyph
* The glyph to cache. * The glyph to cache.
*/ */
void guac_rdp_glyph_new(rdpContext* context, rdpGlyph* glyph); BOOL guac_rdp_glyph_new(rdpContext* context, const rdpGlyph* glyph);
/** /**
* Draws a previously-cached glyph at the given coordinates within the current * Draws a previously-cached glyph at the given coordinates within the current
@ -77,7 +77,9 @@ void guac_rdp_glyph_new(rdpContext* context, rdpGlyph* glyph);
* @param y * @param y
* The destination Y coordinate of the upper-left corner of the glyph. * The destination Y coordinate of the upper-left corner of the glyph.
*/ */
void guac_rdp_glyph_draw(rdpContext* context, rdpGlyph* glyph, int x, int y); BOOL guac_rdp_glyph_draw(rdpContext* context, const rdpGlyph* glyph,
UINT32 x, UINT32 y, UINT32 w, UINT32 h, UINT32 sx, UINT32 sy,
BOOL redundant);
/** /**
* Frees any Guacamole-specific data associated with the given glyph, such that * Frees any Guacamole-specific data associated with the given glyph, such that
@ -126,8 +128,8 @@ void guac_rdp_glyph_free(rdpContext* context, rdpGlyph* glyph);
* be translated via guac_rdp_convert_color(). If the background is * be translated via guac_rdp_convert_color(). If the background is
* transparent, this value is undefined. * transparent, this value is undefined.
*/ */
void guac_rdp_glyph_begindraw(rdpContext* context, BOOL guac_rdp_glyph_begindraw(rdpContext* context,
int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor); UINT32 x, UINT32 y, UINT32 width, UINT32 height, UINT32 fgcolor, UINT32 bgcolor, BOOL redundant);
/** /**
* Called immediately after rendering a series of glyphs. Unlike * Called immediately after rendering a series of glyphs. Unlike
@ -163,7 +165,7 @@ void guac_rdp_glyph_begindraw(rdpContext* context,
* be translated via guac_rdp_convert_color(). If the background is * be translated via guac_rdp_convert_color(). If the background is
* transparent, this value is undefined. * transparent, this value is undefined.
*/ */
void guac_rdp_glyph_enddraw(rdpContext* context, BOOL guac_rdp_glyph_enddraw(rdpContext* context,
int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor); UINT32 x, UINT32 y, UINT32 width, UINT32 height, UINT32 fgcolor, UINT32 bgcolor);
#endif #endif

View File

@ -93,11 +93,13 @@ void guac_rdp_pointer_free(rdpContext* context, rdpPointer* pointer) {
} }
void guac_rdp_pointer_set_null(rdpContext* context) { BOOL guac_rdp_pointer_set_null(rdpContext* context) {
/* STUB */ /* STUB */
return TRUE;
} }
void guac_rdp_pointer_set_default(rdpContext* context) { BOOL guac_rdp_pointer_set_default(rdpContext* context) {
/* STUB */ /* STUB */
return TRUE;
} }

View File

@ -85,7 +85,7 @@ void guac_rdp_pointer_free(rdpContext* context, rdpPointer* pointer);
* @param context * @param context
* The rdpContext associated with the current RDP session. * The rdpContext associated with the current RDP session.
*/ */
void guac_rdp_pointer_set_null(rdpContext* context); BOOL guac_rdp_pointer_set_null(rdpContext* context);
/** /**
* Sets the system-dependent (as in dependent on the client system) default * Sets the system-dependent (as in dependent on the client system) default
@ -94,6 +94,6 @@ void guac_rdp_pointer_set_null(rdpContext* context);
* @param context * @param context
* The rdpContext associated with the current RDP session. * The rdpContext associated with the current RDP session.
*/ */
void guac_rdp_pointer_set_default(rdpContext* context); BOOL guac_rdp_pointer_set_default(rdpContext* context);
#endif #endif

View File

@ -23,7 +23,9 @@
#include "config.h" #include "config.h"
#include "common/json.h" #include "common/json.h"
#if 0
#include "rdp_svc.h" #include "rdp_svc.h"
#endif
#include <guacamole/user.h> #include <guacamole/user.h>
#include <guacamole/protocol.h> #include <guacamole/protocol.h>
@ -150,10 +152,12 @@ typedef struct guac_rdp_stream {
*/ */
guac_rdp_ls_status ls_status; guac_rdp_ls_status ls_status;
#if 0
/** /**
* Associated SVC instance. Only valid for GUAC_RDP_INBOUND_SVC_STREAM. * Associated SVC instance. Only valid for GUAC_RDP_INBOUND_SVC_STREAM.
*/ */
guac_rdp_svc* svc; guac_rdp_svc* svc;
#endif
} guac_rdp_stream; } guac_rdp_stream;

View File

@ -26,7 +26,9 @@
#include "rdp.h" #include "rdp.h"
#include "rdp_settings.h" #include "rdp_settings.h"
#include "rdp_stream.h" #include "rdp_stream.h"
#if 0
#include "rdp_svc.h" #include "rdp_svc.h"
#endif
#ifdef ENABLE_COMMON_SSH #ifdef ENABLE_COMMON_SSH
#include "sftp.h" #include "sftp.h"
@ -85,8 +87,10 @@ int guac_rdp_user_join_handler(guac_user* user, int argc, char** argv) {
if (rdp_client->audio) if (rdp_client->audio)
guac_audio_stream_add_user(rdp_client->audio, user); guac_audio_stream_add_user(rdp_client->audio, user);
#if 0
/* Bring user up to date with any registered static channels */ /* Bring user up to date with any registered static channels */
guac_rdp_svc_send_pipes(user); guac_rdp_svc_send_pipes(user);
#endif
/* Synchronize with current display */ /* Synchronize with current display */
guac_common_display_dup(rdp_client->display, user, user->socket); guac_common_display_dup(rdp_client->display, user, user->socket);
@ -108,8 +112,10 @@ int guac_rdp_user_join_handler(guac_user* user, int argc, char** argv) {
/* Set generic (non-filesystem) file upload handler */ /* Set generic (non-filesystem) file upload handler */
user->file_handler = guac_rdp_user_file_handler; user->file_handler = guac_rdp_user_file_handler;
#if 0
/* Inbound arbitrary named pipes */ /* Inbound arbitrary named pipes */
user->pipe_handler = guac_rdp_svc_pipe_handler; user->pipe_handler = guac_rdp_svc_pipe_handler;
#endif
} }