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>
|
||||
|
||||
* src/nm-device-802-3-ethernet.c
|
||||
|
@@ -41,10 +41,13 @@ nm_vpn_manager_connect (NMVPNManager *manager,
|
||||
const char *name,
|
||||
GHashTable *properties,
|
||||
NMDevice *device,
|
||||
char **routes)
|
||||
GSList *routes)
|
||||
{
|
||||
char *connection_path = 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 (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 (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,
|
||||
type, name,
|
||||
properties,
|
||||
nm_object_get_path (NM_OBJECT (device)),
|
||||
routes,
|
||||
(const char **) routes_array,
|
||||
&connection_path,
|
||||
&err)) {
|
||||
g_warning ("Error in VPN Connect: %s", err->message);
|
||||
g_error_free (err);
|
||||
g_slice_free1 (size, routes_array);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
g_slice_free1 (size, routes_array);
|
||||
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,
|
||||
GHashTable *properties,
|
||||
NMDevice *device,
|
||||
char **routes);
|
||||
GSList *routes);
|
||||
|
||||
GSList *nm_vpn_manager_get_connections (NMVPNManager *manager);
|
||||
|
||||
|
Reference in New Issue
Block a user