/* geocode-glib-1.0.vapi generated by vapigen-0.20, do not modify. */

[CCode (cprefix = "Geocode", gir_namespace = "GeocodeGlib", gir_version = "1.0", lower_case_cprefix = "geocode__")]
namespace Geocode {
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", type_id = "geocode_forward_get_type ()")]
	public class Forward : GLib.Object {
		[CCode (has_construct_function = false)]
		protected Forward ();
		[CCode (cname = "geocode_forward_new_for_params", has_construct_function = false)]
		public Forward.for_params (GLib.HashTable<string,GLib.Value?> @params);
		[CCode (cname = "geocode_forward_new_for_string", has_construct_function = false)]
		public Forward.for_string (string str);
		[CCode (cname = "geocode_forward_search")]
		public GLib.List<weak Geocode.Place> search () throws GLib.Error;
		[CCode (cname = "geocode_forward_search_async")]
		public async GLib.List<weak Geocode.Place> search_async (GLib.Cancellable? cancellable) throws GLib.Error;
		[CCode (cname = "geocode_forward_set_answer_count")]
		public void set_answer_count (uint count);
	}
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", type_id = "geocode_ipclient_get_type ()")]
	public class Ipclient : GLib.Object {
		[CCode (cname = "geocode_ipclient_new", has_construct_function = false)]
		public Ipclient ();
		[CCode (cname = "geocode_ipclient_new_for_ip", has_construct_function = false)]
		public Ipclient.for_ip (string str);
		[CCode (cname = "geocode_ipclient_search")]
		public Geocode.Location search () throws GLib.Error;
		[CCode (cname = "geocode_ipclient_search_async")]
		public async Geocode.Location search_async (GLib.Cancellable? cancellable) throws GLib.Error;
		[NoAccessorMethod]
		public bool compatibility_mode { get; set construct; }
		[NoAccessorMethod]
		public string server { owned get; set construct; }
	}
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", type_id = "geocode_location_get_type ()")]
	public class Location : GLib.Object {
		[CCode (cname = "geocode_location_new", has_construct_function = false)]
		public Location (double latitude, double longitude, double accuracy);
		[CCode (cname = "geocode_location_get_accuracy")]
		public double get_accuracy ();
		[CCode (cname = "geocode_location_get_description")]
		public unowned string get_description ();
		[CCode (cname = "geocode_location_get_distance_from")]
		public double get_distance_from (Geocode.Location locb);
		[CCode (cname = "geocode_location_get_latitude")]
		public double get_latitude ();
		[CCode (cname = "geocode_location_get_longitude")]
		public double get_longitude ();
		[CCode (cname = "geocode_location_get_timestamp")]
		public uint64 get_timestamp ();
		[CCode (cname = "geocode_location_set_description")]
		public void set_description (string description);
		[CCode (cname = "geocode_location_new_with_description", has_construct_function = false)]
		public Location.with_description (double latitude, double longitude, double accuracy, string description);
		[NoAccessorMethod]
		public double accuracy { get; construct; }
		[NoAccessorMethod]
		public string description { owned get; set; }
		[NoAccessorMethod]
		public double latitude { get; construct; }
		[NoAccessorMethod]
		public double longitude { get; construct; }
		[NoAccessorMethod]
		public uint64 timestamp { get; }
	}
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", type_id = "geocode_place_get_type ()")]
	public class Place : GLib.Object {
		[CCode (cname = "geocode_place_new", has_construct_function = false)]
		public Place (string name, Geocode.PlaceType place_type);
		[CCode (cname = "geocode_place_get_administrative_area")]
		public unowned string get_administrative_area ();
		[CCode (cname = "geocode_place_get_continent")]
		public unowned string get_continent ();
		[CCode (cname = "geocode_place_get_country")]
		public unowned string get_country ();
		[CCode (cname = "geocode_place_get_country_code")]
		public unowned string get_country_code ();
		[CCode (cname = "geocode_place_get_county")]
		public unowned string get_county ();
		[CCode (cname = "geocode_place_get_location")]
		public unowned Geocode.Location get_location ();
		[CCode (cname = "geocode_place_get_name")]
		public unowned string get_name ();
		[CCode (cname = "geocode_place_get_place_type")]
		public Geocode.PlaceType get_place_type ();
		[CCode (cname = "geocode_place_get_postal_code")]
		public unowned string get_postal_code ();
		[CCode (cname = "geocode_place_get_state")]
		public unowned string get_state ();
		[CCode (cname = "geocode_place_get_street_address")]
		public unowned string get_street_address ();
		[CCode (cname = "geocode_place_get_town")]
		public unowned string get_town ();
		[CCode (cname = "geocode_place_set_administrative_area")]
		public void set_administrative_area (string admin_area);
		[CCode (cname = "geocode_place_set_continent")]
		public void set_continent (string continent);
		[CCode (cname = "geocode_place_set_country")]
		public void set_country (string country);
		[CCode (cname = "geocode_place_set_country_code")]
		public void set_country_code (string country_code);
		[CCode (cname = "geocode_place_set_county")]
		public void set_county (string county);
		[CCode (cname = "geocode_place_set_location")]
		public void set_location (Geocode.Location location);
		[CCode (cname = "geocode_place_set_postal_code")]
		public void set_postal_code (string postal_code);
		[CCode (cname = "geocode_place_set_state")]
		public void set_state (string state);
		[CCode (cname = "geocode_place_set_street_address")]
		public void set_street_address (string street_address);
		[CCode (cname = "geocode_place_set_town")]
		public void set_town (string town);
		[CCode (cname = "geocode_place_new_with_location", has_construct_function = false)]
		public Place.with_location (string name, Geocode.PlaceType place_type, Geocode.Location location);
		[NoAccessorMethod]
		public string administrative_area { owned get; set; }
		[NoAccessorMethod]
		public string continent { owned get; set; }
		[NoAccessorMethod]
		public string country { owned get; set; }
		[NoAccessorMethod]
		public string country_code { owned get; set; }
		[NoAccessorMethod]
		public string county { owned get; set; }
		[NoAccessorMethod]
		public Geocode.Location location { owned get; set; }
		[NoAccessorMethod]
		public string name { owned get; construct; }
		[NoAccessorMethod]
		public Geocode.PlaceType place_type { get; construct; }
		[NoAccessorMethod]
		public string postal_code { owned get; set; }
		[NoAccessorMethod]
		public string state { owned get; set; }
		[NoAccessorMethod]
		public string street_address { owned get; set; }
		[NoAccessorMethod]
		public string town { owned get; set; }
	}
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", type_id = "geocode_reverse_get_type ()")]
	public class Reverse : GLib.Object {
		[CCode (has_construct_function = false)]
		protected Reverse ();
		[CCode (cname = "geocode_reverse_new_for_location", has_construct_function = false)]
		public Reverse.for_location (Geocode.Location location);
		[CCode (cname = "geocode_reverse_resolve")]
		public GLib.HashTable<string,string> resolve () throws GLib.Error;
		[CCode (cname = "geocode_reverse_resolve_async")]
		public async GLib.HashTable<string,string> resolve_async (GLib.Cancellable? cancellable) throws GLib.Error;
	}
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cprefix = "GEOCODE_PLACE_TYPE_", type_id = "geocode_place_type_get_type ()")]
	public enum PlaceType {
		UNKNOWN,
		TOWN,
		STATE,
		COUNTY,
		LOCAL_ADMINISTRATIVE_AREA,
		POSTAL_CODE,
		COUNTRY,
		ISLAND,
		AIRPORT,
		DRAINAGE,
		LAND_FEATURE,
		MISCELLANEOUS,
		SUPERNAME,
		POINT_OF_INTEREST,
		SUBURB,
		COLLOQUIAL,
		ZONE,
		HISTORICAL_STATE,
		HISTORICAL_COUNTY,
		CONTINENT,
		TIME_ZONE,
		ESTATE,
		HISTORICAL_TOWN,
		OCEAN,
		SEA
	}
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cprefix = "GEOCODE_ERROR_")]
	public errordomain Error {
		PARSE,
		NOT_SUPPORTED,
		NO_MATCHES,
		INVALID_ARGUMENTS,
		INTERNAL_SERVER
	}
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_LOCATION_ACCURACY_CITY")]
	public const int LOCATION_ACCURACY_CITY;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_LOCATION_ACCURACY_CONTINENT")]
	public const int LOCATION_ACCURACY_CONTINENT;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_LOCATION_ACCURACY_COUNTRY")]
	public const int LOCATION_ACCURACY_COUNTRY;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_LOCATION_ACCURACY_REGION")]
	public const int LOCATION_ACCURACY_REGION;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_LOCATION_ACCURACY_STREET")]
	public const int LOCATION_ACCURACY_STREET;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_LOCATION_ACCURACY_UNKNOWN")]
	public const int LOCATION_ACCURACY_UNKNOWN;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_AIRPORT")]
	public const string OBJECT_FIELD_AIRPORT;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_CITY")]
	public const string OBJECT_FIELD_CITY;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_COUNTRY")]
	public const string OBJECT_FIELD_COUNTRY;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_COUNTRYCODE")]
	public const string OBJECT_FIELD_COUNTRYCODE;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_COUNTY")]
	public const string OBJECT_FIELD_COUNTY;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_COUNTYCODE")]
	public const string OBJECT_FIELD_COUNTYCODE;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_HASH")]
	public const string OBJECT_FIELD_HASH;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_HOUSE")]
	public const string OBJECT_FIELD_HOUSE;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_LATITUDE")]
	public const string OBJECT_FIELD_LATITUDE;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_LINE1")]
	public const string OBJECT_FIELD_LINE1;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_LINE2")]
	public const string OBJECT_FIELD_LINE2;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_LINE3")]
	public const string OBJECT_FIELD_LINE3;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_LINE4")]
	public const string OBJECT_FIELD_LINE4;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_LONGITUDE")]
	public const string OBJECT_FIELD_LONGITUDE;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_NAME")]
	public const string OBJECT_FIELD_NAME;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_NEIGHBORHOOD")]
	public const string OBJECT_FIELD_NEIGHBORHOOD;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_OFFSETLAT")]
	public const string OBJECT_FIELD_OFFSETLAT;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_OFFSETLON")]
	public const string OBJECT_FIELD_OFFSETLON;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_POSTAL")]
	public const string OBJECT_FIELD_POSTAL;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_RADIUS")]
	public const string OBJECT_FIELD_RADIUS;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_STATE")]
	public const string OBJECT_FIELD_STATE;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_STATECODE")]
	public const string OBJECT_FIELD_STATECODE;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_STREET")]
	public const string OBJECT_FIELD_STREET;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_TIMEZONE")]
	public const string OBJECT_FIELD_TIMEZONE;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "GEOCODE_OBJECT_FIELD_UZIP")]
	public const string OBJECT_FIELD_UZIP;
	[CCode (cheader_filename = "geocode-glib/geocode-glib.h", cname = "geocode_error_quark")]
	public static GLib.Quark error_quark ();
}
