aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mm-bearer-list.c19
-rw-r--r--src/mm-bearer-list.h1
2 files changed, 15 insertions, 5 deletions
diff --git a/src/mm-bearer-list.c b/src/mm-bearer-list.c
index 7e972535..9fd38409 100644
--- a/src/mm-bearer-list.c
+++ b/src/mm-bearer-list.c
@@ -129,6 +129,19 @@ mm_bearer_list_delete_bearer (MMBearerList *self,
return FALSE;
}
+void
+mm_bearer_list_delete_all_bearers (MMBearerList *self)
+{
+ if (!self->priv->bearers)
+ return;
+
+ g_list_foreach (self->priv->bearers,
+ (GFunc)g_object_unref,
+ NULL);
+ g_list_free (self->priv->bearers);
+ self->priv->bearers = NULL;
+}
+
GStrv
mm_bearer_list_get_paths (MMBearerList *self)
{
@@ -228,11 +241,7 @@ dispose (GObject *object)
{
MMBearerList *self = MM_BEARER_LIST (object);
- if (self->priv->bearers) {
- g_list_foreach (self->priv->bearers, (GFunc)g_object_unref, NULL);
- g_list_free (self->priv->bearers);
- self->priv->bearers = NULL;
- }
+ mm_bearer_list_delete_all_bearers (self);
G_OBJECT_CLASS (mm_bearer_list_parent_class)->dispose (object);
}
diff --git a/src/mm-bearer-list.h b/src/mm-bearer-list.h
index 1d9c7161..476d27b3 100644
--- a/src/mm-bearer-list.h
+++ b/src/mm-bearer-list.h
@@ -64,6 +64,7 @@ gboolean mm_bearer_list_add_bearer (MMBearerList *self,
gboolean mm_bearer_list_delete_bearer (MMBearerList *self,
const gchar *path,
GError **error);
+void mm_bearer_list_delete_all_bearers (MMBearerList *self);
typedef void (*MMBearerListForeachFunc) (MMBearer *bearer,
gpointer user_data);