aboutsummaryrefslogtreecommitdiff
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
parente613f5b9ec103ac4b4b39e2897b70f135a82076c (diff)
Add flags argument to lpf_provider_get_locs
Currently this is for consistency with lpf_provider_get_trips only.
-rw-r--r--examples/trip-query.py4
-rw-r--r--libplanfahr/lpf-provider.c5
-rw-r--r--libplanfahr/lpf-provider.h20
-rw-r--r--libplanfahr/providers/hafas-bin6.c3
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)