Exemple #1
0
BOOL devman_load_device_service(DEVMAN* devman, RDP_PLUGIN_DATA* plugin_data)
{
	char* name;
	DEVICE_SERVICE_ENTRY_POINTS ep;
	PDEVICE_SERVICE_ENTRY entry = NULL;

	name = (char*) plugin_data->data[0];
	entry = (PDEVICE_SERVICE_ENTRY) freerdp_channels_client_find_static_entry("DeviceServiceEntry", name);

	if (!entry)
	{
		printf("loading device service %s (plugin)\n", name);
		entry = freerdp_load_plugin(name, "DeviceServiceEntry");
	}
	else
	{
		printf("loading device service %s (static)\n", name);
	}

	if (entry == NULL)
		return FALSE;

	ep.devman = devman;
	ep.RegisterDevice = devman_register_device;
	ep.plugin_data = plugin_data;

	entry(&ep);

	return TRUE;
}
Exemple #2
0
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;
}
Exemple #3
0
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;
}