Remmina - The GTK+ Remote Desktop Client  v1.4.2
Remmina is a remote desktop client written in GTK+, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers in front of either large monitors or tiny netbooks. Remmina supports multiple network protocols in an integrated and consistent user interface. Currently RDP, VNC, NX, XDMCP and SSH are supported.
nx_plugin.c File Reference

Go to the source code of this file.

Data Structures

struct  onMainThread_cb_data
 

Functions

static gboolean onMainThread_cb (struct onMainThread_cb_data *d)
 
static void onMainThread_cleanup_handler (gpointer data)
 
static void onMainThread_schedule_callback_and_wait (struct onMainThread_cb_data *d)
 
static void onMainThread_gtk_socket_add_id (GtkSocket *sk, Window w)
 
static gboolean remmina_plugin_nx_try_window_id (Window window_id)
 
static void remmina_plugin_nx_remove_window_id (Window window_id)
 
static void remmina_plugin_nx_on_plug_added (GtkSocket *socket, RemminaProtocolWidget *gp)
 
static void remmina_plugin_nx_on_plug_removed (GtkSocket *socket, RemminaProtocolWidget *gp)
 
gboolean remmina_plugin_nx_ssh_auth_callback (gchar **passphrase, gpointer userdata)
 
static void remmina_plugin_nx_on_proxy_exit (GPid pid, gint status, gpointer data)
 
static int remmina_plugin_nx_dummy_handler (Display *dsp, XErrorEvent *err)
 
static gboolean remmina_plugin_nx_start_create_notify (RemminaProtocolWidget *gp)
 
static gboolean remmina_plugin_nx_monitor_create_notify (RemminaProtocolWidget *gp, const gchar *cmd)
 
static gint remmina_plugin_nx_wait_signal (RemminaPluginNxData *gpdata)
 
static gboolean remmina_plugin_nx_start_session (RemminaProtocolWidget *gp)
 
static gboolean remmina_plugin_nx_main (RemminaProtocolWidget *gp)
 
static gpointer remmina_plugin_nx_main_thread (gpointer data)
 
static void remmina_plugin_nx_init (RemminaProtocolWidget *gp)
 
static gboolean remmina_plugin_nx_open_connection (RemminaProtocolWidget *gp)
 
static gboolean remmina_plugin_nx_close_connection (RemminaProtocolWidget *gp)
 
static void remmina_plugin_nx_send_ctrlaltdel (RemminaProtocolWidget *gp)
 
