diff options
author | Perberos <[email protected]> | 2011-12-01 21:42:39 -0300 |
---|---|---|
committer | Perberos <[email protected]> | 2011-12-01 21:42:39 -0300 |
commit | fe8aea1c3b5348347633da18a02b0bffd3b266a1 (patch) | |
tree | 9881bf77df7572844707cc7c50bd8ca6b5a97076 /libmateweather/mateweather-location.h | |
download | libmateweather-fe8aea1c3b5348347633da18a02b0bffd3b266a1.tar.bz2 libmateweather-fe8aea1c3b5348347633da18a02b0bffd3b266a1.tar.xz |
moving from https://github.com/perberos/mate-desktop-environment
Diffstat (limited to 'libmateweather/mateweather-location.h')
-rw-r--r-- | libmateweather/mateweather-location.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/libmateweather/mateweather-location.h b/libmateweather/mateweather-location.h new file mode 100644 index 0000000..7bb9fa9 --- /dev/null +++ b/libmateweather/mateweather-location.h @@ -0,0 +1,89 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* mateweather-location.h - Location-handling code + * + * Copyright 2008, Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see + * <http://www.gnu.org/licenses/>. + */ + +#ifndef __MATEWEATHER_LOCATIONS_H__ +#define __MATEWEATHER_LOCATIONS_H__ + +#ifndef MATEWEATHER_I_KNOW_THIS_IS_UNSTABLE +#error "libmateweather should only be used if you understand that it's subject to change, and is not supported as a fixed API/ABI or as part of the platform" +#endif + +#include <glib.h> +#include <libmateweather/mateweather-timezone.h> +#include <libmateweather/weather.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _MateWeatherLocation MateWeatherLocation; + +typedef enum { /*< underscore_name=mateweather_location_level >*/ + MATEWEATHER_LOCATION_WORLD, + MATEWEATHER_LOCATION_REGION, + MATEWEATHER_LOCATION_COUNTRY, + /* ADM1 = first-order administrative division = state/province, etc */ + MATEWEATHER_LOCATION_ADM1, + /* ADM2 = second-order division = county, etc */ + MATEWEATHER_LOCATION_ADM2, + MATEWEATHER_LOCATION_CITY, + MATEWEATHER_LOCATION_WEATHER_STATION +} MateWeatherLocationLevel; + +GType mateweather_location_get_type (void); +#define MATEWEATHER_TYPE_LOCATION (mateweather_location_get_type ()) + +MateWeatherLocation *mateweather_location_new_world (gboolean use_regions); +MateWeatherLocation *mateweather_location_ref (MateWeatherLocation *loc); +void mateweather_location_unref (MateWeatherLocation *loc); + +const char *mateweather_location_get_name (MateWeatherLocation *loc); +const char *mateweather_location_get_sort_name (MateWeatherLocation *loc); +MateWeatherLocationLevel mateweather_location_get_level (MateWeatherLocation *loc); +MateWeatherLocation *mateweather_location_get_parent (MateWeatherLocation *loc); + +MateWeatherLocation **mateweather_location_get_children (MateWeatherLocation *loc); +void mateweather_location_free_children (MateWeatherLocation *loc, + MateWeatherLocation **children); + +gboolean mateweather_location_has_coords (MateWeatherLocation *loc); +void mateweather_location_get_coords (MateWeatherLocation *loc, + double *latitude, + double *longitude); +double mateweather_location_get_distance (MateWeatherLocation *loc, + MateWeatherLocation *loc2); + +const char *mateweather_location_get_country (MateWeatherLocation *loc); + +MateWeatherTimezone *mateweather_location_get_timezone (MateWeatherLocation *loc); +MateWeatherTimezone **mateweather_location_get_timezones (MateWeatherLocation *loc); +void mateweather_location_free_timezones (MateWeatherLocation *loc, + MateWeatherTimezone **zones); + +const char *mateweather_location_get_code (MateWeatherLocation *loc); +char *mateweather_location_get_city_name (MateWeatherLocation *loc); + +WeatherInfo *mateweather_location_get_weather (MateWeatherLocation *loc); + +#ifdef __cplusplus +} +#endif + +#endif /* __MATEWEATHER_LOCATIONS_H__ */ |