GWeatherInfo

GWeatherInfo

Functions

GWeatherInfo * gweather_info_new ()
void gweather_info_update ()
void gweather_info_abort ()
gboolean gweather_info_is_valid ()
gboolean gweather_info_network_error ()
void gweather_info_store_cache ()
const GWeatherLocation * gweather_info_get_location ()
void gweather_info_set_location ()
gchar * gweather_info_get_forecast ()
GSList * gweather_info_get_forecast_list ()
GWeatherProvider gweather_info_get_enabled_providers ()
void gweather_info_set_enabled_providers ()
const gchar * gweather_info_get_attribution ()
gchar * gweather_info_get_location_name ()
const gchar * gweather_info_get_icon_name ()
const gchar * gweather_info_get_symbolic_icon_name ()
gchar * gweather_info_get_weather_summary ()
gchar * gweather_info_get_temp_summary ()
gchar * gweather_info_get_update ()
gchar * gweather_info_get_sky ()
gchar * gweather_info_get_conditions ()
gchar * gweather_info_get_temp ()
gchar * gweather_info_get_temp_min ()
gchar * gweather_info_get_temp_max ()
gchar * gweather_info_get_dew ()
gchar * gweather_info_get_humidity ()
gchar * gweather_info_get_wind ()
gchar * gweather_info_get_pressure ()
gchar * gweather_info_get_visibility ()
gchar * gweather_info_get_apparent ()
gchar * gweather_info_get_sunrise ()
gchar * gweather_info_get_sunset ()
GdkPixbufAnimation * gweather_info_get_radar ()
const gchar * gweather_conditions_to_string ()
const gchar * gweather_sky_to_string ()
const gchar * gweather_wind_direction_to_string ()
gboolean gweather_info_get_value_update ()
gboolean gweather_info_get_value_sky ()
gboolean gweather_info_get_value_conditions ()
gboolean gweather_info_get_value_temp ()
gboolean gweather_info_get_value_temp_min ()
gboolean gweather_info_get_value_temp_max ()
gboolean gweather_info_get_value_dew ()
gboolean gweather_info_get_value_apparent ()
gboolean gweather_info_get_value_wind ()
gboolean gweather_info_get_value_pressure ()
gboolean gweather_info_get_value_visibility ()
gboolean gweather_info_get_value_sunrise ()
gboolean gweather_info_get_value_sunset ()
gint gweather_info_next_sun_event ()
gboolean gweather_info_get_value_moonphase ()
gboolean gweather_info_get_upcoming_moonphases ()
gboolean gweather_info_is_daytime ()

Properties

GWeatherProvider enabled-providers Read / Write
GWeatherLocation * location Read / Write / Construct

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── GWeatherInfo

Includes

#include <libgweather/gweather.h>

Description

GWeatherInfo provides a handy way to access weather conditions and forecasts from a GWeatherLocation, aggregating multiple different web services.

It includes also astronomical data such as sunrise times and moon phases.

Functions

gweather_info_new ()

GWeatherInfo *
gweather_info_new (GWeatherLocation *location,
                   GWeatherForecastType type);

Builds a new GWeatherInfo that will provide weather information about location .

Parameters

location

the desidered GWeatherLocation (NULL for default).

[allow-none]

type

deprecated and ignored

 

Returns

a new GWeatherInfo.

[transfer full]


gweather_info_update ()

void
gweather_info_update (GWeatherInfo *info);

Requests a reload of weather conditions and forecast data from enabled network services. This call does no synchronous IO: rather, the result is delivered by emitting the “updated” signal. Note that if no network services are enabled, the signal will not be emitted. See “enabled-providers” for details.

Parameters

info

a GWeatherInfo

 

gweather_info_abort ()

void
gweather_info_abort (GWeatherInfo *info);

gweather_info_is_valid ()

gboolean
gweather_info_is_valid (GWeatherInfo *info);

gweather_info_network_error ()

gboolean
gweather_info_network_error (GWeatherInfo *info);

gweather_info_store_cache ()

void
gweather_info_store_cache (void);

Ensures that any data cached from the network is stored to disk. Calling this is not necessary, as the cache will be saved when the last reference to a GWeatherInfo will be dropped. On the other hand, it must be called if there is any chance that the application will be closed without unreffing all objects, such as when using a language binding that employs a GC.


gweather_info_get_location ()

const GWeatherLocation *
gweather_info_get_location (GWeatherInfo *info);

gweather_info_set_location ()

void
gweather_info_set_location (GWeatherInfo *info,
                            GWeatherLocation *location);

