[libchamplain/libchamplain-0-4] Vala bindings for champlain 0.4.5.



commit 47b8220b3577477699a4f63fd6f788c9e6917492
Author: Tomaž Vajngerl <quikee gmail com>
Date:   Sat Apr 10 13:24:03 2010 +0200

    Vala bindings for champlain 0.4.5.

 bindings/Makefile.am                               |    2 +-
 bindings/vala/Makefile.am                          |    7 +
 bindings/vala/champlain-gtk/Makefile.am            |   12 +
 bindings/vala/champlain-gtk/champlain-gtk-0.4.vapi |   19 +
 .../champlain-gtk-0.4/champlain-gtk-0.4.files      |    2 +
 .../champlain-gtk-0.4/champlain-gtk-0.4.gi         |   40 +
 .../champlain-gtk-0.4/champlain-gtk-0.4.metadata   |    1 +
 .../champlain-gtk-0.4/champlain-gtk-0.4.namespace  |    1 +
 bindings/vala/champlain-gtk/create.sh              |    1 +
 bindings/vala/champlain/Makefile.am                |   12 +
 bindings/vala/champlain/champlain-0.4.vapi         |  426 ++++++
 .../champlain/champlain-0.4/champlain-0.4.files    |    2 +
 .../vala/champlain/champlain-0.4/champlain-0.4.gi  | 1529 ++++++++++++++++++++
 .../champlain/champlain-0.4/champlain-0.4.metadata |    1 +
 .../champlain-0.4/champlain-0.4.namespace          |    1 +
 bindings/vala/champlain/create.sh                  |    1 +
 configure.ac                                       |    6 +
 17 files changed, 2062 insertions(+), 1 deletions(-)
---
diff --git a/bindings/Makefile.am b/bindings/Makefile.am
index 1cb6f77..34ee51f 100644
--- a/bindings/Makefile.am
+++ b/bindings/Makefile.am
@@ -8,5 +8,5 @@ if ENABLE_PYTHON
   SUBDIRS+=python
 endif
 
-DIST_SUBDIRS= managed python perl/Champlain
+DIST_SUBDIRS= managed python perl/Champlain vala
 
