diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-bearer-list.c | 19 | ||||
-rw-r--r-- | src/mm-bearer-list.h | 1 |
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); |