Changes info to report weather for location . Note that this will clear any forecast or current conditions from info , you must call gweather_info_update() to obtain the new data.

Parameters

info

a GWeatherInfo

 

location

a location for which weather is desired.

[allow-none]

gweather_info_get_forecast ()

gchar *
gweather_info_get_forecast (GWeatherInfo *info);

gweather_info_get_forecast has been deprecated since version 3.10 and should not be used in newly-written code.

Use gweather_info_get_forecast_list() instead.

Parameters

info

a GWeatherInfo

 

gweather_info_get_forecast_list ()

GSList *
gweather_info_get_forecast_list (GWeatherInfo *info);

Parameters

info

a GWeatherInfo

 

Returns

list of GWeatherInfo* objects for the forecast. The list is owned by the 'info' object thus is alive as long as the 'info'. This list is filled only when requested with type FORECAST_LIST and if available for given location. The 'update' property is the date/time when the forecast info is used for.

[transfer none][element-type GWeather.Info]


gweather_info_get_enabled_providers ()

GWeatherProvider
gweather_info_get_enabled_providers (GWeatherInfo *info);

gweather_info_set_enabled_providers ()

void
gweather_info_set_enabled_providers (GWeatherInfo *info,
                                     GWeatherProvider providers);

gweather_info_get_attribution ()

const gchar *
gweather_info_get_attribution (GWeatherInfo *info);

Some weather services require the application showing the data to include an attribution text, possibly including links to the service website. This must be shown prominently toghether with the data.

Parameters

info

a GWeatherInfo

 

Returns

the required attribution text, in Pango markup form, or NULL if not required.

[transfer none]


gweather_info_get_location_name ()

gchar *
gweather_info_get_location_name (GWeatherInfo *info);

gweather_info_get_icon_name ()

const gchar *
gweather_info_get_icon_name (GWeatherInfo *info);

gweather_info_get_symbolic_icon_name ()

const gchar *
gweather_info_get_symbolic_icon_name (GWeatherInfo *info);

gweather_info_get_weather_summary ()

gchar *
gweather_info_get_weather_summary (GWeatherInfo *info);

Parameters

info

a GWeatherInfo

 

Returns

a summary for current weather conditions.

[transfer full]


gweather_info_get_temp_summary ()

gchar *
gweather_info_get_temp_summary (GWeatherInfo *info);

gweather_info_get_update ()

gchar *
gweather_info_get_update (GWeatherInfo *info);

gweather_info_get_sky ()

gchar *
gweather_info_get_sky (GWeatherInfo *info);

gweather_info_get_conditions ()

gchar *
gweather_info_get_conditions (GWeatherInfo *info);

gweather_info_get_temp ()

gchar *
gweather_info_get_temp (GWeatherInfo *info);

gweather_info_get_temp_min ()

gchar *
gweather_info_get_temp_min (GWeatherInfo *info);

gweather_info_get_temp_max ()

gchar *
gweather_info_get_temp_max (GWeatherInfo *info);

gweather_info_get_dew ()

gchar *
gweather_info_get_dew (GWeatherInfo *info);

gweather_info_get_humidity ()

gchar *
gweather_info_get_humidity (GWeatherInfo *info);

gweather_info_get_wind ()

gchar *
gweather_info_get_wind (GWeatherInfo *info);

gweather_info_get_pressure ()

gchar *
gweather_info_get_pressure (GWeatherInfo *info);

gweather_info_get_visibility ()

gchar *
gweather_info_get_visibility (GWeatherInfo *info);

gweather_info_get_apparent ()

gchar *
gweather_info_get_apparent (GWeatherInfo *info);

gweather_info_get_sunrise ()

gchar *
gweather_info_get_sunrise (GWeatherInfo *info);

gweather_info_get_sunset ()

gchar *
gweather_info_get_sunset (GWeatherInfo *info);

gweather_info_get_radar ()

GdkPixbufAnimation *
gweather_info_get_radar (GWeatherInfo *info);

Parameters

info

a GWeatherInfo

 

Returns

what?.

[transfer none]


gweather_conditions_to_string ()

const gchar *
gweather_conditions_to_string (GWeatherConditions *conditions);

gweather_sky_to_string ()

const gchar *
gweather_sky_to_string (GWeatherSky sky);

gweather_wind_direction_to_string ()

const gchar *
gweather_wind_direction_to_string (GWeatherWindDirection wind);

gweather_info_get_value_update ()

gboolean
gweather_info_get_value_update (GWeatherInfo *info,
                                time_t *value);

Parameters

info

a GWeatherInfo

 

value

the time info was last updated.

[out][type glong]

Returns

TRUE is value is valid, FALSE otherwise.


