2007-09-13 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-vpn-manager.h libnm-glib/nm-vpn-manager.c - (nm_vpn_manager_connect): take routes as a GSList, not a char ** git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2803 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2007-09-13 Dan Williams <dcbw@redhat.com>
|
||||||
|
|
||||||
|
* libnm-glib/nm-vpn-manager.h
|
||||||
|
libnm-glib/nm-vpn-manager.c
|
||||||
|
- (nm_vpn_manager_connect): take routes as a GSList, not a char **
|
||||||
|
|
||||||
2007-09-13 Dan Williams <dcbw@redhat.com>
|
2007-09-13 Dan Williams <dcbw@redhat.com>
|
||||||
|
|
||||||
* src/nm-device-802-3-ethernet.c
|
* src/nm-device-802-3-ethernet.c
|
||||||
|
@@ -41,10 +41,13 @@ nm_vpn_manager_connect (NMVPNManager *manager,
|
|||||||
const char *name,
|
const char *name,
|
||||||
GHashTable *properties,
|
GHashTable *properties,
|
||||||
NMDevice *device,
|
NMDevice *device,
|
||||||
char **routes)
|
GSList *routes)
|
||||||
{
|
{
|
||||||
char *connection_path = NULL;
|
char *connection_path = NULL;
|
||||||
GError *err = NULL;
|
GError *err = NULL;
|
||||||
|
char **routes_array = NULL;
|
||||||
|
GSList *elt;
|
||||||
|
int i, size;
|
||||||
|
|
||||||
g_return_val_if_fail (NM_IS_VPN_MANAGER (manager), NULL);
|
g_return_val_if_fail (NM_IS_VPN_MANAGER (manager), NULL);
|
||||||
g_return_val_if_fail (type != NULL, NULL);
|
g_return_val_if_fail (type != NULL, NULL);
|
||||||
@@ -52,18 +55,30 @@ nm_vpn_manager_connect (NMVPNManager *manager,
|
|||||||
g_return_val_if_fail (properties != NULL, NULL);
|
g_return_val_if_fail (properties != NULL, NULL);
|
||||||
g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
|
g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
|
||||||
|
|
||||||
|
size = sizeof (char *) * (g_slist_length (routes) + 1);
|
||||||
|
routes_array = g_slice_alloc0 (size);
|
||||||
|
if (!routes_array) {
|
||||||
|
g_warning ("Couldn't allocate string list.");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (elt = routes, i = 0; elt; elt = g_slist_next (elt))
|
||||||
|
routes_array[i++] = elt->data;
|
||||||
|
|
||||||
if (!org_freedesktop_NetworkManager_VPN_Manager_connect (NM_VPN_MANAGER_GET_PRIVATE (manager)->manager_proxy,
|
if (!org_freedesktop_NetworkManager_VPN_Manager_connect (NM_VPN_MANAGER_GET_PRIVATE (manager)->manager_proxy,
|
||||||
type, name,
|
type, name,
|
||||||
properties,
|
properties,
|
||||||
nm_object_get_path (NM_OBJECT (device)),
|
nm_object_get_path (NM_OBJECT (device)),
|
||||||
routes,
|
(const char **) routes_array,
|
||||||
&connection_path,
|
&connection_path,
|
||||||
&err)) {
|
&err)) {
|
||||||
g_warning ("Error in VPN Connect: %s", err->message);
|
g_warning ("Error in VPN Connect: %s", err->message);
|
||||||
g_error_free (err);
|
g_error_free (err);
|
||||||
|
g_slice_free1 (size, routes_array);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_slice_free1 (size, routes_array);
|
||||||
return nm_vpn_connection_new (nm_object_get_connection (NM_OBJECT (manager)), connection_path);
|
return nm_vpn_connection_new (nm_object_get_connection (NM_OBJECT (manager)), connection_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -38,7 +38,7 @@ NMVPNConnection *nm_vpn_manager_connect (NMVPNManager *manager,
|
|||||||
const char *name,
|
const char *name,
|
||||||
GHashTable *properties,
|
GHashTable *properties,
|
||||||
NMDevice *device,
|
NMDevice *device,
|
||||||
char **routes);
|
GSList *routes);
|
||||||
|
|
||||||
GSList *nm_vpn_manager_get_connections (NMVPNManager *manager);
|
GSList *nm_vpn_manager_get_connections (NMVPNManager *manager);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user