[geocode-glib] lib: Add geocode_object_new_for_location() helper



commit 47bf732240186a5b9b2ddba2aafe693698931ea0
Author: Bastien Nocera <hadess hadess net>
Date:   Tue Oct 16 12:29:54 2012 +0200

    lib: Add geocode_object_new_for_location() helper

 geocode-glib/geocode-glib.c       |   22 ++++++++++++++++++++++
 geocode-glib/geocode-glib.h       |    7 ++++---
 geocode-glib/geocode-glib.symbols |    1 +
 3 files changed, 27 insertions(+), 3 deletions(-)
---
diff --git a/geocode-glib/geocode-glib.c b/geocode-glib/geocode-glib.c
index de741b8..b8bedec 100644
--- a/geocode-glib/geocode-glib.c
+++ b/geocode-glib/geocode-glib.c
@@ -255,6 +255,28 @@ geocode_object_new_for_coords (gdouble     latitude,
 }
 
 /**
+ * geocode_object_new_for_location:
+ * @location: a string containing a free-form description of the location
+ *
+ * Creates a new #GeocodeObject to perform geocoding with. The
+ * string is in free-form format.
+ *
+ * Returns: a new #GeocodeObject. Use g_object_unref() when done.
+ **/
+GeocodeObject *
+geocode_object_new_for_location (const char *location)
+{
+	GeocodeObject *object;
+
+	g_return_val_if_fail (location != NULL, NULL);
+
+	object = geocode_object_new ();
+	geocode_object_add (object, "location", location);
+
+	return object;
+}
+
+/**
  * geocode_object_add:
  * @object: a #GeocodeObject
  * @key: a string representing a parameter to the web service
diff --git a/geocode-glib/geocode-glib.h b/geocode-glib/geocode-glib.h
index e96354c..343288e 100644
--- a/geocode-glib/geocode-glib.h
+++ b/geocode-glib/geocode-glib.h
@@ -260,9 +260,10 @@ struct _GeocodeObjectClass {
 #define GEOCODE_OBJECT_FIELD_OFFSETLON		"offsetlon"
 
 GeocodeObject *geocode_object_new (void);
-GeocodeObject *geocode_object_new_for_params (GHashTable *params);
-GeocodeObject *geocode_object_new_for_coords (gdouble     latitude,
-					      gdouble     longitude);
+GeocodeObject *geocode_object_new_for_params   (GHashTable *params);
+GeocodeObject *geocode_object_new_for_location (const char *location);
+GeocodeObject *geocode_object_new_for_coords   (gdouble     latitude,
+					        gdouble     longitude);
 
 void geocode_object_add (GeocodeObject *object,
 			 const char    *key,
diff --git a/geocode-glib/geocode-glib.symbols b/geocode-glib/geocode-glib.symbols
index 3df61d6..c01323f 100644
--- a/geocode-glib/geocode-glib.symbols
+++ b/geocode-glib/geocode-glib.symbols
@@ -3,6 +3,7 @@ geocode_object_get_type
 geocode_object_new
 geocode_object_new_for_params
 geocode_object_new_for_coords
+geocode_object_new_for_location
 geocode_object_add
 geocode_object_resolve_async
 geocode_object_resolve_finish



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]