gweather_info_get_value_sky ()

gboolean
gweather_info_get_value_sky (GWeatherInfo *info,
                             GWeatherSky *sky);

Fills out sky with current sky conditions.

Parameters

info

a GWeatherInfo

 

sky

a location for a GWeatherSky.

[out]

Returns

TRUE is sky is valid, FALSE otherwise.


gweather_info_get_value_conditions ()

gboolean
gweather_info_get_value_conditions (GWeatherInfo *info,
                                    GWeatherConditionPhenomenon *phenomenon,
                                    GWeatherConditionQualifier *qualifier);

Fills out phenomenon and qualifier with current weather conditions.

Parameters

info

a GWeatherInfo

 

phenomenon

a location for a GWeatherConditionPhenomenon.

[out]

qualifier

a location for a GWeatherConditionQualifier.

[out]

Returns

TRUE is out arguments are valid, FALSE otherwise.


gweather_info_get_value_temp ()

gboolean
gweather_info_get_value_temp (GWeatherInfo *info,
                              GWeatherTemperatureUnit unit,
                              gdouble *value);

Parameters

info

a GWeatherInfo

 

unit

the desired unit, as a GWeatherTemperatureUnit

 

value

the temperature value.

[out]

Returns

TRUE is value is valid, FALSE otherwise.


gweather_info_get_value_temp_min ()

gboolean
gweather_info_get_value_temp_min (GWeatherInfo *info,
                                  GWeatherTemperatureUnit unit,
                                  gdouble *value);

Parameters

info

a GWeatherInfo

 

unit

the desired unit, as a GWeatherTemperatureUnit

 

value

the minimum temperature value.

[out]

Returns

TRUE is value is valid, FALSE otherwise.


gweather_info_get_value_temp_max ()

gboolean
gweather_info_get_value_temp_max (GWeatherInfo *info,
                                  GWeatherTemperatureUnit unit,
                                  gdouble *value);

Parameters

info

a GWeatherInfo

 

unit

the desired unit, as a GWeatherTemperatureUnit

 

value

the maximum temperature value.

[out]

Returns

TRUE is value is valid, FALSE otherwise.


gweather_info_get_value_dew ()

gboolean
gweather_info_get_value_dew (GWeatherInfo *info,
                             GWeatherTemperatureUnit unit,
                             gdouble *value);

Parameters

info

a GWeatherInfo

 

unit

the desired unit, as a GWeatherTemperatureUnit

 

value

the dew point.

[out]

Returns

TRUE is value is valid, FALSE otherwise.


gweather_info_get_value_apparent ()

gboolean
gweather_info_get_value_apparent (GWeatherInfo *info,
                                  GWeatherTemperatureUnit unit,
                                  gdouble *value);

Parameters

info

a GWeatherInfo

 

unit

the desired unit, as a GWeatherTemperatureUnit

 

value

the apparent temperature.

[out]

Returns

TRUE is value is valid, FALSE otherwise.


gweather_info_get_value_wind ()

gboolean
gweather_info_get_value_wind (GWeatherInfo *info,
                              GWeatherSpeedUnit unit,
                              gdouble *speed,
                              GWeatherWindDirection *direction);

Parameters

info

a GWeatherInfo

 

unit

the desired unit, as a GWeatherSpeedUnit

 

speed

forecasted wind speed.

[out]

direction

forecasted wind direction.

[out]

Returns

TRUE if speed and direction are valid, FALSE otherwise.


gweather_info_get_value_pressure ()

gboolean
gweather_info_get_value_pressure (GWeatherInfo *info,
                                  GWeatherPressureUnit unit,
                                  gdouble *value);

Parameters

info

a GWeatherInfo

 

unit

the desired unit, as a GWeatherPressureUnit

 

value

forecasted pressure, expressed in unit .

[out]

Returns

TRUE if value is valid, FALSE otherwise.


gweather_info_get_value_visibility ()

gboolean
gweather_info_get_value_visibility (GWeatherInfo *info,
                                    GWeatherDistanceUnit unit,
                                    gdouble *value);

Parameters

info

a GWeatherInfo

 

unit

the desired unit, as a GWeatherDistanceUnit

 

value

forecasted visibility, expressed in unit .

[out]

Returns

TRUE if value is valid, FALSE otherwise.


gweather_info_get_value_sunrise ()

gboolean
gweather_info_get_value_sunrise (GWeatherInfo *info,
                                 time_t *value);

Parameters

info

a GWeatherInfo

 

value

the time of sunrise.

[out][type gulong]

Returns

TRUE is value is valid, FALSE otherwise.


