dundee: Add dundee disconnect function
authorPaulo Borges <paulo.borges@openbossa.org>
Wed, 20 Mar 2013 22:26:41 +0000 (19:26 -0300)
committerDaniel Wagner <daniel.wagner@bmw-carit.de>
Sun, 24 Mar 2013 12:23:10 +0000 (13:23 +0100)
dundee/device.c
dundee/dundee.h

index e5f6424..2d84aaa 100644 (file)
@@ -270,11 +270,13 @@ err:
        device->pending = NULL;
 }
 
-static void disconnect_callback(const struct dundee_error *error, void *data)
+void dundee_device_disconnect(const struct dundee_error *error,
+                                               struct dundee_device *device)
 {
-       struct dundee_device *device = data;
+       if (device == NULL)
+               return;
 
-       DBG("%p", device);
+       DBG("%s", device->path);
 
        g_at_chat_unref(device->chat);
        device->chat = NULL;
@@ -295,6 +297,12 @@ out:
        device->pending = NULL;
 }
 
+static void disconnect_callback(const struct dundee_error *error, void *data)
+{
+       struct dundee_device *device = data;
+       dundee_device_disconnect(error, device);
+}
+
 static gboolean ppp_connect_timeout(gpointer user_data)
 {
        struct dundee_device *device = user_data;
index daf78a5..1889d84 100644 (file)
@@ -130,6 +130,9 @@ struct dundee_device *dundee_device_create(struct dundee_device_driver *d);
 int dundee_device_register(struct dundee_device *device);
 void dundee_device_unregister(struct dundee_device *device);
 
+void dundee_device_disconnect(const struct dundee_error *error,
+                                               struct dundee_device *device);
+
 void dundee_device_set_data(struct dundee_device *device, void *data);
 void *dundee_device_get_data(struct dundee_device *device);