NMVpnEditor * nm_vpnc_editor_new (NMConnection *connection, GError **error) { NMVpnEditor *object; VpncEditorPrivate *priv; char *ui_file; NMSettingVpn *s_vpn; gboolean is_new = TRUE; if (error) g_return_val_if_fail (*error == NULL, NULL); object = g_object_new (VPNC_TYPE_EDITOR, NULL); if (!object) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, NMV_EDITOR_PLUGIN_ERROR_FAILED, "could not create vpnc object"); return NULL; } priv = VPNC_EDITOR_GET_PRIVATE (object); ui_file = g_strdup_printf ("%s/%s", UIDIR, "nm-vpnc-dialog.ui"); priv->builder = gtk_builder_new (); gtk_builder_set_translation_domain (priv->builder, GETTEXT_PACKAGE); if (!gtk_builder_add_from_file (priv->builder, ui_file, error)) { g_warning ("Couldn't load builder file: %s", error && *error ? (*error)->message : "(unknown)"); g_clear_error (error); g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, NMV_EDITOR_PLUGIN_ERROR_FAILED, "could not load required resources at %s", ui_file); g_free (ui_file); g_object_unref (object); return NULL; } g_free (ui_file); priv->widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "vpnc-vbox")); if (!priv->widget) { g_set_error (error, NMV_EDITOR_PLUGIN_ERROR, NMV_EDITOR_PLUGIN_ERROR_FAILED, "could not load UI widget"); g_object_unref (object); return NULL; } g_object_ref_sink (priv->widget); s_vpn = nm_connection_get_setting_vpn (connection); if (s_vpn) nm_setting_vpn_foreach_data_item (s_vpn, is_new_func, &is_new); if (!init_plugin_ui (VPNC_EDITOR (object), connection, is_new, error)) { g_object_unref (object); return NULL; } return object; }
static NMVpnPluginUiWidgetInterface * nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error) { NMVpnPluginUiWidgetInterface *object; OpenswanPluginUiWidgetPrivate *priv; char *ui_file; NMSettingVPN *s_vpn; gboolean is_new = TRUE; if (error) g_return_val_if_fail (*error == NULL, NULL); object = NM_VPN_PLUGIN_UI_WIDGET_INTERFACE (g_object_new (OPENSWAN_TYPE_PLUGIN_UI_WIDGET, NULL)); if (!object) { g_set_error (error, OPENSWAN_PLUGIN_UI_ERROR, 0, "could not create openswan object"); return NULL; } priv = OPENSWAN_PLUGIN_UI_WIDGET_GET_PRIVATE (object); ui_file = g_strdup_printf ("%s/%s", UIDIR, "nm-openswan-dialog.ui"); priv->builder = gtk_builder_new (); g_assert (priv->builder); gtk_builder_set_translation_domain (priv->builder, GETTEXT_PACKAGE); if (!gtk_builder_add_from_file (priv->builder, ui_file, error)) { g_warning ("Couldn't load builder file: %s", error && *error ? (*error)->message : "(unknown)"); g_clear_error (error); g_set_error (error, OPENSWAN_PLUGIN_UI_ERROR, 0, "could not load required resources at %s", ui_file); g_free (ui_file); g_object_unref (object); return NULL; } g_free (ui_file); priv->widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "openswan-vbox")); if (!priv->widget) { g_set_error (error, OPENSWAN_PLUGIN_UI_ERROR, 0, "could not load UI widget"); g_object_unref (object); return NULL; } g_object_ref_sink (priv->widget); s_vpn = nm_connection_get_setting_vpn (connection); if (s_vpn) nm_setting_vpn_foreach_data_item (s_vpn, is_new_func, &is_new); if (!init_plugin_ui (OPENSWAN_PLUGIN_UI_WIDGET (object), connection, is_new, error)) { g_object_unref (object); return NULL; } return object; }
static NMVpnPluginUiWidgetInterface * nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error) { NMVpnPluginUiWidgetInterface *object; L2tpPluginUiWidgetPrivate *priv; char *glade_file; if (error) g_return_val_if_fail (*error == NULL, NULL); object = NM_VPN_PLUGIN_UI_WIDGET_INTERFACE (g_object_new (L2TP_TYPE_PLUGIN_UI_WIDGET, NULL)); if (!object) { g_set_error (error, L2TP_PLUGIN_UI_ERROR, 0, "could not create l2tp object"); return NULL; } priv = L2TP_PLUGIN_UI_WIDGET_GET_PRIVATE (object); glade_file = g_strdup_printf ("%s/%s", GLADEDIR, "nm-l2tp-dialog.glade"); priv->xml = glade_xml_new (glade_file, "l2tp-vbox", GETTEXT_PACKAGE); if (priv->xml == NULL) { g_set_error (error, L2TP_PLUGIN_UI_ERROR, 0, "could not load required resources at %s", glade_file); g_free (glade_file); g_object_unref (object); return NULL; } g_free (glade_file); priv->widget = glade_xml_get_widget (priv->xml, "l2tp-vbox"); if (!priv->widget) { g_set_error (error, L2TP_PLUGIN_UI_ERROR, 0, "could not load UI widget"); g_object_unref (object); return NULL; } g_object_ref_sink (priv->widget); priv->window_group = gtk_window_group_new (); if (!init_plugin_ui (L2TP_PLUGIN_UI_WIDGET (object), connection, error)) { g_object_unref (object); return NULL; } priv->advanced = advanced_dialog_new_hash_from_connection (connection, error); if (!priv->advanced) { g_object_unref (object); return NULL; } return object; }
static NMVpnPluginUiWidgetInterface * nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error) { NMVpnPluginUiWidgetInterface *object; StrongswanPluginUiWidgetPrivate *priv; char *ui_file; if (error) g_return_val_if_fail (*error == NULL, NULL); object = NM_VPN_PLUGIN_UI_WIDGET_INTERFACE (g_object_new (STRONGSWAN_TYPE_PLUGIN_UI_WIDGET, NULL)); if (!object) { g_set_error (error, STRONGSWAN_PLUGIN_UI_ERROR, 0, "could not create strongswan object"); return NULL; } priv = STRONGSWAN_PLUGIN_UI_WIDGET_GET_PRIVATE (object); ui_file = g_strdup_printf ("%s/%s", UIDIR, "nm-strongswan-dialog.ui"); priv->builder = gtk_builder_new (); gtk_builder_set_translation_domain (priv->builder, GETTEXT_PACKAGE); if (!gtk_builder_add_from_file (priv->builder, ui_file, error)) { g_warning ("Couldn't load builder file: %s", error && *error ? (*error)->message : "(unknown)"); g_clear_error (error); g_set_error (error, STRONGSWAN_PLUGIN_UI_ERROR, 0, "could not load required resources at %s", ui_file); g_free (ui_file); g_object_unref (object); return NULL; } g_free (ui_file); priv->widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "strongswan-vbox") ); if (!priv->widget) { g_set_error (error, STRONGSWAN_PLUGIN_UI_ERROR, 0, "could not load UI widget"); g_object_unref (object); return NULL; } g_object_ref_sink (priv->widget); if (!init_plugin_ui (STRONGSWAN_PLUGIN_UI_WIDGET (object), connection, error)) { g_object_unref (object); return NULL; } return object; }