diff --git a/bindings/vala/Makefile.am b/bindings/vala/Makefile.am
new file mode 100644
index 0000000..608bf2b
--- /dev/null
+++ b/bindings/vala/Makefile.am
@@ -0,0 +1,7 @@
+SUBDIRS = champlain
+
+if ENABLE_GTK
+  SUBDIRS += champlain-gtk
+endif
+
+DIST_SUBDIRS = champlain champlain-gtk
diff --git a/bindings/vala/champlain-gtk/Makefile.am b/bindings/vala/champlain-gtk/Makefile.am
new file mode 100644
index 0000000..dc486df
--- /dev/null
+++ b/bindings/vala/champlain-gtk/Makefile.am
@@ -0,0 +1,12 @@
+
+champlain-gtk-0.4.vapi: $(top_srcdir)/champlain-gtk/GtkChamplain-0.4.gir
+	$(VAPIGEN) --vapidir ../champlain --pkg champlain-0.4 --pkg clutter-1.0 --pkg atk --pkg gtk+-2.0 --library champlain-gtk-0.4 $^
+	touch $@
+
+vapidir = $(datadir)/vala/vapi
+
+dist_vapi_DATA = \
+	champlain-gtk-0.4.vapi \
+	$(NULL)
+
+EXTRA_DIST = champlain-gtk-0.4.vapi
diff --git a/bindings/vala/champlain-gtk/champlain-gtk-0.4.vapi b/bindings/vala/champlain-gtk/champlain-gtk-0.4.vapi
new file mode 100644
index 0000000..5e15028
--- /dev/null
+++ b/bindings/vala/champlain-gtk/champlain-gtk-0.4.vapi
@@ -0,0 +1,19 @@
+/* champlain-gtk-0.4.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "GtkChamplain", lower_case_cprefix = "gtk_champlain_")]
+namespace GtkChamplain {
+	[CCode (cheader_filename = "champlain-gtk/champlain-gtk.h")]
+	public class Embed : Gtk.Alignment, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public Embed ();
+		public unowned Champlain.View get_view ();
+		[NoAccessorMethod]
+		public Champlain.View champlain_view { owned get; }
+	}
+	[CCode (cname = "champlain_view_embed_get_view", cheader_filename = "champlain-gtk/champlain-gtk.h")]
+	public static unowned Champlain.View champlain_view_embed_get_view (GtkChamplain.Embed embed);
+	[CCode (cname = "champlain_view_embed_new", cheader_filename = "champlain-gtk/champlain-gtk.h")]
+	public static unowned Gtk.Widget champlain_view_embed_new (Champlain.View view);
+	[CCode (cname = "champlain_view_embed_set_view", cheader_filename = "champlain-gtk/champlain-gtk.h")]
+	public static void champlain_view_embed_set_view (GtkChamplain.Embed embed, Champlain.View view);
+}
diff --git a/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.files b/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.files
new file mode 100644
index 0000000..d968f35
--- /dev/null
+++ b/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.files
@@ -0,0 +1,2 @@
+lib/libchamplain-gtk-0.4.so
+include/libchamplain-gtk-0.4/
diff --git a/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.gi b/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.gi
new file mode 100644
index 0000000..bac1ba7
--- /dev/null
+++ b/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.gi
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<api version="1.0">
+	<namespace name="GtkChamplain">
+		<function name="champlain_view_embed_get_view" symbol="champlain_view_embed_get_view">
+			<return-type type="ChamplainView*"/>
+			<parameters>
+				<parameter name="embed" type="GtkChamplainEmbed*"/>
+			</parameters>
+		</function>
+		<function name="champlain_view_embed_new" symbol="champlain_view_embed_new">
+			<return-type type="GtkWidget*"/>
+			<parameters>
+				<parameter name="view" type="ChamplainView*"/>
+			</parameters>
+		</function>
+		<function name="champlain_view_embed_set_view" symbol="champlain_view_embed_set_view">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="embed" type="GtkChamplainEmbed*"/>
+				<parameter name="view" type="ChamplainView*"/>
+			</parameters>
+		</function>
+		<object name="GtkChamplainEmbed" parent="GtkAlignment" type-name="GtkChamplainEmbed" get-type="gtk_champlain_embed_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_view" symbol="gtk_champlain_embed_get_view">
+				<return-type type="ChamplainView*"/>
+				<parameters>
+					<parameter name="embed" type="GtkChamplainEmbed*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gtk_champlain_embed_new">
+				<return-type type="GtkWidget*"/>
+			</constructor>
+			<property name="champlain-view" type="ChamplainView*" readable="1" writable="0" construct="0" construct-only="0"/>
+		</object>
+	</namespace>
+</api>
diff --git a/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.metadata b/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.metadata
new file mode 100644
index 0000000..b857b0c
--- /dev/null
+++ b/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.metadata
@@ -0,0 +1 @@
+GtkChamplain cheader_filename="champlain-gtk/champlain-gtk.h"
diff --git a/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.namespace b/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.namespace
new file mode 100644
index 0000000..289de1e
--- /dev/null
+++ b/bindings/vala/champlain-gtk/champlain-gtk-0.4/champlain-gtk-0.4.namespace
@@ -0,0 +1 @@
+GtkChamplain
diff --git a/bindings/vala/champlain-gtk/create.sh b/bindings/vala/champlain-gtk/create.sh
new file mode 100644
index 0000000..4e42562
--- /dev/null
+++ b/bindings/vala/champlain-gtk/create.sh
@@ -0,0 +1 @@
+vapigen --library champlain-gtk-0.4 --pkg clutter-gtk-0.10 --pkg gtk+-2.0 --pkg champlain-0.4 --vapidir=../champlain-0.4 champlain-gtk-0.4/champlain-gtk-0.4.gi
diff --git a/bindings/vala/champlain/Makefile.am b/bindings/vala/champlain/Makefile.am
new file mode 100644
index 0000000..819c65c
--- /dev/null
+++ b/bindings/vala/champlain/Makefile.am
@@ -0,0 +1,12 @@
+
+champlain-0.4.vapi: $(top_srcdir)/champlain/Champlain-0.4.gir
+	$(VAPIGEN) --pkg atk --pkg gdk-2.0 --pkg clutter-1.0 --library champlain-0.4 $^
+	touch $@
+
+vapidir = $(datadir)/vala/vapi
+
+dist_vapi_DATA = \
+	champlain-0.4.vapi \
+	$(NULL)
+
+EXTRA_DIST = champlain-0.4.vapi
diff --git a/bindings/vala/champlain/champlain-0.4.vapi b/bindings/vala/champlain/champlain-0.4.vapi
new file mode 100644
index 0000000..b279b8b
--- /dev/null
+++ b/bindings/vala/champlain/champlain-0.4.vapi
@@ -0,0 +1,426 @@
+/* champlain-0.4.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Champlain", lower_case_cprefix = "champlain_")]
+namespace Champlain {
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class BaseMarker : Clutter.Group, Clutter.Scriptable, Clutter.Container {
+		[CCode (type = "ClutterActor*", has_construct_function = false)]
+		public BaseMarker ();
+		public void animate_in ();
+		public void animate_in_with_delay (uint delay);
+		public void animate_out ();
+		public void animate_out_with_delay (uint delay);
+		public bool get_highlighted ();
+		public void set_highlighted (bool value);
+		public void set_position (double longitude, double latitude);
+		public bool highlighted { get; set; }
+		[NoAccessorMethod]
+		public double latitude { get; set; }
+		[NoAccessorMethod]
+		public double longitude { get; set; }
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class Cache : GLib.Object {
+		public static unowned Champlain.Cache dup_default ();
+		public bool fill_tile (Champlain.Tile tile);
+		public uint get_size_limit ();
+		public void purge ();
+		public void purge_on_idle ();
+		public void set_size_limit (uint size_limit);
+		public bool tile_is_expired (Champlain.Tile tile);
+		public void update_tile (Champlain.Tile tile, uint filesize);
+		public uint size_limit { get; set; }
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class Layer : Clutter.Group, Clutter.Scriptable, Clutter.Container {
+		[CCode (has_construct_function = false)]
+		public Layer ();
+		public void add_marker (Champlain.BaseMarker marker);
+		public void animate_in_all_markers ();
+		public void animate_out_all_markers ();
+		public void hide ();
+		public void hide_all_markers ();
+		public void remove_marker (Champlain.BaseMarker marker);
+		public void show ();
+		public void show_all_markers ();
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class MapSource : GLib.Object {
+		public virtual void fill_tile (Champlain.Tile tile);
+		public uint get_column_count (int zoom_level);
+		public unowned string get_id ();
+		public double get_latitude (int zoom_level, uint y);
+		public unowned string get_license ();
+		public unowned string get_license_uri ();
+		public double get_longitude (int zoom_level, uint x);
+		public int get_max_zoom_level ();
+		public float get_meters_per_pixel (int zoom_level, double latitude, double longitude);
+		public int get_min_zoom_level ();
+		public unowned string get_name ();
+		public Champlain.MapProjection get_projection ();
+		public uint get_row_count (int zoom_level);
+		public uint get_tile_size ();
+		public uint get_x (int zoom_level, double longitude);
+		public uint get_y (int zoom_level, double latitude);
+		public void set_id (string id);
+		public void set_license (string license);
+		public void set_license_uri (string license_uri);
+		public void set_name (string name);
+		public void set_projection (Champlain.MapProjection projection);
+		public string id { get; set construct; }
+		public string license { get; set construct; }
+		public string license_uri { get; set construct; }
+		[NoAccessorMethod]
+		public uint max_zoom_level { get; set construct; }
+		[NoAccessorMethod]
+		public uint min_zoom_level { get; set construct; }
+		public string name { get; set construct; }
+		public Champlain.MapProjection projection { get; set construct; }
+		[NoAccessorMethod]
+		public uint tile_size { get; set construct; }
+	}
+	[Compact]
+	[CCode (copy_function = "champlain_map_source_desc_copy", type_id = "CHAMPLAIN_TYPE_MAP_SOURCE_DESC", cheader_filename = "champlain/champlain.h")]
+	public class MapSourceDesc {
+		public weak Champlain.MapSourceConstructor constructor;
+		public void* data;
+		public weak string id;
+		public weak string license;
+		public weak string license_uri;
+		public int max_zoom_level;
+		public int min_zoom_level;
+		public weak string name;
+		public Champlain.MapProjection projection;
+		public weak string uri_format;
+		[CCode (has_construct_function = false)]
+		public MapSourceDesc ();
+		public unowned Champlain.MapSourceDesc copy ();
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class MapSourceFactory : GLib.Object {
+		public unowned Champlain.MapSource create (string id);
+		public static unowned Champlain.MapSourceFactory dup_default ();
+		public unowned GLib.SList dup_list ();
+		public bool register (Champlain.MapSourceDesc desc, Champlain.MapSourceConstructor constructor, void* data);
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class Marker : Champlain.BaseMarker, Clutter.Scriptable, Clutter.Container {
+		[CCode (type = "ClutterActor*", has_construct_function = false)]
+		public Marker ();
+		[NoWrapper]
+		public virtual void draw_marker ();
+		[CCode (type = "ClutterActor*", has_construct_function = false)]
+		public Marker.from_file (string filename) throws GLib.Error;
+		[CCode (type = "ClutterActor*", has_construct_function = false)]
+		public Marker.full (string text, Clutter.Actor actor);
+		public Pango.Alignment get_alignment ();
+		public Clutter.Color get_color ();
+		public bool get_draw_background ();
+		public Pango.EllipsizeMode get_ellipsize ();
+		public unowned string get_font_name ();
+		public static Clutter.Color get_highlight_color ();
+		public static Clutter.Color get_highlight_text_color ();
+		public unowned Clutter.Actor get_image ();
+		public bool get_single_line_mode ();
+		public unowned string get_text ();
+		public Clutter.Color get_text_color ();
+		public bool get_use_markup ();
+		public bool get_wrap ();
+		public Pango.WrapMode get_wrap_mode ();
+		public void queue_redraw ();
+		public void set_alignment (Pango.Alignment alignment);
+		public void set_attributes (Pango.AttrList list);
+		public void set_color (Clutter.Color color);
+		public void set_draw_background (bool background);
+		public void set_ellipsize (Pango.EllipsizeMode mode);
+		public void set_font_name (string font_name);
+		public static void set_highlight_color (Clutter.Color color);
+		public static void set_highlight_text_color (Clutter.Color color);
+		public void set_image (Clutter.Actor image);
+		public void set_single_line_mode (bool mode);
+		public void set_text (string text);
+		public void set_text_color (Clutter.Color color);
+		public void set_use_markup (bool use_markup);
+		public void set_wrap (bool wrap);
+		public void set_wrap_mode (Pango.WrapMode wrap_mode);
+		[CCode (type = "ClutterActor*", has_construct_function = false)]
+		public Marker.with_image (Clutter.Actor actor);
+		[CCode (type = "ClutterActor*", has_construct_function = false)]
+		public Marker.with_text (string text, string font, Clutter.Color text_color, Clutter.Color marker_color);
+		public Pango.Alignment alignment { get; set; }
+		public Clutter.Color color { get; set; }
+		public bool draw_background { get; set; }
+		public Pango.EllipsizeMode ellipsize { get; set; }
+		public string font_name { get; set; }
+		public Clutter.Actor image { get; set; }
+		public bool single_line_mode { get; set; }
+		public string text { get; set; }
+		public Clutter.Color text_color { get; set; }
+		public bool use_markup { get; set; }
+		public bool wrap { get; set; }
+		public Pango.WrapMode wrap_mode { get; set; }
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class NetworkMapSource : Champlain.MapSource {
+		[CCode (has_construct_function = false)]
+		public NetworkMapSource.full (string id, string name, string license, string license_uri, uint min_zoom, uint max_zoom, uint tile_size, Champlain.MapProjection projection, string uri_format);
+		public unowned string get_tile_uri (int x, int y, int z);
+		public void set_uri_format (string uri_format);
+		[NoAccessorMethod]
+		public bool offline { get; set; }
+		[NoAccessorMethod]
+		public string proxy_uri { owned get; set; }
+		[NoAccessorMethod]
+		public string uri_format { owned get; set construct; }
+	}
+	[Compact]
+	[CCode (copy_function = "champlain_point_copy", type_id = "CHAMPLAIN_TYPE_POINT", cheader_filename = "champlain/champlain.h")]
+	public class Point {
+		public double lat;
+		public double lon;
+		[CCode (has_construct_function = false)]
+		public Point (double lat, double lon);
+		public unowned Champlain.Point copy ();
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class Polygon : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Polygon ();
+		public unowned Champlain.Point append_point (double lat, double lon);
+		public void clear_points ();
+		public bool get_fill ();
+		public Clutter.Color get_fill_color ();
+		public bool get_mark_points ();
+		public unowned GLib.List get_points ();
+		public bool get_stroke ();
+		public Clutter.Color get_stroke_color ();
+		public double get_stroke_width ();
+		public void hide ();
+		public unowned Champlain.Point insert_point (double lat, double lon, int pos);
+		public void remove_point (Champlain.Point point);
+		public void set_fill (bool value);
+		public void set_fill_color (Clutter.Color color);
+		public void set_mark_points (bool value);
+		public void set_stroke (bool value);
+		public void set_stroke_color (Clutter.Color color);
+		public void set_stroke_width (double value);
+		public void show ();
+		[NoAccessorMethod]
+		public bool closed_path { get; set; }
+		public bool fill { get; set; }
+		public Clutter.Color fill_color { get; set; }
+		public bool mark_points { get; set; }
+		public bool stroke { get; set; }
+		public Clutter.Color stroke_color { get; set; }
+		public double stroke_width { get; set; }
+		[NoAccessorMethod]
+		public bool visible { get; set; }
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class SelectionLayer : Champlain.Layer, Clutter.Scriptable, Clutter.Container {
+		[CCode (type = "ChamplainLayer*", has_construct_function = false)]
+		public SelectionLayer ();
+		public uint count_selected_markers ();
+		public unowned Champlain.BaseMarker get_selected ();
+		public unowned GLib.List get_selected_markers ();
+		public Champlain.SelectionMode get_selection_mode ();
+		public bool marker_is_selected (Champlain.BaseMarker marker);
+		public void select (Champlain.BaseMarker marker);
+		public void select_all ();
+		public void set_selection_mode (Champlain.SelectionMode mode);
+		public void unselect (Champlain.BaseMarker marker);
+		public void unselect_all ();
+		public Champlain.SelectionMode selection_mode { get; set; }
+		public virtual signal void changed ();
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class Tile : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Tile ();
+		[CCode (has_construct_function = false)]
+		public Tile.full (int x, int y, uint size, int zoom_level);
+		public unowned Clutter.Actor get_actor ();
+		public unowned Clutter.Actor get_content ();
+		public unowned string get_etag ();
+		public unowned string get_filename ();
+		public GLib.TimeVal get_modified_time ();
+		public unowned string get_modified_time_string ();
+		public uint get_size ();
+		public Champlain.State get_state ();
+		public unowned string get_uri ();
+		public int get_x ();
+		public int get_y ();
+		public int get_zoom_level ();
+		public void set_content (Clutter.Actor actor, bool fade_in);
+		public void set_etag (string etag);
+		public void set_filename (string filename);
+		public void set_modified_time (GLib.TimeVal time);
+		public void set_size (uint size);
+		public void set_state (Champlain.State state);
+		public void set_uri (string uri);
+		public void set_x (int x);
+		public void set_y (int y);
+		public void set_zoom_level (int zoom_level);
+		public Clutter.Actor actor { get; }
+		public Clutter.Actor content { get; set; }
+		public string etag { get; set; }
+		public string filename { get; set; }
+		public uint size { get; set; }
+		public Champlain.State state { get; set; }
+		public string uri { get; set; }
+		public int x { get; set; }
+		public int y { get; set; }
+		public int zoom_level { get; set; }
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class View : Clutter.Group, Clutter.Scriptable, Clutter.Container {
+		[CCode (type = "ClutterActor*", has_construct_function = false)]
+		public View ();
+		public void add_layer (Champlain.Layer layer);
+		public void add_polygon (Champlain.Polygon polygon);
+		public void center_on (double latitude, double longitude);
+		public void ensure_markers_visible (Champlain.BaseMarker[] markers, bool animate);
+		public void ensure_visible (double lat1, double lon1, double lat2, double lon2, bool animate);
+		public bool get_coords_at (uint x, uint y, double lat, double lon);
+		public bool get_coords_from_event (Clutter.Event event, double lat, double lon);
+		public double get_decel_rate ();
+		public bool get_keep_center_on_resize ();
+		public unowned string get_license_text ();
+		public unowned Champlain.MapSource get_map_source ();
+		public uint get_max_scale_width ();
+		public int get_max_zoom_level ();
+		public int get_min_zoom_level ();
+		public Champlain.Unit get_scale_unit ();
+		public Champlain.ScrollMode get_scroll_mode ();
+		public bool get_show_license ();
+		public bool get_show_scale ();
+		public int get_zoom_level ();
+		public bool get_zoom_on_double_click ();
+		public void go_to (double latitude, double longitude);
+		public void remove_layer (Champlain.Layer layer);
+		public void remove_polygon (Champlain.Polygon polygon);
+		public void set_decel_rate (double rate);
+		public void set_keep_center_on_resize (bool value);
+		public void set_license_text (string text);
+		public void set_map_source (Champlain.MapSource map_source);
+		public void set_max_scale_width (uint value);
+		public void set_max_zoom_level (int zoom_level);
+		public void set_min_zoom_level (int zoom_level);
+		public void set_scale_unit (Champlain.Unit unit);
+		public void set_scroll_mode (Champlain.ScrollMode mode);
+		public void set_show_license (bool value);
+		public void set_show_scale (bool value);
+		public void set_size (uint width, uint height);
+		public void set_zoom_level (int zoom_level);
+		public void set_zoom_on_double_click (bool value);
+		public void stop_go_to ();
+		public void zoom_in ();
+		public void zoom_out ();
+		public double decel_rate { get; set; }
+		public bool keep_center_on_resize { get; set; }
+		[NoAccessorMethod]
+		public double latitude { get; set; }
+		public string license_text { get; set; }
+		[NoAccessorMethod]
+		public double longitude { get; set; }
+		public Champlain.MapSource map_source { get; set; }
+		public uint max_scale_width { get; set; }
+		public int max_zoom_level { get; set; }
+		public int min_zoom_level { get; set; }
+		public Champlain.Unit scale_unit { get; set; }
+		public Champlain.ScrollMode scroll_mode { get; set; }
+		public bool show_license { get; set; }
+		public bool show_scale { get; set; }
+		[NoAccessorMethod]
+		public Champlain.State state { get; }
+		public int zoom_level { get; set; }
+		public bool zoom_on_double_click { get; set; }
+		public virtual signal void animation_completed ();
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public class ZoomLevel : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public ZoomLevel ();
+		public void add_tile (Champlain.Tile tile);
+		public unowned Clutter.Actor get_actor ();
+		public uint get_height ();
+		public unowned Champlain.Tile get_nth_tile (uint index);
+		public uint get_width ();
+		public int get_zoom_level ();
+		public void remove_tile (Champlain.Tile tile);
+		public void set_height (uint height);
+		public void set_width (uint width);
+		public void set_zoom_level (int zoom_level);
+		public uint tile_count ();
+		public Clutter.Actor actor { get; }
+		public uint height { get; set; }
+		public uint width { get; set; }
+		public int zoom_level { get; set; }
+		public virtual signal void tile_added (Champlain.Tile p0);
+		public virtual signal void tile_removed (Champlain.Tile p0);
+	}
+	[CCode (cprefix = "CHAMPLAIN_MAP_PROJECTION_", cheader_filename = "champlain/champlain.h")]
+	public enum MapProjection {
+		MERCATOR
+	}
+	[CCode (cprefix = "CHAMPLAIN_SCROLL_MODE_", cheader_filename = "champlain/champlain.h")]
+	public enum ScrollMode {
+		PUSH,
+		KINETIC
+	}
+	[CCode (cprefix = "CHAMPLAIN_SELECTION_", cheader_filename = "champlain/champlain.h")]
+	public enum SelectionMode {
+		NONE,
+		SINGLE,
+		MULTIPLE
+	}
+	[CCode (cprefix = "CHAMPLAIN_STATE_", cheader_filename = "champlain/champlain.h")]
+	public enum State {
+		NONE,
+		INIT,
+		LOADING,
+		VALIDATING_CACHE,
+		DONE
+	}
+	[CCode (cprefix = "CHAMPLAIN_UNIT_", cheader_filename = "champlain/champlain.h")]
+	public enum Unit {
+		KM,
+		MILES
+	}
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public delegate unowned Champlain.MapSource MapSourceConstructor (Champlain.MapSourceDesc desc);
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const int MAJOR_VERSION;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const string MAP_SOURCE_MFF_RELIEF;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const string MAP_SOURCE_OAM;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const string MAP_SOURCE_OSM_CYCLE_MAP;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const string MAP_SOURCE_OSM_MAPNIK;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const string MAP_SOURCE_OSM_OSMARENDER;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const string MAP_SOURCE_OSM_TRANSPORT_MAP;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const int MAX_LAT;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const int MAX_LONG;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const int MICRO_VERSION;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const int MINOR_VERSION;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const int MIN_LAT;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const int MIN_LONG;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const int PARAM_READABLE;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const int PARAM_READWRITE;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const int VERSION_HEX;
+	[CCode (cheader_filename = "champlain/champlain.h")]
+	public const string VERSION_S;
+}
diff --git a/bindings/vala/champlain/champlain-0.4/champlain-0.4.files b/bindings/vala/champlain/champlain-0.4/champlain-0.4.files
new file mode 100644
index 0000000..e07199d
--- /dev/null
+++ b/bindings/vala/champlain/champlain-0.4/champlain-0.4.files
@@ -0,0 +1,2 @@
+lib/libchamplain-0.4.so
+include/libchamplain-0.4/
diff --git a/bindings/vala/champlain/champlain-0.4/champlain-0.4.gi b/bindings/vala/champlain/champlain-0.4/champlain-0.4.gi
new file mode 100644
index 0000000..b1e4ca6
--- /dev/null
+++ b/bindings/vala/champlain/champlain-0.4/champlain-0.4.gi
@@ -0,0 +1,1529 @@
+<?xml version="1.0"?>
+<api version="1.0">
+	<namespace name="Champlain">
+		<callback name="ChamplainMapSourceConstructor">
+			<return-type type="ChamplainMapSource*"/>
+			<parameters>
+				<parameter name="desc" type="ChamplainMapSourceDesc*"/>
+				<parameter name="data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<boxed name="ChamplainMapSourceDesc" type-name="ChamplainMapSourceDesc" get-type="champlain_map_source_desc_get_type">
+			<method name="copy" symbol="champlain_map_source_desc_copy">
+				<return-type type="ChamplainMapSourceDesc*"/>
+				<parameters>
+					<parameter name="desc" type="ChamplainMapSourceDesc*"/>
+				</parameters>
+			</method>
+			<method name="free" symbol="champlain_map_source_desc_free">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="desc" type="ChamplainMapSourceDesc*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="champlain_map_source_desc_new">
+				<return-type type="ChamplainMapSourceDesc*"/>
+			</constructor>
+			<field name="id" type="gchar*"/>
+			<field name="name" type="gchar*"/>
+			<field name="license" type="gchar*"/>
+			<field name="license_uri" type="gchar*"/>
+			<field name="min_zoom_level" type="gint"/>
+			<field name="max_zoom_level" type="gint"/>
+			<field name="projection" type="ChamplainMapProjection"/>
+			<field name="constructor" type="ChamplainMapSourceConstructor"/>
+			<field name="uri_format" type="gchar*"/>
+			<field name="data" type="gpointer"/>
+		</boxed>
+		<boxed name="ChamplainPoint" type-name="ChamplainPoint" get-type="champlain_point_get_type">
+			<method name="copy" symbol="champlain_point_copy">
+				<return-type type="ChamplainPoint*"/>
+				<parameters>
+					<parameter name="point" type="ChamplainPoint*"/>
+				</parameters>
+			</method>
+			<method name="free" symbol="champlain_point_free">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="point" type="ChamplainPoint*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="champlain_point_new">
+				<return-type type="ChamplainPoint*"/>
+				<parameters>
+					<parameter name="lat" type="gdouble"/>
+					<parameter name="lon" type="gdouble"/>
+				</parameters>
+			</constructor>
+			<field name="lat" type="double"/>
+			<field name="lon" type="double"/>
+		</boxed>
+		<enum name="ChamplainMapProjection" type-name="ChamplainMapProjection" get-type="champlain_map_projection_get_type">
+			<member name="CHAMPLAIN_MAP_PROJECTION_MERCATOR" value="0"/>
+		</enum>
+		<enum name="ChamplainScrollMode" type-name="ChamplainScrollMode" get-type="champlain_scroll_mode_get_type">
+			<member name="CHAMPLAIN_SCROLL_MODE_PUSH" value="0"/>
+			<member name="CHAMPLAIN_SCROLL_MODE_KINETIC" value="1"/>
+		</enum>
+		<enum name="ChamplainSelectionMode" type-name="ChamplainSelectionMode" get-type="champlain_selection_mode_get_type">
+			<member name="CHAMPLAIN_SELECTION_NONE" value="0"/>
+			<member name="CHAMPLAIN_SELECTION_SINGLE" value="1"/>
+			<member name="CHAMPLAIN_SELECTION_MULTIPLE" value="2"/>
+		</enum>
+		<enum name="ChamplainState" type-name="ChamplainState" get-type="champlain_state_get_type">
+			<member name="CHAMPLAIN_STATE_NONE" value="0"/>
+			<member name="CHAMPLAIN_STATE_INIT" value="1"/>
+			<member name="CHAMPLAIN_STATE_LOADING" value="2"/>
+			<member name="CHAMPLAIN_STATE_VALIDATING_CACHE" value="3"/>
+			<member name="CHAMPLAIN_STATE_DONE" value="4"/>
+		</enum>
+		<enum name="ChamplainUnit" type-name="ChamplainUnit" get-type="champlain_unit_get_type">
+			<member name="CHAMPLAIN_UNIT_KM" value="0"/>
+			<member name="CHAMPLAIN_UNIT_MILES" value="1"/>
+		</enum>
+		<object name="ChamplainBaseMarker" parent="ClutterGroup" type-name="ChamplainBaseMarker" get-type="champlain_base_marker_get_type">
+			<implements>
+				<interface name="ClutterScriptable"/>
+				<interface name="ClutterContainer"/>
+			</implements>
+			<method name="animate_in" symbol="champlain_base_marker_animate_in">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+				</parameters>
+			</method>
+			<method name="animate_in_with_delay" symbol="champlain_base_marker_animate_in_with_delay">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+					<parameter name="delay" type="guint"/>
+				</parameters>
+			</method>
+			<method name="animate_out" symbol="champlain_base_marker_animate_out">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+				</parameters>
+			</method>
+			<method name="animate_out_with_delay" symbol="champlain_base_marker_animate_out_with_delay">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+					<parameter name="delay" type="guint"/>
+				</parameters>
+			</method>
+			<method name="get_highlighted" symbol="champlain_base_marker_get_highlighted">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="champlain_base_marker_new">
+				<return-type type="ClutterActor*"/>
+			</constructor>
+			<method name="set_highlighted" symbol="champlain_base_marker_set_highlighted">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+					<parameter name="value" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_position" symbol="champlain_base_marker_set_position">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+					<parameter name="longitude" type="gdouble"/>
+					<parameter name="latitude" type="gdouble"/>
+				</parameters>
+			</method>
+			<property name="highlighted" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="latitude" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="longitude" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+		</object>
+		<object name="ChamplainCache" parent="GObject" type-name="ChamplainCache" get-type="champlain_cache_get_type">
+			<method name="dup_default" symbol="champlain_cache_dup_default">
+				<return-type type="ChamplainCache*"/>
+			</method>
+			<method name="fill_tile" symbol="champlain_cache_fill_tile">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="self" type="ChamplainCache*"/>
+					<parameter name="tile" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_size_limit" symbol="champlain_cache_get_size_limit">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="self" type="ChamplainCache*"/>
+				</parameters>
+			</method>
+			<method name="purge" symbol="champlain_cache_purge">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainCache*"/>
+				</parameters>
+			</method>
+			<method name="purge_on_idle" symbol="champlain_cache_purge_on_idle">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainCache*"/>
+				</parameters>
+			</method>
+			<method name="set_size_limit" symbol="champlain_cache_set_size_limit">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainCache*"/>
+					<parameter name="size_limit" type="guint"/>
+				</parameters>
+			</method>
+			<method name="tile_is_expired" symbol="champlain_cache_tile_is_expired">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="self" type="ChamplainCache*"/>
+					<parameter name="tile" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="update_tile" symbol="champlain_cache_update_tile">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainCache*"/>
+					<parameter name="tile" type="ChamplainTile*"/>
+					<parameter name="filesize" type="guint"/>
+				</parameters>
+			</method>
+			<property name="size-limit" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+		</object>
+		<object name="ChamplainLayer" parent="ClutterGroup" type-name="ChamplainLayer" get-type="champlain_layer_get_type">
+			<implements>
+				<interface name="ClutterScriptable"/>
+				<interface name="ClutterContainer"/>
+			</implements>
+			<method name="add_marker" symbol="champlain_layer_add_marker">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainLayer*"/>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+				</parameters>
+			</method>
+			<method name="animate_in_all_markers" symbol="champlain_layer_animate_in_all_markers">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainLayer*"/>
+				</parameters>
+			</method>
+			<method name="animate_out_all_markers" symbol="champlain_layer_animate_out_all_markers">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainLayer*"/>
+				</parameters>
+			</method>
+			<method name="hide" symbol="champlain_layer_hide">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainLayer*"/>
+				</parameters>
+			</method>
+			<method name="hide_all_markers" symbol="champlain_layer_hide_all_markers">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainLayer*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="champlain_layer_new">
+				<return-type type="ChamplainLayer*"/>
+			</constructor>
+			<method name="remove_marker" symbol="champlain_layer_remove_marker">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainLayer*"/>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+				</parameters>
+			</method>
+			<method name="show" symbol="champlain_layer_show">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainLayer*"/>
+				</parameters>
+			</method>
+			<method name="show_all_markers" symbol="champlain_layer_show_all_markers">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainLayer*"/>
+				</parameters>
+			</method>
+		</object>
+		<object name="ChamplainMapSource" parent="GObject" type-name="ChamplainMapSource" get-type="champlain_map_source_get_type">
+			<method name="fill_tile" symbol="champlain_map_source_fill_tile">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="tile" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_column_count" symbol="champlain_map_source_get_column_count">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="zoom_level" type="gint"/>
+				</parameters>
+			</method>
+			<method name="get_id" symbol="champlain_map_source_get_id">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+				</parameters>
+			</method>
+			<method name="get_latitude" symbol="champlain_map_source_get_latitude">
+				<return-type type="gdouble"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="zoom_level" type="gint"/>
+					<parameter name="y" type="guint"/>
+				</parameters>
+			</method>
+			<method name="get_license" symbol="champlain_map_source_get_license">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+				</parameters>
+			</method>
+			<method name="get_license_uri" symbol="champlain_map_source_get_license_uri">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+				</parameters>
+			</method>
+			<method name="get_longitude" symbol="champlain_map_source_get_longitude">
+				<return-type type="gdouble"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="zoom_level" type="gint"/>
+					<parameter name="x" type="guint"/>
+				</parameters>
+			</method>
+			<method name="get_max_zoom_level" symbol="champlain_map_source_get_max_zoom_level">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+				</parameters>
+			</method>
+			<method name="get_meters_per_pixel" symbol="champlain_map_source_get_meters_per_pixel">
+				<return-type type="gfloat"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="zoom_level" type="gint"/>
+					<parameter name="latitude" type="gdouble"/>
+					<parameter name="longitude" type="gdouble"/>
+				</parameters>
+			</method>
+			<method name="get_min_zoom_level" symbol="champlain_map_source_get_min_zoom_level">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+				</parameters>
+			</method>
+			<method name="get_name" symbol="champlain_map_source_get_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+				</parameters>
+			</method>
+			<method name="get_projection" symbol="champlain_map_source_get_projection">
+				<return-type type="ChamplainMapProjection"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+				</parameters>
+			</method>
+			<method name="get_row_count" symbol="champlain_map_source_get_row_count">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="zoom_level" type="gint"/>
+				</parameters>
+			</method>
+			<method name="get_tile_size" symbol="champlain_map_source_get_tile_size">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+				</parameters>
+			</method>
+			<method name="get_x" symbol="champlain_map_source_get_x">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="zoom_level" type="gint"/>
+					<parameter name="longitude" type="gdouble"/>
+				</parameters>
+			</method>
+			<method name="get_y" symbol="champlain_map_source_get_y">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="zoom_level" type="gint"/>
+					<parameter name="latitude" type="gdouble"/>
+				</parameters>
+			</method>
+			<method name="set_id" symbol="champlain_map_source_set_id">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="id" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_license" symbol="champlain_map_source_set_license">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="license" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_license_uri" symbol="champlain_map_source_set_license_uri">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="license_uri" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_name" symbol="champlain_map_source_set_name">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="name" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_projection" symbol="champlain_map_source_set_projection">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="projection" type="ChamplainMapProjection"/>
+				</parameters>
+			</method>
+			<property name="id" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="license" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="license-uri" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="max-zoom-level" type="guint" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="min-zoom-level" type="guint" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="name" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="projection" type="ChamplainMapProjection" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="tile-size" type="guint" readable="1" writable="1" construct="1" construct-only="0"/>
+			<vfunc name="fill_tile">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+					<parameter name="tile" type="ChamplainTile*"/>
+				</parameters>
+			</vfunc>
+		</object>
+		<object name="ChamplainMapSourceFactory" parent="GObject" type-name="ChamplainMapSourceFactory" get-type="champlain_map_source_factory_get_type">
+			<method name="create" symbol="champlain_map_source_factory_create">
+				<return-type type="ChamplainMapSource*"/>
+				<parameters>
+					<parameter name="factory" type="ChamplainMapSourceFactory*"/>
+					<parameter name="id" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="dup_default" symbol="champlain_map_source_factory_dup_default">
+				<return-type type="ChamplainMapSourceFactory*"/>
+			</method>
+			<method name="dup_list" symbol="champlain_map_source_factory_dup_list">
+				<return-type type="GSList*"/>
+				<parameters>
+					<parameter name="factory" type="ChamplainMapSourceFactory*"/>
+				</parameters>
+			</method>
+			<method name="register" symbol="champlain_map_source_factory_register">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="factory" type="ChamplainMapSourceFactory*"/>
+					<parameter name="desc" type="ChamplainMapSourceDesc*"/>
+					<parameter name="constructor" type="ChamplainMapSourceConstructor"/>
+					<parameter name="data" type="gpointer"/>
+				</parameters>
+			</method>
+		</object>
+		<object name="ChamplainMarker" parent="ChamplainBaseMarker" type-name="ChamplainMarker" get-type="champlain_marker_get_type">
+			<implements>
+				<interface name="ClutterScriptable"/>
+				<interface name="ClutterContainer"/>
+			</implements>
+			<method name="get_alignment" symbol="champlain_marker_get_alignment">
+				<return-type type="PangoAlignment"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_color" symbol="champlain_marker_get_color">
+				<return-type type="ClutterColor*"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_draw_background" symbol="champlain_marker_get_draw_background">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_ellipsize" symbol="champlain_marker_get_ellipsize">
+				<return-type type="PangoEllipsizeMode"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_font_name" symbol="champlain_marker_get_font_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_highlight_color" symbol="champlain_marker_get_highlight_color">
+				<return-type type="ClutterColor*"/>
+			</method>
+			<method name="get_highlight_text_color" symbol="champlain_marker_get_highlight_text_color">
+				<return-type type="ClutterColor*"/>
+			</method>
+			<method name="get_image" symbol="champlain_marker_get_image">
+				<return-type type="ClutterActor*"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_single_line_mode" symbol="champlain_marker_get_single_line_mode">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_text" symbol="champlain_marker_get_text">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_text_color" symbol="champlain_marker_get_text_color">
+				<return-type type="ClutterColor*"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_use_markup" symbol="champlain_marker_get_use_markup">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_wrap" symbol="champlain_marker_get_wrap">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="get_wrap_mode" symbol="champlain_marker_get_wrap_mode">
+				<return-type type="PangoWrapMode"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="champlain_marker_new">
+				<return-type type="ClutterActor*"/>
+			</constructor>
+			<constructor name="new_from_file" symbol="champlain_marker_new_from_file">
+				<return-type type="ClutterActor*"/>
+				<parameters>
+					<parameter name="filename" type="gchar*"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_full" symbol="champlain_marker_new_full">
+				<return-type type="ClutterActor*"/>
+				<parameters>
+					<parameter name="text" type="gchar*"/>
+					<parameter name="actor" type="ClutterActor*"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_with_image" symbol="champlain_marker_new_with_image">
+				<return-type type="ClutterActor*"/>
+				<parameters>
+					<parameter name="actor" type="ClutterActor*"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_with_text" symbol="champlain_marker_new_with_text">
+				<return-type type="ClutterActor*"/>
+				<parameters>
+					<parameter name="text" type="gchar*"/>
+					<parameter name="font" type="gchar*"/>
+					<parameter name="text_color" type="ClutterColor*"/>
+					<parameter name="marker_color" type="ClutterColor*"/>
+				</parameters>
+			</constructor>
+			<method name="queue_redraw" symbol="champlain_marker_queue_redraw">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</method>
+			<method name="set_alignment" symbol="champlain_marker_set_alignment">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="alignment" type="PangoAlignment"/>
+				</parameters>
+			</method>
+			<method name="set_attributes" symbol="champlain_marker_set_attributes">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="list" type="PangoAttrList*"/>
+				</parameters>
+			</method>
+			<method name="set_color" symbol="champlain_marker_set_color">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="color" type="ClutterColor*"/>
+				</parameters>
+			</method>
+			<method name="set_draw_background" symbol="champlain_marker_set_draw_background">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="background" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_ellipsize" symbol="champlain_marker_set_ellipsize">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="mode" type="PangoEllipsizeMode"/>
+				</parameters>
+			</method>
+			<method name="set_font_name" symbol="champlain_marker_set_font_name">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="font_name" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_highlight_color" symbol="champlain_marker_set_highlight_color">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="color" type="ClutterColor*"/>
+				</parameters>
+			</method>
+			<method name="set_highlight_text_color" symbol="champlain_marker_set_highlight_text_color">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="color" type="ClutterColor*"/>
+				</parameters>
+			</method>
+			<method name="set_image" symbol="champlain_marker_set_image">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="image" type="ClutterActor*"/>
+				</parameters>
+			</method>
+			<method name="set_single_line_mode" symbol="champlain_marker_set_single_line_mode">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="mode" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_text" symbol="champlain_marker_set_text">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="text" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_text_color" symbol="champlain_marker_set_text_color">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="color" type="ClutterColor*"/>
+				</parameters>
+			</method>
+			<method name="set_use_markup" symbol="champlain_marker_set_use_markup">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="use_markup" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_wrap" symbol="champlain_marker_set_wrap">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="wrap" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_wrap_mode" symbol="champlain_marker_set_wrap_mode">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+					<parameter name="wrap_mode" type="PangoWrapMode"/>
+				</parameters>
+			</method>
+			<property name="alignment" type="PangoAlignment" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="color" type="ClutterColor*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="draw-background" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="ellipsize" type="PangoEllipsizeMode" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="font-name" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="image" type="ClutterActor*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="single-line-mode" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="text" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="text-color" type="ClutterColor*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="use-markup" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="wrap" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="wrap-mode" type="PangoWrapMode" readable="1" writable="1" construct="0" construct-only="0"/>
+			<vfunc name="draw_marker">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="marker" type="ChamplainMarker*"/>
+				</parameters>
+			</vfunc>
+		</object>
+		<object name="ChamplainNetworkMapSource" parent="ChamplainMapSource" type-name="ChamplainNetworkMapSource" get-type="champlain_network_map_source_get_type">
+			<method name="get_tile_uri" symbol="champlain_network_map_source_get_tile_uri">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="source" type="ChamplainNetworkMapSource*"/>
+					<parameter name="x" type="gint"/>
+					<parameter name="y" type="gint"/>
+					<parameter name="z" type="gint"/>
+				</parameters>
+			</method>
+			<constructor name="new_full" symbol="champlain_network_map_source_new_full">
+				<return-type type="ChamplainNetworkMapSource*"/>
+				<parameters>
+					<parameter name="id" type="gchar*"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="license" type="gchar*"/>
+					<parameter name="license_uri" type="gchar*"/>
+					<parameter name="min_zoom" type="guint"/>
+					<parameter name="max_zoom" type="guint"/>
+					<parameter name="tile_size" type="guint"/>
+					<parameter name="projection" type="ChamplainMapProjection"/>
+					<parameter name="uri_format" type="gchar*"/>
+				</parameters>
+			</constructor>
+			<method name="set_uri_format" symbol="champlain_network_map_source_set_uri_format">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="source" type="ChamplainNetworkMapSource*"/>
+					<parameter name="uri_format" type="gchar*"/>
+				</parameters>
+			</method>
+			<property name="offline" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="proxy-uri" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="uri-format" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+		</object>
+		<object name="ChamplainPolygon" parent="GObject" type-name="ChamplainPolygon" get-type="champlain_polygon_get_type">
+			<method name="append_point" symbol="champlain_polygon_append_point">
+				<return-type type="ChamplainPoint*"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+					<parameter name="lat" type="gdouble"/>
+					<parameter name="lon" type="gdouble"/>
+				</parameters>
+			</method>
+			<method name="clear_points" symbol="champlain_polygon_clear_points">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="get_fill" symbol="champlain_polygon_get_fill">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="get_fill_color" symbol="champlain_polygon_get_fill_color">
+				<return-type type="ClutterColor*"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="get_mark_points" symbol="champlain_polygon_get_mark_points">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="get_points" symbol="champlain_polygon_get_points">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="get_stroke" symbol="champlain_polygon_get_stroke">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="get_stroke_color" symbol="champlain_polygon_get_stroke_color">
+				<return-type type="ClutterColor*"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="get_stroke_width" symbol="champlain_polygon_get_stroke_width">
+				<return-type type="gdouble"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="hide" symbol="champlain_polygon_hide">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="insert_point" symbol="champlain_polygon_insert_point">
+				<return-type type="ChamplainPoint*"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+					<parameter name="lat" type="gdouble"/>
+					<parameter name="lon" type="gdouble"/>
+					<parameter name="pos" type="gint"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="champlain_polygon_new">
+				<return-type type="ChamplainPolygon*"/>
+			</constructor>
+			<method name="remove_point" symbol="champlain_polygon_remove_point">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+					<parameter name="point" type="ChamplainPoint*"/>
+				</parameters>
+			</method>
+			<method name="set_fill" symbol="champlain_polygon_set_fill">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+					<parameter name="value" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_fill_color" symbol="champlain_polygon_set_fill_color">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+					<parameter name="color" type="ClutterColor*"/>
+				</parameters>
+			</method>
+			<method name="set_mark_points" symbol="champlain_polygon_set_mark_points">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+					<parameter name="value" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_stroke" symbol="champlain_polygon_set_stroke">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+					<parameter name="value" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_stroke_color" symbol="champlain_polygon_set_stroke_color">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+					<parameter name="color" type="ClutterColor*"/>
+				</parameters>
+			</method>
+			<method name="set_stroke_width" symbol="champlain_polygon_set_stroke_width">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+					<parameter name="value" type="gdouble"/>
+				</parameters>
+			</method>
+			<method name="show" symbol="champlain_polygon_show">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<property name="closed-path" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="fill" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="fill-color" type="ClutterColor*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="mark-points" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="stroke" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="stroke-color" type="ClutterColor*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="stroke-width" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="visible" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+		</object>
+		<object name="ChamplainSelectionLayer" parent="ChamplainLayer" type-name="ChamplainSelectionLayer" get-type="champlain_selection_layer_get_type">
+			<implements>
+				<interface name="ClutterScriptable"/>
+				<interface name="ClutterContainer"/>
+			</implements>
+			<method name="count_selected_markers" symbol="champlain_selection_layer_count_selected_markers">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainSelectionLayer*"/>
+				</parameters>
+			</method>
+			<method name="get_selected" symbol="champlain_selection_layer_get_selected">
+				<return-type type="ChamplainBaseMarker*"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainSelectionLayer*"/>
+				</parameters>
+			</method>
+			<method name="get_selected_markers" symbol="champlain_selection_layer_get_selected_markers">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainSelectionLayer*"/>
+				</parameters>
+			</method>
+			<method name="get_selection_mode" symbol="champlain_selection_layer_get_selection_mode">
+				<return-type type="ChamplainSelectionMode"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainSelectionLayer*"/>
+				</parameters>
+			</method>
+			<method name="marker_is_selected" symbol="champlain_selection_layer_marker_is_selected">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainSelectionLayer*"/>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="champlain_selection_layer_new">
+				<return-type type="ChamplainLayer*"/>
+			</constructor>
+			<method name="select" symbol="champlain_selection_layer_select">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainSelectionLayer*"/>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+				</parameters>
+			</method>
+			<method name="select_all" symbol="champlain_selection_layer_select_all">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainSelectionLayer*"/>
+				</parameters>
+			</method>
+			<method name="set_selection_mode" symbol="champlain_selection_layer_set_selection_mode">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainSelectionLayer*"/>
+					<parameter name="mode" type="ChamplainSelectionMode"/>
+				</parameters>
+			</method>
+			<method name="unselect" symbol="champlain_selection_layer_unselect">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainSelectionLayer*"/>
+					<parameter name="marker" type="ChamplainBaseMarker*"/>
+				</parameters>
+			</method>
+			<method name="unselect_all" symbol="champlain_selection_layer_unselect_all">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="layer" type="ChamplainSelectionLayer*"/>
+				</parameters>
+			</method>
+			<property name="selection-mode" type="ChamplainSelectionMode" readable="1" writable="1" construct="0" construct-only="0"/>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="object" type="ChamplainSelectionLayer*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="ChamplainTile" parent="GObject" type-name="ChamplainTile" get-type="champlain_tile_get_type">
+			<method name="get_actor" symbol="champlain_tile_get_actor">
+				<return-type type="ClutterActor*"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_content" symbol="champlain_tile_get_content">
+				<return-type type="ClutterActor*"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_etag" symbol="champlain_tile_get_etag">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_filename" symbol="champlain_tile_get_filename">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_modified_time" symbol="champlain_tile_get_modified_time">
+				<return-type type="GTimeVal*"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_modified_time_string" symbol="champlain_tile_get_modified_time_string">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_size" symbol="champlain_tile_get_size">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_state" symbol="champlain_tile_get_state">
+				<return-type type="ChamplainState"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_uri" symbol="champlain_tile_get_uri">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_x" symbol="champlain_tile_get_x">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_y" symbol="champlain_tile_get_y">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_zoom_level" symbol="champlain_tile_get_zoom_level">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="champlain_tile_new">
+				<return-type type="ChamplainTile*"/>
+			</constructor>
+			<constructor name="new_full" symbol="champlain_tile_new_full">
+				<return-type type="ChamplainTile*"/>
+				<parameters>
+					<parameter name="x" type="gint"/>
+					<parameter name="y" type="gint"/>
+					<parameter name="size" type="guint"/>
+					<parameter name="zoom_level" type="gint"/>
+				</parameters>
+			</constructor>
+			<method name="set_content" symbol="champlain_tile_set_content">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+					<parameter name="actor" type="ClutterActor*"/>
+					<parameter name="fade_in" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_etag" symbol="champlain_tile_set_etag">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+					<parameter name="etag" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_filename" symbol="champlain_tile_set_filename">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+					<parameter name="filename" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_modified_time" symbol="champlain_tile_set_modified_time">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+					<parameter name="time" type="GTimeVal*"/>
+				</parameters>
+			</method>
+			<method name="set_size" symbol="champlain_tile_set_size">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+					<parameter name="size" type="guint"/>
+				</parameters>
+			</method>
+			<method name="set_state" symbol="champlain_tile_set_state">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+					<parameter name="state" type="ChamplainState"/>
+				</parameters>
+			</method>
+			<method name="set_uri" symbol="champlain_tile_set_uri">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+					<parameter name="uri" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_x" symbol="champlain_tile_set_x">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+					<parameter name="x" type="gint"/>
+				</parameters>
+			</method>
+			<method name="set_y" symbol="champlain_tile_set_y">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+					<parameter name="y" type="gint"/>
+				</parameters>
+			</method>
+			<method name="set_zoom_level" symbol="champlain_tile_set_zoom_level">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainTile*"/>
+					<parameter name="zoom_level" type="gint"/>
+				</parameters>
+			</method>
+			<property name="actor" type="ClutterActor*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="content" type="ClutterActor*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="etag" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="filename" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="size" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="state" type="ChamplainState" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="uri" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="x" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="y" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="zoom-level" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
+		</object>
+		<object name="ChamplainView" parent="ClutterGroup" type-name="ChamplainView" get-type="champlain_view_get_type">
+			<implements>
+				<interface name="ClutterScriptable"/>
+				<interface name="ClutterContainer"/>
+			</implements>
+			<method name="add_layer" symbol="champlain_view_add_layer">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="layer" type="ChamplainLayer*"/>
+				</parameters>
+			</method>
+			<method name="add_polygon" symbol="champlain_view_add_polygon">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="center_on" symbol="champlain_view_center_on">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="latitude" type="gdouble"/>
+					<parameter name="longitude" type="gdouble"/>
+				</parameters>
+			</method>
+			<method name="ensure_markers_visible" symbol="champlain_view_ensure_markers_visible">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="markers" type="ChamplainBaseMarker*[]"/>
+					<parameter name="animate" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="ensure_visible" symbol="champlain_view_ensure_visible">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="lat1" type="gdouble"/>
+					<parameter name="lon1" type="gdouble"/>
+					<parameter name="lat2" type="gdouble"/>
+					<parameter name="lon2" type="gdouble"/>
+					<parameter name="animate" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="get_coords_at" symbol="champlain_view_get_coords_at">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="x" type="guint"/>
+					<parameter name="y" type="guint"/>
+					<parameter name="lat" type="gdouble*"/>
+					<parameter name="lon" type="gdouble*"/>
+				</parameters>
+			</method>
+			<method name="get_coords_from_event" symbol="champlain_view_get_coords_from_event">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="event" type="ClutterEvent*"/>
+					<parameter name="lat" type="gdouble*"/>
+					<parameter name="lon" type="gdouble*"/>
+				</parameters>
+			</method>
+			<method name="get_decel_rate" symbol="champlain_view_get_decel_rate">
+				<return-type type="gdouble"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_keep_center_on_resize" symbol="champlain_view_get_keep_center_on_resize">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_license_text" symbol="champlain_view_get_license_text">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_map_source" symbol="champlain_view_get_map_source">
+				<return-type type="ChamplainMapSource*"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_max_scale_width" symbol="champlain_view_get_max_scale_width">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_max_zoom_level" symbol="champlain_view_get_max_zoom_level">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_min_zoom_level" symbol="champlain_view_get_min_zoom_level">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_scale_unit" symbol="champlain_view_get_scale_unit">
+				<return-type type="ChamplainUnit"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_scroll_mode" symbol="champlain_view_get_scroll_mode">
+				<return-type type="ChamplainScrollMode"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_show_license" symbol="champlain_view_get_show_license">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_show_scale" symbol="champlain_view_get_show_scale">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_zoom_level" symbol="champlain_view_get_zoom_level">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="get_zoom_on_double_click" symbol="champlain_view_get_zoom_on_double_click">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="go_to" symbol="champlain_view_go_to">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="latitude" type="gdouble"/>
+					<parameter name="longitude" type="gdouble"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="champlain_view_new">
+				<return-type type="ClutterActor*"/>
+			</constructor>
+			<method name="remove_layer" symbol="champlain_view_remove_layer">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="layer" type="ChamplainLayer*"/>
+				</parameters>
+			</method>
+			<method name="remove_polygon" symbol="champlain_view_remove_polygon">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="polygon" type="ChamplainPolygon*"/>
+				</parameters>
+			</method>
+			<method name="set_decel_rate" symbol="champlain_view_set_decel_rate">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="rate" type="gdouble"/>
+				</parameters>
+			</method>
+			<method name="set_keep_center_on_resize" symbol="champlain_view_set_keep_center_on_resize">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="value" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_license_text" symbol="champlain_view_set_license_text">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="text" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_map_source" symbol="champlain_view_set_map_source">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="map_source" type="ChamplainMapSource*"/>
+				</parameters>
+			</method>
+			<method name="set_max_scale_width" symbol="champlain_view_set_max_scale_width">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="value" type="guint"/>
+				</parameters>
+			</method>
+			<method name="set_max_zoom_level" symbol="champlain_view_set_max_zoom_level">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="zoom_level" type="gint"/>
+				</parameters>
+			</method>
+			<method name="set_min_zoom_level" symbol="champlain_view_set_min_zoom_level">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="zoom_level" type="gint"/>
+				</parameters>
+			</method>
+			<method name="set_scale_unit" symbol="champlain_view_set_scale_unit">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="unit" type="ChamplainUnit"/>
+				</parameters>
+			</method>
+			<method name="set_scroll_mode" symbol="champlain_view_set_scroll_mode">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="mode" type="ChamplainScrollMode"/>
+				</parameters>
+			</method>
+			<method name="set_show_license" symbol="champlain_view_set_show_license">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="value" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_show_scale" symbol="champlain_view_set_show_scale">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="value" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_size" symbol="champlain_view_set_size">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="width" type="guint"/>
+					<parameter name="height" type="guint"/>
+				</parameters>
+			</method>
+			<method name="set_zoom_level" symbol="champlain_view_set_zoom_level">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="zoom_level" type="gint"/>
+				</parameters>
+			</method>
+			<method name="set_zoom_on_double_click" symbol="champlain_view_set_zoom_on_double_click">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+					<parameter name="value" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="stop_go_to" symbol="champlain_view_stop_go_to">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="zoom_in" symbol="champlain_view_zoom_in">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<method name="zoom_out" symbol="champlain_view_zoom_out">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="ChamplainView*"/>
+				</parameters>
+			</method>
+			<property name="decel-rate" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="keep-center-on-resize" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="latitude" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="license-text" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="longitude" type="gdouble" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="map-source" type="ChamplainMapSource*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="max-scale-width" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="max-zoom-level" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="min-zoom-level" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="scale-unit" type="ChamplainUnit" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="scroll-mode" type="ChamplainScrollMode" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="show-license" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="show-scale" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="state" type="ChamplainState" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="zoom-level" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="zoom-on-double-click" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+			<signal name="animation-completed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="object" type="ChamplainView*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="ChamplainZoomLevel" parent="GObject" type-name="ChamplainZoomLevel" get-type="champlain_zoom_level_get_type">
+			<method name="add_tile" symbol="champlain_zoom_level_add_tile">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+					<parameter name="tile" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="get_actor" symbol="champlain_zoom_level_get_actor">
+				<return-type type="ClutterActor*"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+				</parameters>
+			</method>
+			<method name="get_height" symbol="champlain_zoom_level_get_height">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+				</parameters>
+			</method>
+			<method name="get_nth_tile" symbol="champlain_zoom_level_get_nth_tile">
+				<return-type type="ChamplainTile*"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+					<parameter name="index" type="guint"/>
+				</parameters>
+			</method>
+			<method name="get_width" symbol="champlain_zoom_level_get_width">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+				</parameters>
+			</method>
+			<method name="get_zoom_level" symbol="champlain_zoom_level_get_zoom_level">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="champlain_zoom_level_new">
+				<return-type type="ChamplainZoomLevel*"/>
+			</constructor>
+			<method name="remove_tile" symbol="champlain_zoom_level_remove_tile">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+					<parameter name="tile" type="ChamplainTile*"/>
+				</parameters>
+			</method>
+			<method name="set_height" symbol="champlain_zoom_level_set_height">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+					<parameter name="height" type="guint"/>
+				</parameters>
+			</method>
+			<method name="set_width" symbol="champlain_zoom_level_set_width">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+					<parameter name="width" type="guint"/>
+				</parameters>
+			</method>
+			<method name="set_zoom_level" symbol="champlain_zoom_level_set_zoom_level">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+					<parameter name="zoom_level" type="gint"/>
+				</parameters>
+			</method>
+			<method name="tile_count" symbol="champlain_zoom_level_tile_count">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="self" type="ChamplainZoomLevel*"/>
+				</parameters>
+			</method>
+			<property name="actor" type="ClutterActor*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="height" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="width" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="zoom-level" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
+			<signal name="tile-added" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="object" type="ChamplainZoomLevel*"/>
+					<parameter name="p0" type="ChamplainTile*"/>
+				</parameters>
+			</signal>
+			<signal name="tile-removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="object" type="ChamplainZoomLevel*"/>
+					<parameter name="p0" type="ChamplainTile*"/>
+				</parameters>
+			</signal>
+		</object>
+		<constant name="CHAMPLAIN_MAJOR_VERSION" type="int" value="0"/>
+		<constant name="CHAMPLAIN_MAP_SOURCE_MFF_RELIEF" type="char*" value="MapsForFree Relief"/>
+		<constant name="CHAMPLAIN_MAP_SOURCE_OAM" type="char*" value="OpenAerialMap"/>
+		<constant name="CHAMPLAIN_MAP_SOURCE_OSM_CYCLE_MAP" type="char*" value="OpenCycleMap"/>
+		<constant name="CHAMPLAIN_MAP_SOURCE_OSM_MAPNIK" type="char*" value="OpenStreetMap I"/>
+		<constant name="CHAMPLAIN_MAP_SOURCE_OSM_OSMARENDER" type="char*" value="OpenStreetMap II"/>
+		<constant name="CHAMPLAIN_MAP_SOURCE_OSM_TRANSPORT_MAP" type="char*" value="Public Transport"/>
+		<constant name="CHAMPLAIN_MAX_LAT" type="int" value="90"/>
+		<constant name="CHAMPLAIN_MAX_LONG" type="int" value="180"/>
+		<constant name="CHAMPLAIN_MICRO_VERSION" type="int" value="5"/>
+		<constant name="CHAMPLAIN_MINOR_VERSION" type="int" value="4"/>
+		<constant name="CHAMPLAIN_MIN_LAT" type="int" value="-90"/>
+		<constant name="CHAMPLAIN_MIN_LONG" type="int" value="-180"/>
+		<constant name="CHAMPLAIN_PARAM_READABLE" type="int" value="0"/>
+		<constant name="CHAMPLAIN_PARAM_READWRITE" type="int" value="0"/>
+		<constant name="CHAMPLAIN_VERSION_HEX" type="int" value="0"/>
+		<constant name="CHAMPLAIN_VERSION_S" type="char*" value="0.4.5"/>
+	</namespace>
+</api>
diff --git a/bindings/vala/champlain/champlain-0.4/champlain-0.4.metadata b/bindings/vala/champlain/champlain-0.4/champlain-0.4.metadata
new file mode 100644
index 0000000..81a5216
--- /dev/null
+++ b/bindings/vala/champlain/champlain-0.4/champlain-0.4.metadata
@@ -0,0 +1 @@
+Champlain cheader_filename="champlain/champlain.h"
diff --git a/bindings/vala/champlain/champlain-0.4/champlain-0.4.namespace b/bindings/vala/champlain/champlain-0.4/champlain-0.4.namespace
new file mode 100644
index 0000000..0b86a40
--- /dev/null
+++ b/bindings/vala/champlain/champlain-0.4/champlain-0.4.namespace
@@ -0,0 +1 @@
+Champlain
diff --git a/bindings/vala/champlain/create.sh b/bindings/vala/champlain/create.sh
new file mode 100644
index 0000000..9605f66
--- /dev/null
+++ b/bindings/vala/champlain/create.sh
@@ -0,0 +1 @@
+vapigen --library champlain-0.4 --pkg clutter-1.0 champlain-0.4/champlain-0.4.gi
diff --git a/configure.ac b/configure.ac
index b8ed9bc..4a90110 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,6 +27,9 @@ AC_PROG_CC
 AM_PROG_CC_C_O
 AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
 
+AC_PATH_PROG(VAPIGEN, vapigen, vapigen)
+AC_SUBST(VAPIGEN)
+
 # Checks for libraries.
 LIBRARY_VERSION=3:2:3
 # API_VERSION is used to generate pc files only
@@ -234,6 +237,9 @@ AC_CONFIG_FILES([Makefile
                  bindings/managed/champlain-gtk/champlain-gtk-sharp.pc
                  bindings/managed/champlain-gtk/champlain-gtk-sharp.dll.config
                  bindings/managed/samples/Makefile
+                 bindings/vala/Makefile
+                 bindings/vala/champlain/Makefile
+                 bindings/vala/champlain-gtk/Makefile
                  bindings/Makefile])
 AC_OUTPUT
 



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