From 06f5e18958d64a4db67382d03958f10127c4d9e6 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Sat, 22 Mar 2014 21:32:33 +0100 Subject: Add flags argument to lpf_provider_get_locs Currently this is for consistency with lpf_provider_get_trips only. --- examples/trip-query.py | 4 ++-- libplanfahr/lpf-provider.c | 5 +++-- libplanfahr/lpf-provider.h | 20 +++++++++++++++++--- libplanfahr/providers/hafas-bin6.c | 3 ++- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/examples/trip-query.py b/examples/trip-query.py index d4b0ea8..30585bf 100644 --- a/examples/trip-query.py +++ b/examples/trip-query.py @@ -49,7 +49,7 @@ def locs_cb(locs, userdata, err): start = locs[0] end, when = userdata print("Start: %s" % start.props.name) - provider.get_locs(end, locs_cb, when) + provider.get_locs(end, 0, locs_cb, when) else: end = locs[0] print("End: %s" % end.props.name) @@ -148,7 +148,7 @@ def main(argv): print("Loaded provider %s" % provider.props.name) when = parse_datetime(options.when) - provider.get_locs(start, locs_cb, (end, when)) + provider.get_locs(start, 0, locs_cb, (end, when)) mainloop = GObject.MainLoop() GObject.timeout_add_seconds(20, quit, "timed out") diff --git a/libplanfahr/lpf-provider.c b/libplanfahr/lpf-provider.c index c2a4a54..2697a88 100644 --- a/libplanfahr/lpf-provider.c +++ b/libplanfahr/lpf-provider.c @@ -91,6 +91,7 @@ lpf_provider_deactivate (LpfProvider *self, GObject *obj) * lpf_provider_get_locs: * @self: a #LpfProvider * @match: locations to match + * @flags: #LpfProviderGetLocsFlags for loation lookup * @callback: (scope async): #LpfProviderGotLocsNotify to invoke * once locations are available * @user_data: (allow-none): User data for the callback @@ -103,13 +104,13 @@ lpf_provider_deactivate (LpfProvider *self, GObject *obj) * Returns: 0 on success, -1 on error */ gint -lpf_provider_get_locs (LpfProvider *self, const char* match, LpfProviderGotLocsNotify callback, gpointer user_data) +lpf_provider_get_locs (LpfProvider *self, const char* match, LpfProviderGetLocsFlags flags, LpfProviderGotLocsNotify callback, gpointer user_data) { g_return_val_if_fail (LPF_IS_PROVIDER (self), -1); g_return_val_if_fail (match, -1); g_return_val_if_fail (callback, -1); - return LPF_PROVIDER_GET_INTERFACE (self)->get_locs (self, match, callback, user_data); + return LPF_PROVIDER_GET_INTERFACE (self)->get_locs (self, match, flags, callback, user_data); } /** diff --git a/libplanfahr/lpf-provider.h b/libplanfahr/lpf-provider.h index bc61903..8e706a4 100644 --- a/libplanfahr/lpf-provider.h +++ b/libplanfahr/lpf-provider.h @@ -50,6 +50,20 @@ typedef enum { LPF_PROVIDER_ERROR_PARSE_FAILED, } LpfProviderError; + +/** + * LpfProviderGetLocsFlags: + * @LPF_PROVIDER_GET_LOCS_NONE: No flags + * + * Flags passed to #lpf_provider_get_locs. Currently only here for symmetry with + * other API functions. + */ +typedef enum +{ + LPF_PROVIDER_GET_LOCS_NONE = 0, +} LpfProviderGetLocsFlags; + + #define LPF_TYPE_PROVIDER (lpf_provider_get_type()) #define LPF_PROVIDER(obj) \ @@ -76,8 +90,8 @@ typedef struct { const gchar* (*get_name) (LpfProvider *self); - gint (*get_locs) (LpfProvider *self, const gchar *match, LpfProviderGotLocsNotify callback, gpointer user_data); - gint (*get_trips) (LpfProvider *self, LpfLoc *start, LpfLoc *end, GDateTime *date, guint64 flags, LpfProviderGotLocsNotify callback, gpointer user_data); + gint (*get_locs) (LpfProvider *self, const gchar *match, LpfProviderGetLocsFlags flags, LpfProviderGotLocsNotify callback, gpointer user_data); + gint (*get_trips) (LpfProvider *self, LpfLoc *start, LpfLoc *end, GDateTime *date, guint64 flags, LpfProviderGotLocsNotify callback, gpointer user_data); } LpfProviderInterface; GType lpf_provider_get_type (void); @@ -90,7 +104,7 @@ 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_locs (LpfProvider *self, const gchar* match, LpfProviderGetLocsFlags 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); diff --git a/libplanfahr/providers/hafas-bin6.c b/libplanfahr/providers/hafas-bin6.c index f72d79b..595c9c7 100644 --- a/libplanfahr/providers/hafas-bin6.c +++ b/libplanfahr/providers/hafas-bin6.c @@ -243,7 +243,7 @@ out: static gint -lpf_provider_hafas_bin6_get_locs (LpfProvider *self, const char* match, LpfProviderGotLocsNotify callback, gpointer user_data) +lpf_provider_hafas_bin6_get_locs (LpfProvider *self, const char* match, LpfProviderGetLocsFlags flags, LpfProviderGotLocsNotify callback, gpointer user_data) { LpfProviderHafasBin6Private *priv = GET_PRIVATE(self); SoupMessage *msg; @@ -252,6 +252,7 @@ lpf_provider_hafas_bin6_get_locs (LpfProvider *self, const char* match, LpfProvi gint ret = -1; g_return_val_if_fail (priv->session, -1); + g_return_val_if_fail (!flags, -1); locs_data = g_try_malloc(sizeof(LpfProviderGotItUserData)); if (!locs_data) -- cgit v1.2.3