gweather_info_get_value_sunset ()

gboolean
gweather_info_get_value_sunset (GWeatherInfo *info,
                                time_t *value);

Parameters

info

a GWeatherInfo

 

value

the time of sunset.

[out][type gulong]

Returns

TRUE is value is valid, FALSE otherwise.


gweather_info_next_sun_event ()

gint
gweather_info_next_sun_event (GWeatherInfo *info);

gweather_info_get_value_moonphase ()

gboolean
gweather_info_get_value_moonphase (GWeatherInfo *info,
                                   GWeatherMoonPhase *value,
                                   GWeatherMoonLatitude *lat);

Parameters

info

a GWeatherInfo

 

value

the current moon phase (represented as the visible percentage).

[out]

lat

the latitude the moon is at (???).

[out]

Returns

TRUE is value is valid, FALSE otherwise.


gweather_info_get_upcoming_moonphases ()

gboolean
gweather_info_get_upcoming_moonphases (GWeatherInfo *info,
                                       time_t *phases);

Parameters

info

a GWeatherInfo containing the time_t of interest

 

phases

An array of four time_t values that will hold the returned values. The values are estimates of the time of the next new, quarter, full and three-quarter moons.

[out][array fixed-size=4][element-type gulong]

Returns

gboolean indicating success or failure


gweather_info_is_daytime ()

gboolean
gweather_info_is_daytime (GWeatherInfo *info);

Parameters

info

a GWeatherInfo

 

Returns

Whether it is daytime (that is, if the sun is visible) or not at the location and the point of time referred by info . This is mostly equivalent to comparing the return value of gweather_info_get_value_sunrise() and gweather_info_get_value_sunset(), but it accounts also for midnight sun and polar night, for locations within the Artic and Antartic circles.

Types and Values

enum GWeatherProvider

Members

GWEATHER_PROVIDER_NONE

no provider, no weather information available

 

GWEATHER_PROVIDER_METAR

METAR office, providing current conditions worldwide

 

GWEATHER_PROVIDER_IWIN

US weather office, providing 7 days of forecast

 

GWEATHER_PROVIDER_YAHOO

Yahoo Weather Service, worldwide but non commercial only

 

GWEATHER_PROVIDER_YR_NO

Yr.no service, worldwide but requires attribution

 

GWEATHER_PROVIDER_OWM

OpenWeatherMap, worldwide and possibly more reliable, but requires attribution and is limited in the number of queries

 

GWEATHER_PROVIDER_ALL

enable all available providers

 

enum GWeatherConditionPhenomenon

Members

GWEATHER_PHENOMENON_INVALID

   

GWEATHER_PHENOMENON_NONE

   

GWEATHER_PHENOMENON_DRIZZLE

   

GWEATHER_PHENOMENON_RAIN

   

GWEATHER_PHENOMENON_SNOW

   

GWEATHER_PHENOMENON_SNOW_GRAINS

   

GWEATHER_PHENOMENON_ICE_CRYSTALS

   

GWEATHER_PHENOMENON_ICE_PELLETS

   

GWEATHER_PHENOMENON_HAIL

   

GWEATHER_PHENOMENON_SMALL_HAIL

   

GWEATHER_PHENOMENON_UNKNOWN_PRECIPITATION

   

GWEATHER_PHENOMENON_MIST

   

GWEATHER_PHENOMENON_FOG

   

GWEATHER_PHENOMENON_SMOKE

   

GWEATHER_PHENOMENON_VOLCANIC_ASH

   

GWEATHER_PHENOMENON_SAND

   

GWEATHER_PHENOMENON_HAZE

   

GWEATHER_PHENOMENON_SPRAY

   

GWEATHER_PHENOMENON_DUST

   

GWEATHER_PHENOMENON_SQUALL

   

GWEATHER_PHENOMENON_SANDSTORM

   

GWEATHER_PHENOMENON_DUSTSTORM

   

GWEATHER_PHENOMENON_FUNNEL_CLOUD

   

GWEATHER_PHENOMENON_TORNADO

   

GWEATHER_PHENOMENON_DUST_WHIRLS

   

GWEATHER_PHENOMENON_LAST

   

enum GWeatherConditionQualifier

Members

GWEATHER_QUALIFIER_INVALID

   

GWEATHER_QUALIFIER_NONE

   

GWEATHER_QUALIFIER_VICINITY

   

GWEATHER_QUALIFIER_LIGHT

   

GWEATHER_QUALIFIER_MODERATE

   

GWEATHER_QUALIFIER_HEAVY

   

GWEATHER_QUALIFIER_SHALLOW

   

