aboutsummaryrefslogtreecommitdiff
path: root/libplanfahr
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2014-03-10 23:15:54 +0100
committerGuido Günther <agx@sigxcpu.org>2014-03-10 23:15:54 +0100
commit4ed442ce09a161a0dc92f26e87d3194a1ab7630a (patch)
treef6fdcd3e4832527326b1c0077d9be1c8ba22d7d3 /libplanfahr
parent79e2834af9af2ef6eef297c66c8d5fed6c680ec7 (diff)
Add lpf_provider_free_trips
to make unrefing the whole data structure simple
Diffstat (limited to 'libplanfahr')
-rw-r--r--libplanfahr/libplanfahr.sym2
-rw-r--r--libplanfahr/lpf-provider.c13
-rw-r--r--libplanfahr/lpf-provider.h6
3 files changed, 20 insertions, 1 deletions
diff --git a/libplanfahr/libplanfahr.sym b/libplanfahr/libplanfahr.sym
index 7b72b02..2e1a694 100644
--- a/libplanfahr/libplanfahr.sym
+++ b/libplanfahr/libplanfahr.sym
@@ -11,6 +11,8 @@ LIBPLANFAHR_0.0.0 {
lpf_provider_activate;
lpf_provider_deactivate;
lpf_provider_error_quark;
+ lpf_provider_free_locs;
+ lpf_provider_free_trips;
lpf_provider_get_locs;
lpf_provider_get_name;
lpf_provider_get_trips;
diff --git a/libplanfahr/lpf-provider.c b/libplanfahr/lpf-provider.c
index 6f7802b..567c745 100644
--- a/libplanfahr/lpf-provider.c
+++ b/libplanfahr/lpf-provider.c
@@ -168,6 +168,19 @@ lpf_provider_default_init (LpfProviderInterface *iface)
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
}
+/**
+ * lpf_provider_free_trips:
+ * @self: a #LpfProvider
+ * @trips: (element-type LpfTrips): A linked list of trips
+ *
+ * Free the trips list
+ */
+void
+lpf_provider_free_trips(LpfProvider *self, GSList *trips)
+{
+ g_slist_free_full (trips, g_object_unref);
+}
+
/**
* lpf_provider_create: (skip)
diff --git a/libplanfahr/lpf-provider.h b/libplanfahr/lpf-provider.h
index 81d18c0..bc61903 100644
--- a/libplanfahr/lpf-provider.h
+++ b/libplanfahr/lpf-provider.h
@@ -89,10 +89,14 @@ const char* lpf_provider_get_name (LpfProvider *self);
void lpf_provider_activate (LpfProvider *self, GObject *obj);
void lpf_provider_deactivate (LpfProvider *self, GObject *obj);
GQuark lpf_provider_error_quark (void);
+
gint lpf_provider_get_locs (LpfProvider *self, const gchar* match, LpfProviderGotLocsNotify callback, gpointer user_data);
-gint lpf_provider_get_trips (LpfProvider *self, LpfLoc *start, LpfLoc *end, GDateTime *date, guint64 flags, LpfProviderGotLocsNotify callback, gpointer user_data);
void lpf_provider_free_locs (LpfProvider *self, GSList *locs);
+gint lpf_provider_get_trips (LpfProvider *self, LpfLoc *start, LpfLoc *end, GDateTime *date, guint64 flags, LpfProviderGotLocsNotify callback, gpointer user_data);
+void lpf_provider_free_trips (LpfProvider *self, GSList *trips);
+
+
G_END_DECLS
#endif /* _LPF_PROVIDER */