From f43591068fb682b1900ab12e6986370787f11c0a Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 17 Jul 2013 10:48:41 -0700 Subject: [PATCH] Change plugin name to guacsnd, remove use of DEFINE_SVC_PLUGIN. --- src/protocols/rdp/client.c | 4 +-- .../rdp/guac_rdpsnd/rdpsnd_service.c | 27 ++++++++++++++++--- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/protocols/rdp/client.c b/src/protocols/rdp/client.c index 5e2e5a6e..8209161f 100644 --- a/src/protocols/rdp/client.c +++ b/src/protocols/rdp/client.c @@ -174,9 +174,9 @@ boolean rdp_freerdp_pre_connect(freerdp* instance) { /* Load sound plugin */ if (freerdp_channels_load_plugin(channels, instance->settings, - "guac_rdpsnd", guac_client_data->audio)) + "guacsnd", guac_client_data->audio)) guac_client_log_error(client, - "Failed to load guac_rdpsnd plugin."); + "Failed to load guacsnd plugin."); } else diff --git a/src/protocols/rdp/guac_rdpsnd/rdpsnd_service.c b/src/protocols/rdp/guac_rdpsnd/rdpsnd_service.c index b37024f0..0d765f16 100644 --- a/src/protocols/rdp/guac_rdpsnd/rdpsnd_service.c +++ b/src/protocols/rdp/guac_rdpsnd/rdpsnd_service.c @@ -56,12 +56,31 @@ #include "rdpsnd_service.h" #include "rdpsnd_messages.h" +/** + * Entry point for RDPSND virtual channel. + */ +int VirtualChannelEntry(PCHANNEL_ENTRY_POINTS pEntryPoints) { -/* Define service, associate with "rdpsnd" channel */ + /* Allocate plugin */ + guac_rdpsndPlugin* rdpsnd = + (guac_rdpsndPlugin*) calloc(1, sizeof(guac_rdpsndPlugin)); -DEFINE_SVC_PLUGIN(guac_rdpsnd, "rdpsnd", - CHANNEL_OPTION_INITIALIZED | CHANNEL_OPTION_ENCRYPT_RDP) + /* Init channel def */ + strcpy(rdpsnd->plugin.channel_def.name, "guacsnd"); + rdpsnd->plugin.channel_def.options = + CHANNEL_OPTION_INITIALIZED | CHANNEL_OPTION_ENCRYPT_RDP; + /* Set callbacks */ + rdpsnd->plugin.connect_callback = guac_rdpsnd_process_connect; + rdpsnd->plugin.receive_callback = guac_rdpsnd_process_receive; + rdpsnd->plugin.event_callback = guac_rdpsnd_process_event; + rdpsnd->plugin.terminate_callback = guac_rdpsnd_process_terminate; + + /* Finish init */ + svc_plugin_init((rdpSvcPlugin*) rdpsnd, pEntryPoints); + return 1; + +} /* * Service Handlers @@ -77,7 +96,7 @@ void guac_rdpsnd_process_connect(rdpSvcPlugin* plugin) { plugin->interval_ms = 10; /* Log that sound has been loaded */ - guac_client_log_info(audio->client, "guac_rdpsnd connected."); + guac_client_log_info(audio->client, "guacsnd connected."); }