![]() |
![]() |
![]() |
libgweather-3.0 Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#include <libgweather/gweather.h> enum GWeatherForecastType; GWeatherInfo * gweather_info_new (GWeatherLocation *location
,GWeatherForecastType forecast_type
); GWeatherInfo * gweather_info_new_for_world (GWeatherLocation *world
,GWeatherLocation *location
,GWeatherForecastType forecast_type
); void gweather_info_update (GWeatherInfo *info
); void gweather_info_abort (GWeatherInfo *info
); gboolean gweather_info_is_valid (GWeatherInfo *info
); gboolean gweather_info_network_error (GWeatherInfo *info
); const GWeatherLocation * gweather_info_get_location (GWeatherInfo *info
); void gweather_info_set_location (GWeatherInfo *info
,GWeatherLocation *location
); GSList * gweather_info_get_forecast_list (GWeatherInfo *info
); enum GWeatherProvider; GWeatherProvider gweather_info_get_enabled_providers (GWeatherInfo *info
); void gweather_info_set_enabled_providers (GWeatherInfo *info
,GWeatherProvider providers
); const gchar * gweather_info_get_attribution (GWeatherInfo *info
); gchar * gweather_info_get_location_name (GWeatherInfo *info
); const gchar * gweather_info_get_icon_name (GWeatherInfo *info
); gchar * gweather_info_get_weather_summary (GWeatherInfo *info
); gchar * gweather_info_get_temp_summary (GWeatherInfo *info
); gchar * gweather_info_get_update (GWeatherInfo *info
); gchar * gweather_info_get_sky (GWeatherInfo *info
); gchar * gweather_info_get_conditions (GWeatherInfo *info
); gchar * gweather_info_get_temp (GWeatherInfo *info
); gchar * gweather_info_get_temp_min (GWeatherInfo *info
); gchar * gweather_info_get_temp_max (GWeatherInfo *info
); gchar * gweather_info_get_dew (GWeatherInfo *info
); gchar * gweather_info_get_humidity (GWeatherInfo *info
); gchar * gweather_info_get_wind (GWeatherInfo *info
); gchar * gweather_info_get_pressure (GWeatherInfo *info
); gchar * gweather_info_get_visibility (GWeatherInfo *info
); gchar * gweather_info_get_apparent (GWeatherInfo *info
); gchar * gweather_info_get_sunrise (GWeatherInfo *info
); gchar * gweather_info_get_sunset (GWeatherInfo *info
); gchar * gweather_info_get_forecast (GWeatherInfo *info
); GdkPixbufAnimation * gweather_info_get_radar (GWeatherInfo *info
); enum GWeatherConditionPhenomenon; enum GWeatherConditionQualifier; struct GWeatherConditions; const gchar * gweather_conditions_to_string (GWeatherConditions *conditions
); enum GWeatherSky; const gchar * gweather_sky_to_string (GWeatherSky sky
); enum GWeatherWindDirection; const gchar * gweather_wind_direction_to_string (GWeatherWindDirection wind
); typedef GWeatherMoonLatitude; typedef GWeatherMoonPhase; enum GWeatherDistanceUnit; enum GWeatherPressureUnit; enum GWeatherSpeedUnit; enum GWeatherTemperatureUnit; gboolean gweather_info_get_value_update (GWeatherInfo *info
,time_t *value
); gboolean gweather_info_get_value_sky (GWeatherInfo *info
,GWeatherSky *sky
); gboolean gweather_info_get_value_conditions (GWeatherInfo *info
,GWeatherConditionPhenomenon *phenomenon
,GWeatherConditionQualifier *qualifier
); gboolean gweather_info_get_value_temp (GWeatherInfo *info
,GWeatherTemperatureUnit unit
,gdouble *value
); gboolean gweather_info_get_value_temp_min (GWeatherInfo *info
,GWeatherTemperatureUnit unit
,gdouble *value
); gboolean gweather_info_get_value_temp_max (GWeatherInfo *info
,GWeatherTemperatureUnit unit
,gdouble *value
); gboolean gweather_info_get_value_dew (GWeatherInfo *info
,GWeatherTemperatureUnit unit
,gdouble *value
); gboolean gweather_info_get_value_apparent (GWeatherInfo *info
,GWeatherTemperatureUnit unit
,gdouble *value
); gboolean gweather_info_get_value_wind (GWeatherInfo *info
,GWeatherSpeedUnit unit
,gdouble *speed
,GWeatherWindDirection *direction
); gboolean gweather_info_get_value_pressure (GWeatherInfo *info
,GWeatherPressureUnit unit
,gdouble *value
); gboolean gweather_info_get_value_visibility (GWeatherInfo *info
,GWeatherDistanceUnit unit
,gdouble *value
); gboolean gweather_info_get_value_sunrise (GWeatherInfo *info
,time_t *value
); gboolean gweather_info_get_value_sunset (GWeatherInfo *info
,time_t *value
); gint gweather_info_next_sun_event (GWeatherInfo *info
); gboolean gweather_info_get_value_moonphase (GWeatherInfo *info
,GWeatherMoonPhase *value
,GWeatherMoonLatitude *lat
); gboolean gweather_info_get_upcoming_moonphases (GWeatherInfo *info
,time_t *phases
);
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.
typedef enum { /*< underscore_name=gweather_forecast_type >*/ GWEATHER_FORECAST_STATE, GWEATHER_FORECAST_ZONE, GWEATHER_FORECAST_LIST } GWeatherForecastType;
GWeatherInfo * gweather_info_new (GWeatherLocation *location
,GWeatherForecastType forecast_type
);
Builds a new GWeatherInfo that will provide weather information about
location
. The returned info will not be ready until the "updated" signal
is emitted.
|
the desidered GWeatherLocation (NULL for default). [allow-none] |
|
the type of forecast requested |
Returns : |
a new GWeatherInfo. [transfer full] |
GWeatherInfo * gweather_info_new_for_world (GWeatherLocation *world
,GWeatherLocation *location
,GWeatherForecastType forecast_type
);
Similar to gweather_info_new()
, but also has a world
parameter, that allow controlling
the hierarchy of GWeatherLocation to which location
(or the default one taken from
GSettings) belongs.
|
a GWeatherLocation representing the whole world |
|
the desidered GWeatherLocation (NULL for default). [allow-none] |
|
the type of forecast requested |
Returns : |
a new GWeatherInfo. [transfer full] |
const GWeatherLocation * gweather_info_get_location (GWeatherInfo *info
);
void gweather_info_set_location (GWeatherInfo *info
,GWeatherLocation *location
);
Changes info
to report weather for location
.
|
a GWeatherInfo |
|
a location for which weather is desired. [allow-none] |
GSList * gweather_info_get_forecast_list (GWeatherInfo *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] |
typedef enum { /*< flags, underscore_name=gweather_provider >*/ GWEATHER_PROVIDER_NONE = 0, GWEATHER_PROVIDER_METAR = 1, GWEATHER_PROVIDER_IWIN = 1 << 2, GWEATHER_PROVIDER_YAHOO = 1 << 3, GWEATHER_PROVIDER_YR_NO = 1 << 4, GWEATHER_PROVIDER_ALL = 31 } GWeatherProvider;
no provider, no weather information available | |
METAR office, providing current conditions worldwide | |
US weather office, providing 7 days of forecast | |
Yahoo Weather Service, worldwide but non commercial only | |
Yr.no service, worldwide but requires attribution | |
enable all available providers |
GWeatherProvider gweather_info_get_enabled_providers (GWeatherInfo *info
);
void gweather_info_set_enabled_providers (GWeatherInfo *info
,GWeatherProvider providers
);
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.
|
a GWeatherInfo |
Returns : |
the required attribution text, in Pango
markup form, or NULL if not required. [transfer none]
|
gchar * gweather_info_get_weather_summary (GWeatherInfo *info
);
|
a GWeatherInfo |
Returns : |
a summary for current weather conditions. [transfer full] |
GdkPixbufAnimation * gweather_info_get_radar (GWeatherInfo *info
);
|
a GWeatherInfo |
Returns : |
what?. [transfer none] |
typedef enum { /*< underscore_name=gweather_phenomenon >*/ GWEATHER_PHENOMENON_INVALID = -1, 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 } GWeatherConditionPhenomenon;
typedef enum { /*< underscore_name=gweather_qualifier >*/ GWEATHER_QUALIFIER_INVALID = -1, 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 } GWeatherConditionQualifier;
struct GWeatherConditions { gboolean significant; GWeatherConditionPhenomenon phenomenon; GWeatherConditionQualifier qualifier; };
const gchar * gweather_conditions_to_string (GWeatherConditions *conditions
);
typedef enum { /*< underscore_name=gweather_sky >*/ GWEATHER_SKY_INVALID = -1, GWEATHER_SKY_CLEAR, GWEATHER_SKY_BROKEN, GWEATHER_SKY_SCATTERED, GWEATHER_SKY_FEW, GWEATHER_SKY_OVERCAST, GWEATHER_SKY_LAST } GWeatherSky;
typedef enum { /*< underscore_name=gweather_wind_direction >*/ GWEATHER_WIND_INVALID = -1, 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 } GWeatherWindDirection;
const gchar * gweather_wind_direction_to_string (GWeatherWindDirection wind
);
typedef enum { /*< underscore_name=gweather_distance_unit >*/ GWEATHER_DISTANCE_UNIT_INVALID = 0, GWEATHER_DISTANCE_UNIT_DEFAULT, GWEATHER_DISTANCE_UNIT_METERS, GWEATHER_DISTANCE_UNIT_KM, GWEATHER_DISTANCE_UNIT_MILES } GWeatherDistanceUnit;
typedef enum { /*< underscore_name=gweather_pressure_unit >*/ GWEATHER_PRESSURE_UNIT_INVALID = 0, GWEATHER_PRESSURE_UNIT_DEFAULT, GWEATHER_PRESSURE_UNIT_KPA, /* kiloPascal */ GWEATHER_PRESSURE_UNIT_HPA, /* hectoPascal */ GWEATHER_PRESSURE_UNIT_MB, /* 1 millibars = 1 hectoPascal */ GWEATHER_PRESSURE_UNIT_MM_HG, /* millimeters of mercury */ GWEATHER_PRESSURE_UNIT_INCH_HG, /* inches of mercury */ GWEATHER_PRESSURE_UNIT_ATM /* atmosphere */ } GWeatherPressureUnit;
typedef enum { /*< underscore_name=gweather_speed_unit >*/ GWEATHER_SPEED_UNIT_INVALID = 0, GWEATHER_SPEED_UNIT_DEFAULT, GWEATHER_SPEED_UNIT_MS, /* metres per second */ GWEATHER_SPEED_UNIT_KPH, /* kilometres per hour */ GWEATHER_SPEED_UNIT_MPH, /* miles per hour */ GWEATHER_SPEED_UNIT_KNOTS, /* Knots */ GWEATHER_SPEED_UNIT_BFT /* Beaufort scale */ } GWeatherSpeedUnit;
typedef enum { /*< underscore_name=gweather_temperature_unit >*/ GWEATHER_TEMP_UNIT_INVALID = 0, GWEATHER_TEMP_UNIT_DEFAULT, GWEATHER_TEMP_UNIT_KELVIN, GWEATHER_TEMP_UNIT_CENTIGRADE, GWEATHER_TEMP_UNIT_FAHRENHEIT } GWeatherTemperatureUnit;
gboolean gweather_info_get_value_update (GWeatherInfo *info
,time_t *value
);
|
a GWeatherInfo |
|
the time info was last updated. [out][type glong]
|
Returns : |
TRUE is value is valid, FALSE otherwise. |
gboolean gweather_info_get_value_sky (GWeatherInfo *info
,GWeatherSky *sky
);
Fills out sky
with current sky conditions.
|
a GWeatherInfo |
|
a location for a GWeatherSky. [out] |
Returns : |
TRUE is sky is valid, FALSE otherwise. |
gboolean gweather_info_get_value_conditions (GWeatherInfo *info
,GWeatherConditionPhenomenon *phenomenon
,GWeatherConditionQualifier *qualifier
);
Fills out phenomenon
and qualifier
with current weather conditions.
|
a GWeatherInfo |
|
a location for a GWeatherConditionPhenomenon. [out] |
|
a location for a GWeatherConditionQualifier. [out] |
Returns : |
TRUE is out arguments are valid, FALSE otherwise. |
gboolean gweather_info_get_value_temp (GWeatherInfo *info
,GWeatherTemperatureUnit unit
,gdouble *value
);
|
a GWeatherInfo |
|
the desired unit, as a GWeatherTemperatureUnit |
|
the temperature value. [out] |
Returns : |
TRUE is value is valid, FALSE otherwise. |
gboolean gweather_info_get_value_temp_min (GWeatherInfo *info
,GWeatherTemperatureUnit unit
,gdouble *value
);
|
a GWeatherInfo |
|
the desired unit, as a GWeatherTemperatureUnit |
|
the minimum temperature value. [out] |
Returns : |
TRUE is value is valid, FALSE otherwise. |
gboolean gweather_info_get_value_temp_max (GWeatherInfo *info
,GWeatherTemperatureUnit unit
,gdouble *value
);
|
a GWeatherInfo |
|
the desired unit, as a GWeatherTemperatureUnit |
|
the maximum temperature value. [out] |
Returns : |
TRUE is value is valid, FALSE otherwise. |
gboolean gweather_info_get_value_dew (GWeatherInfo *info
,GWeatherTemperatureUnit unit
,gdouble *value
);
|
a GWeatherInfo |
|
the desired unit, as a GWeatherTemperatureUnit |
|
the dew point. [out] |
Returns : |
TRUE is value is valid, FALSE otherwise. |
gboolean gweather_info_get_value_apparent (GWeatherInfo *info
,GWeatherTemperatureUnit unit
,gdouble *value
);
|
a GWeatherInfo |
|
the desired unit, as a GWeatherTemperatureUnit |
|
the apparent temperature. [out] |
Returns : |
TRUE is value is valid, FALSE otherwise. |
gboolean gweather_info_get_value_wind (GWeatherInfo *info
,GWeatherSpeedUnit unit
,gdouble *speed
,GWeatherWindDirection *direction
);
|
a GWeatherInfo |
|
the desired unit, as a GWeatherSpeedUnit |
|
forecasted wind speed. [out] |
|
forecasted wind direction. [out] |
Returns : |
TRUE if speed and direction are valid, FALSE otherwise. |
gboolean gweather_info_get_value_pressure (GWeatherInfo *info
,GWeatherPressureUnit unit
,gdouble *value
);
|
a GWeatherInfo |
|
the desired unit, as a GWeatherPressureUnit |
|
forecasted pressure, expressed in unit . [out]
|
Returns : |
TRUE if value is valid, FALSE otherwise. |
gboolean gweather_info_get_value_visibility (GWeatherInfo *info
,GWeatherDistanceUnit unit
,gdouble *value
);
|
a GWeatherInfo |
|
the desired unit, as a GWeatherDistanceUnit |
|
forecasted visibility, expressed in unit . [out]
|
Returns : |
TRUE if value is valid, FALSE otherwise. |
gboolean gweather_info_get_value_sunrise (GWeatherInfo *info
,time_t *value
);
|
a GWeatherInfo |
|
the time of sunrise. [out][type gulong] |
Returns : |
TRUE is value is valid, FALSE otherwise. |
gboolean gweather_info_get_value_sunset (GWeatherInfo *info
,time_t *value
);
|
a GWeatherInfo |
|
the time of sunset. [out][type gulong] |
Returns : |
TRUE is value is valid, FALSE otherwise. |
gboolean gweather_info_get_value_moonphase (GWeatherInfo *info
,GWeatherMoonPhase *value
,GWeatherMoonLatitude *lat
);
|
a GWeatherInfo |
|
the current moon phase (represented as the visible percentage). [out] |
|
the latitude the moon is at (???). [out] |
Returns : |
TRUE is value is valid, FALSE otherwise. |
gboolean gweather_info_get_upcoming_moonphases (GWeatherInfo *info
,time_t *phases
);
|
a GWeatherInfo containing the time_t of interest |
|
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 |