device: renew dhcp leases on awake for software devices
[NetworkManager.git] / libnm / nm-vpn-editor.c
1 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /*
3  * This library is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU Lesser General Public
5  * License as published by the Free Software Foundation; either
6  * version 2 of the License, or (at your option) any later version.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11  * Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public
14  * License along with this library; if not, write to the
15  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16  * Boston, MA 02110-1301 USA.
17  *
18  * Copyright 2008 - 2010 Red Hat, Inc.
19  * Copyright 2008 Novell, Inc.
20  */
21
22 #include "nm-default.h"
23
24 #include "nm-vpn-editor.h"
25
26 static void nm_vpn_editor_default_init (NMVpnEditorInterface *iface);
27
28 G_DEFINE_INTERFACE (NMVpnEditor, nm_vpn_editor, G_TYPE_OBJECT)
29
30 static void
31 nm_vpn_editor_default_init (NMVpnEditorInterface *iface)
32 {
33         GType iface_type = G_TYPE_FROM_INTERFACE (iface);
34
35         /* Signals */
36         g_signal_new ("changed",
37                       iface_type,
38                       G_SIGNAL_RUN_FIRST,
39                       G_STRUCT_OFFSET (NMVpnEditorInterface, changed),
40                       NULL, NULL,
41                       g_cclosure_marshal_VOID__VOID,
42                       G_TYPE_NONE, 0);
43 }
44
45 /**
46  * nm_vpn_editor_get_widget:
47  * @editor: the #NMVpnEditor
48  *
49  * Returns: (transfer none):
50  */
51 GObject *
52 nm_vpn_editor_get_widget (NMVpnEditor *editor)
53 {
54         g_return_val_if_fail (NM_IS_VPN_EDITOR (editor), NULL);
55
56         return NM_VPN_EDITOR_GET_INTERFACE (editor)->get_widget (editor);
57 }
58
59 gboolean
60 nm_vpn_editor_update_connection (NMVpnEditor *editor,
61                                  NMConnection *connection,
62                                  GError **error)
63 {
64         g_return_val_if_fail (NM_IS_VPN_EDITOR (editor), FALSE);
65
66         if (error)
67                 g_return_val_if_fail (*error == NULL, FALSE);
68
69         return NM_VPN_EDITOR_GET_INTERFACE (editor)->update_connection (editor, connection, error);
70 }