예제 #1
0
파일: client.c 프로젝트: kdienes/FreeRDP
/**
 * this is called when processing the command line parameters
 * called only from main thread
 */
int freerdp_channels_load_plugin(rdpChannels* channels, rdpSettings* settings, const char* name,
                                 void* data)
{
	PVIRTUALCHANNELENTRY entry;
	entry = freerdp_load_channel_addin_entry(name, NULL, NULL, FREERDP_ADDIN_CHANNEL_STATIC);

	if (!entry)
		return 1;

	return freerdp_channels_client_load(channels, settings, entry, data);
}
예제 #2
0
파일: channels.c 프로젝트: d0rian/FreeRDP
/**
 * this is called when processing the command line parameters
 * called only from main thread
 */
int freerdp_channels_load_plugin(rdpChannels* channels, rdpSettings* settings, const char* name, void* data)
{
	void* entry;

	DEBUG_CHANNELS("%s", name);

	entry = (PVIRTUALCHANNELENTRY) freerdp_load_channel_addin_entry(name, NULL, NULL, FREERDP_ADDIN_CHANNEL_STATIC);

	if (entry == NULL)
	{
		DEBUG_CHANNELS("failed to find export function");
		return 1;
	}

	return freerdp_channels_client_load(channels, settings, entry, data);
}
예제 #3
0
파일: rdp_plugin.c 프로젝트: posixx/Remmina
gboolean remmina_rdp_load_plugin(rdpChannels* channels, rdpSettings* settings, const char* name, RDP_PLUGIN_DATA* plugin_data)
{
    void* entry = NULL;

    entry = freerdp_channels_client_find_static_entry("VirtualChannelEntry", name);

    if (entry)
    {
        if (freerdp_channels_client_load(channels, settings, entry, plugin_data) == 0)
        {
            g_printf("loading channel %s (static)\n", name);
            return TRUE;
        }
    }

    g_printf("loading channel %s (plugin)\n", name);
    freerdp_channels_load_plugin(channels, settings, name, plugin_data);

    return TRUE;
}
예제 #4
0
파일: wfreerdp.c 프로젝트: NiKiZe/FreeRDP
int wf_process_plugin_args(rdpSettings* settings, const char* name, RDP_PLUGIN_DATA* plugin_data, void* user_data)
{
	void* entry = NULL;
	rdpChannels* channels = (rdpChannels*) user_data;

	entry = freerdp_channels_client_find_static_entry("VirtualChannelEntry", name);

	if (entry)
	{
		if (freerdp_channels_client_load(channels, settings, entry, plugin_data) == 0)
		{
			printf("loading channel %s (static)\n", name);
			return 1;
		}
	}

	printf("loading channel %s (plugin)\n", name);
	freerdp_channels_load_plugin(channels, settings, name, plugin_data);

	return 1;
}
예제 #5
0
int remmina_rdp_load_static_channel_addin(rdpChannels* channels, rdpSettings* settings, char* name, void* data)
{
	void* entry;

	entry = freerdp_load_channel_addin_entry(name, NULL, NULL, FREERDP_ADDIN_CHANNEL_STATIC);




	if (entry)
	{

		if (freerdp_channels_client_load(channels, settings, entry, data) == 0)
		{
			fprintf(stderr, "loading channel %s\n", name);
			return 0;
		}
	}

	return -1;
}