GWEATHER_QUALIFIER_PATCHES

   

GWEATHER_QUALIFIER_PARTIAL

   

GWEATHER_QUALIFIER_THUNDERSTORM

   

GWEATHER_QUALIFIER_BLOWING

   

GWEATHER_QUALIFIER_SHOWERS

   

GWEATHER_QUALIFIER_DRIFTING

   

GWEATHER_QUALIFIER_FREEZING

   

GWEATHER_QUALIFIER_LAST

   

struct GWeatherConditions

struct GWeatherConditions {
    gboolean significant;
    GWeatherConditionPhenomenon phenomenon;
    GWeatherConditionQualifier qualifier;
};

enum GWeatherSky

Members

GWEATHER_SKY_INVALID

   

GWEATHER_SKY_CLEAR

   

GWEATHER_SKY_BROKEN

   

GWEATHER_SKY_SCATTERED

   

GWEATHER_SKY_FEW

   

GWEATHER_SKY_OVERCAST

   

GWEATHER_SKY_LAST

   

enum GWeatherWindDirection

Members

GWEATHER_WIND_INVALID

   

GWEATHER_WIND_VARIABLE

   

GWEATHER_WIND_N

   

GWEATHER_WIND_NNE

   

GWEATHER_WIND_NE

   

GWEATHER_WIND_ENE

   

GWEATHER_WIND_E

   

GWEATHER_WIND_ESE

   

GWEATHER_WIND_SE

   

GWEATHER_WIND_SSE

   

GWEATHER_WIND_S

   

GWEATHER_WIND_SSW

   

GWEATHER_WIND_SW

   

GWEATHER_WIND_WSW

   

GWEATHER_WIND_W

   

GWEATHER_WIND_WNW

   

GWEATHER_WIND_NW

   

GWEATHER_WIND_NNW

   

GWEATHER_WIND_LAST

   

GWeatherMoonLatitude

typedef gdouble GWeatherMoonLatitude;

GWeatherMoonPhase

typedef gdouble GWeatherMoonPhase;

enum GWeatherDistanceUnit

Members

GWEATHER_DISTANCE_UNIT_INVALID

   

GWEATHER_DISTANCE_UNIT_DEFAULT

   

GWEATHER_DISTANCE_UNIT_METERS

   

GWEATHER_DISTANCE_UNIT_KM

   

GWEATHER_DISTANCE_UNIT_MILES

   

enum GWeatherPressureUnit

Members

GWEATHER_PRESSURE_UNIT_INVALID

   

GWEATHER_PRESSURE_UNIT_DEFAULT

   

GWEATHER_PRESSURE_UNIT_KPA

   

GWEATHER_PRESSURE_UNIT_HPA

   

GWEATHER_PRESSURE_UNIT_MB

   

GWEATHER_PRESSURE_UNIT_MM_HG

   

GWEATHER_PRESSURE_UNIT_INCH_HG

   

GWEATHER_PRESSURE_UNIT_ATM

   

enum GWeatherSpeedUnit

Members

GWEATHER_SPEED_UNIT_INVALID

   

GWEATHER_SPEED_UNIT_DEFAULT

   

GWEATHER_SPEED_UNIT_MS

   

GWEATHER_SPEED_UNIT_KPH

   

GWEATHER_SPEED_UNIT_MPH

   

GWEATHER_SPEED_UNIT_KNOTS

   

GWEATHER_SPEED_UNIT_BFT

   

enum GWeatherTemperatureUnit

Members

GWEATHER_TEMP_UNIT_INVALID

   

GWEATHER_TEMP_UNIT_DEFAULT

   

GWEATHER_TEMP_UNIT_KELVIN

   

GWEATHER_TEMP_UNIT_CENTIGRADE

   

GWEATHER_TEMP_UNIT_FAHRENHEIT

   

enum GWeatherForecastType

Members

GWEATHER_FORECAST_STATE

   

GWEATHER_FORECAST_ZONE

   

GWEATHER_FORECAST_LIST

   

Property Details

The “enabled-providers” property

  “enabled-providers”        GWeatherProvider

A bitmask of enabled weather service providers.

Flags: Read / Write

Default value: GWEATHER_PROVIDER_METAR | GWEATHER_PROVIDER_IWIN


The “location” property

  “location”                 GWeatherLocation *

The location this info represents.

Flags: Read / Write / Construct

Signal Details

The “updated” signal

void
user_function (GWeatherInfo *object,
               gpointer      user_data)

This signal is emitted after the initial fetch of the weather data from upstream services, and after every successful call to gweather_info_update() .

Parameters

object

the emitter of the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First