static gboolean remmina_plugin_nx_query_feature (RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
 
static void remmina_plugin_nx_call_feature (RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
 
G_MODULE_EXPORT gboolean remmina_plugin_entry (RemminaPluginService *service)
 

Variables

static RemminaProtocolPlugin remmina_plugin_nx
 
RemminaPluginServiceremmina_plugin_nx_service = NULL
 
static gchar * remmina_kbtype = "pc102/us"
 
static pthread_mutex_t remmina_nx_init_mutex
 
static GArray * remmina_nx_window_id_array
 
static gpointer quality_list []
 
static const RemminaProtocolSetting remmina_plugin_nx_basic_settings []
 
static const RemminaProtocolSetting remmina_plugin_nx_advanced_settings []
 
static const RemminaProtocolFeature remmina_plugin_nx_features []
 

Function Documentation

◆ onMainThread_cb()

static gboolean onMainThread_cb ( struct onMainThread_cb_data d)
static

Definition at line 80 of file nx_plugin.c.

◆ onMainThread_cleanup_handler()

static void onMainThread_cleanup_handler ( gpointer  data)
static

Definition at line 98 of file nx_plugin.c.

◆ onMainThread_gtk_socket_add_id()

static void onMainThread_gtk_socket_add_id ( GtkSocket *  sk,
Window  w 
)
static

Definition at line 122 of file nx_plugin.c.

◆ onMainThread_schedule_callback_and_wait()

static void onMainThread_schedule_callback_and_wait ( struct onMainThread_cb_data d)
static

Definition at line 106 of file nx_plugin.c.

◆ remmina_plugin_entry()

G_MODULE_EXPORT gboolean remmina_plugin_entry ( RemminaPluginService service)

Definition at line 777 of file nx_plugin.c.

◆ remmina_plugin_nx_call_feature()

static void remmina_plugin_nx_call_feature ( RemminaProtocolWidget gp,
const RemminaProtocolFeature feature 
)
static

Definition at line 683 of file nx_plugin.c.

◆ remmina_plugin_nx_close_connection()

static gboolean remmina_plugin_nx_close_connection ( RemminaProtocolWidget gp)
static

Definition at line 629 of file nx_plugin.c.

◆ remmina_plugin_nx_dummy_handler()

static int remmina_plugin_nx_dummy_handler ( Display *  dsp,
XErrorEvent *  err 
)
static

Definition at line 221 of file nx_plugin.c.

◆ remmina_plugin_nx_init()

static void remmina_plugin_nx_init ( RemminaProtocolWidget gp)
static

Definition at line 571 of file nx_plugin.c.

◆ remmina_plugin_nx_main()

static gboolean remmina_plugin_nx_main ( RemminaProtocolWidget gp)
static

Definition at line 538 of file nx_plugin.c.

◆ remmina_plugin_nx_main_thread()

static gpointer remmina_plugin_nx_main_thread ( gpointer  data)
static

Definition at line 558 of file nx_plugin.c.

◆ remmina_plugin_nx_monitor_create_notify()

static gboolean remmina_plugin_nx_monitor_create_notify ( RemminaProtocolWidget gp,
const gchar *  cmd 
)
static

Definition at line 243 of file nx_plugin.c.

◆ remmina_plugin_nx_on_plug_added()

static void remmina_plugin_nx_on_plug_added ( GtkSocket *  socket,
RemminaProtocolWidget gp 
)
static

Definition at line 182 of file nx_plugin.c.

◆ remmina_plugin_nx_on_plug_removed()

static void remmina_plugin_nx_on_plug_removed ( GtkSocket *  socket,
RemminaProtocolWidget gp 
)
static

Definition at line 188 of file nx_plugin.c.

◆ remmina_plugin_nx_on_proxy_exit()

static void remmina_plugin_nx_on_proxy_exit ( GPid  pid,
gint  status,
gpointer  data 
)
static

Definition at line 213 of file nx_plugin.c.

◆ remmina_plugin_nx_open_connection()

static gboolean remmina_plugin_nx_open_connection ( RemminaProtocolWidget gp)
static

Definition at line 597 of file nx_plugin.c.

◆ remmina_plugin_nx_query_feature()

static gboolean remmina_plugin_nx_query_feature ( RemminaProtocolWidget gp,
const RemminaProtocolFeature feature 
)
static

Definition at line 677 of file nx_plugin.c.

◆ remmina_plugin_nx_remove_window_id()

static void remmina_plugin_nx_remove_window_id ( Window  window_id)
static

Definition at line 163 of file nx_plugin.c.

◆ remmina_plugin_nx_send_ctrlaltdel()

static void remmina_plugin_nx_send_ctrlaltdel ( RemminaProtocolWidget gp)
static

Definition at line 667 of file nx_plugin.c.

◆ remmina_plugin_nx_ssh_auth_callback()

gboolean remmina_plugin_nx_ssh_auth_callback ( gchar **  passphrase,
gpointer  userdata 
)

Definition at line 194 of file nx_plugin.c.

◆ remmina_plugin_nx_start_create_notify()

static gboolean remmina_plugin_nx_start_create_notify ( RemminaProtocolWidget gp)
static

Definition at line 227 of file nx_plugin.c.

◆ remmina_plugin_nx_start_session()

static gboolean remmina_plugin_nx_start_session ( RemminaProtocolWidget gp)
static

Definition at line 310 of file nx_plugin.c.

◆ remmina_plugin_nx_try_window_id()

static gboolean remmina_plugin_nx_try_window_id ( Window  window_id)
static

Definition at line 142 of file nx_plugin.c.

◆ remmina_plugin_nx_wait_signal()

static gint remmina_plugin_nx_wait_signal ( RemminaPluginNxData gpdata)
static

Definition at line 296 of file nx_plugin.c.

Variable Documentation

◆ quality_list

gpointer quality_list[]
static
Initial value:
=
{
"0", N_("Poor (fastest)"),
"1", N_("Medium"),
"2", N_("Good"),
"9", N_("Best (slowest)"),
NULL
}
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:907

Definition at line 696 of file nx_plugin.c.

◆ remmina_kbtype

gchar* remmina_kbtype = "pc102/us"
static

Definition at line 58 of file nx_plugin.c.

◆ remmina_nx_init_mutex

pthread_mutex_t remmina_nx_init_mutex
static

Definition at line 63 of file nx_plugin.c.

◆ remmina_nx_window_id_array

GArray* remmina_nx_window_id_array
static

Definition at line 64 of file nx_plugin.c.

◆ remmina_plugin_nx

static RemminaProtocolPlugin remmina_plugin_nx
static
Initial value:
=
{
"NX",
N_("NX - NX Technology"),
GETTEXT_PACKAGE,
VERSION,
"remmina-nx-symbolic",
"remmina-nx-symbolic",
NULL,
NULL
}
static const RemminaProtocolSetting remmina_plugin_nx_basic_settings[]
Definition: nx_plugin.c:714
static void remmina_plugin_nx_call_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
Definition: nx_plugin.c:683
static const RemminaProtocolSetting remmina_plugin_nx_advanced_settings[]
Definition: nx_plugin.c:735
static gboolean remmina_plugin_nx_open_connection(RemminaProtocolWidget *gp)
Definition: nx_plugin.c:597
static void remmina_plugin_nx_init(RemminaProtocolWidget *gp)
Definition: nx_plugin.c:571
static const RemminaProtocolFeature remmina_plugin_nx_features[]
Definition: nx_plugin.c:746
static gboolean remmina_plugin_nx_close_connection(RemminaProtocolWidget *gp)
Definition: nx_plugin.c:629
static gboolean remmina_plugin_nx_query_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
Definition: nx_plugin.c:677
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:907

Definition at line 54 of file nx_plugin.c.

◆ remmina_plugin_nx_advanced_settings

const RemminaProtocolSetting remmina_plugin_nx_advanced_settings[]
static
Initial value:
=
{
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "disableclipboard", N_("Disable clipboard sync"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "disableencryption", N_("Disable encryption"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "showcursor", N_("Use local cursor"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "disablepasswordstoring", N_("Forget passwords after use"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_END, NULL, NULL, FALSE, NULL, NULL }
}
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:907

Definition at line 735 of file nx_plugin.c.

◆ remmina_plugin_nx_basic_settings

const RemminaProtocolSetting remmina_plugin_nx_basic_settings[]
static
Initial value:
=
{
{ REMMINA_PROTOCOL_SETTING_TYPE_SERVER, "server", NULL, FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_FILE, "nx_privatekey", N_("Identity file"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "username", N_("Username"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD, "password", N_("User password"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_RESOLUTION, "resolution", NULL, FALSE, GINT_TO_POINTER(1), NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "quality", N_("Quality"), FALSE, quality_list, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_COMBO, "exec", N_("Startup program"), FALSE, "GNOME,KDE,Xfce,Shadow", NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_END, NULL, NULL, FALSE, NULL, NULL }
}
static gpointer quality_list[]
Definition: nx_plugin.c:696
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:907

Definition at line 714 of file nx_plugin.c.

◆ remmina_plugin_nx_features

const RemminaProtocolFeature remmina_plugin_nx_features[]
static
Initial value:
=
{
{ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, REMMINA_PLUGIN_NX_FEATURE_TOOL_SENDCTRLALTDEL, N_("Send Ctrl+Alt+Del"), NULL, NULL },
{ REMMINA_PROTOCOL_FEATURE_TYPE_GTKSOCKET, REMMINA_PLUGIN_NX_FEATURE_GTKSOCKET, NULL, NULL, NULL},
{ REMMINA_PROTOCOL_FEATURE_TYPE_END, 0, NULL, NULL, NULL }
}
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:907

Definition at line 746 of file nx_plugin.c.

◆ remmina_plugin_nx_service

RemminaPluginService* remmina_plugin_nx_service = NULL

Definition at line 56 of file nx_plugin.c.