aboutsummaryrefslogtreecommitdiff
path: root/libplanfahr
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2014-03-22 21:32:33 +0100
committerGuido Günther <agx@sigxcpu.org>2014-03-22 22:19:59 +0100
commit06f5e18958d64a4db67382d03958f10127c4d9e6 (patch)
tree490a835fa3326cd3c70c577fa0976f5be03315c5 /libplanfahr
parente613f5b9ec103ac4b4b39e2897b70f135a82076c (diff)
Add flags argument to lpf_provider_get_locs
Currently this is for consistency with lpf_provider_get_trips only.
Diffstat (limited to 'libplanfahr')
-rw-r--r--libplanfahr/lpf-provider.c5
-rw-r--r--libplanfahr/lpf-provider.h20
-rw-r--r--libplanfahr/providers/hafas-bin6.c3
3 files changed, 22 insertions, 6 deletions
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)