Remmina - The GTK+ Remote Desktop Client  v1.4.19
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 void remmina_plugin_nx_log_callback (const gchar *fmt,...)
 
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 81 of file nx_plugin.c.

◆ onMainThread_cleanup_handler()

static void onMainThread_cleanup_handler ( gpointer  data)
static

Definition at line 99 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 123 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 107 of file nx_plugin.c.

◆ remmina_plugin_entry()

G_MODULE_EXPORT gboolean remmina_plugin_entry ( RemminaPluginService service)

Definition at line 791 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 695 of file nx_plugin.c.

◆ remmina_plugin_nx_close_connection()

static gboolean remmina_plugin_nx_close_connection ( RemminaProtocolWidget gp)
static

Definition at line 641 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 222 of file nx_plugin.c.

◆ remmina_plugin_nx_init()

static void remmina_plugin_nx_init ( RemminaProtocolWidget gp)
static

Definition at line 583 of file nx_plugin.c.

◆ remmina_plugin_nx_log_callback()

static void remmina_plugin_nx_log_callback ( const gchar *  fmt,
  ... 
)
static

Definition at line 311 of file nx_plugin.c.

◆ remmina_plugin_nx_main()

static gboolean remmina_plugin_nx_main ( RemminaProtocolWidget gp)
static

Definition at line 550 of file nx_plugin.c.

◆ remmina_plugin_nx_main_thread()

static gpointer remmina_plugin_nx_main_thread ( gpointer  data)
static

Definition at line 570 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 244 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 183 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 189 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 214 of file nx_plugin.c.

◆ remmina_plugin_nx_open_connection()

static gboolean remmina_plugin_nx_open_connection ( RemminaProtocolWidget gp)
static

Definition at line 609 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 689 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 164 of file nx_plugin.c.

◆ remmina_plugin_nx_send_ctrlaltdel()

static void remmina_plugin_nx_send_ctrlaltdel ( RemminaProtocolWidget gp)
static

Definition at line 679 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 195 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 228 of file nx_plugin.c.

◆ remmina_plugin_nx_start_session()

static gboolean remmina_plugin_nx_start_session ( RemminaProtocolWidget gp)
static

Definition at line 322 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 143 of file nx_plugin.c.

◆ remmina_plugin_nx_wait_signal()

static gint remmina_plugin_nx_wait_signal ( RemminaPluginNxData gpdata)
static

Definition at line 297 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:936

Definition at line 708 of file nx_plugin.c.

◆ remmina_kbtype

gchar* remmina_kbtype = "pc102/us"
static

Definition at line 59 of file nx_plugin.c.

◆ remmina_nx_init_mutex

pthread_mutex_t remmina_nx_init_mutex
static

Definition at line 64 of file nx_plugin.c.

◆ remmina_nx_window_id_array

GArray* remmina_nx_window_id_array
static

Definition at line 65 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,
NULL,
NULL
}
static const RemminaProtocolSetting remmina_plugin_nx_basic_settings[]
Definition: nx_plugin.c:726
static void remmina_plugin_nx_call_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
Definition: nx_plugin.c:695
static const RemminaProtocolSetting remmina_plugin_nx_advanced_settings[]
Definition: nx_plugin.c:747
static gboolean remmina_plugin_nx_open_connection(RemminaProtocolWidget *gp)
Definition: nx_plugin.c:609
static void remmina_plugin_nx_init(RemminaProtocolWidget *gp)
Definition: nx_plugin.c:583
static const RemminaProtocolFeature remmina_plugin_nx_features[]
Definition: nx_plugin.c:758
static gboolean remmina_plugin_nx_close_connection(RemminaProtocolWidget *gp)
Definition: nx_plugin.c:641
static gboolean remmina_plugin_nx_query_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
Definition: nx_plugin.c:689
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:936

Definition at line 55 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:936

Definition at line 747 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_("SSH 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_("Start-up 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:708
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:936

Definition at line 726 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:936

Definition at line 758 of file nx_plugin.c.

◆ remmina_plugin_nx_service

RemminaPluginService* remmina_plugin_nx_service = NULL

Definition at line 57 of file nx_plugin.c.