From cd6fa3bab97768ef37ac4d6e2499f1a45aae596f Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Mon, 9 Sep 2013 12:43:31 -0500 Subject: in the Datetime base class, make a set_timezone() function for subclasses s.t. they don't have to reinvent the wheel. As a result, also remove the 'timezone changed' signale emitter helper --- src/timezone-geoclue.c | 39 ++------------------------------------- 1 file changed, 2 insertions(+), 37 deletions(-) (limited to 'src/timezone-geoclue.c') diff --git a/src/timezone-geoclue.c b/src/timezone-geoclue.c index f7dcf5c..c89558d 100644 --- a/src/timezone-geoclue.c +++ b/src/timezone-geoclue.c @@ -29,7 +29,6 @@ struct _IndicatorDatetimeTimezoneGeocluePriv GeoclueMaster * master; GeoclueMasterClient * client; GeoclueAddress * address; - gchar * timezone; }; typedef IndicatorDatetimeTimezoneGeocluePriv priv_t; @@ -44,19 +43,6 @@ static void geo_restart (IndicatorDatetimeTimezoneGeoclue * self); **** ***/ -static void -set_timezone (IndicatorDatetimeTimezoneGeoclue * self, const gchar * timezone) -{ - priv_t * p = self->priv; - - if (g_strcmp0 (p->timezone, timezone)) - { - g_free (p->timezone); - p->timezone = g_strdup (timezone); - indicator_datetime_timezone_notify_timezone (INDICATOR_DATETIME_TIMEZONE(self)); - } -} - static void on_address_changed (GeoclueAddress * address G_GNUC_UNUSED, int timestamp G_GNUC_UNUSED, @@ -73,7 +59,7 @@ on_address_changed (GeoclueAddress * address G_GNUC_UNUSED, { IndicatorDatetimeTimezoneGeoclue * self = INDICATOR_DATETIME_TIMEZONE_GEOCLUE (gself); const char * timezone = g_hash_table_lookup (addy_data, "timezone"); - set_timezone (self, timezone); + indicator_datetime_timezone_set_timezone (INDICATOR_DATETIME_TIMEZONE(self), timezone); } } @@ -197,12 +183,6 @@ geo_restart (IndicatorDatetimeTimezoneGeoclue * self) **** ***/ -static const char * -my_get_timezone (IndicatorDatetimeTimezone * self) -{ - return INDICATOR_DATETIME_TIMEZONE_GEOCLUE(self)->priv->timezone; -} - static void my_dispose (GObject * o) { @@ -211,29 +191,13 @@ my_dispose (GObject * o) G_OBJECT_CLASS (indicator_datetime_timezone_geoclue_parent_class)->dispose (o); } -static void -my_finalize (GObject * o) -{ - IndicatorDatetimeTimezoneGeoclue * self = INDICATOR_DATETIME_TIMEZONE_GEOCLUE (o); - priv_t * p = self->priv; - - g_free (p->timezone); - - G_OBJECT_CLASS (indicator_datetime_timezone_geoclue_parent_class)->finalize (o); -} - static void indicator_datetime_timezone_geoclue_class_init (IndicatorDatetimeTimezoneGeoclueClass * klass) { GObjectClass * object_class; - IndicatorDatetimeTimezoneClass * location_class; object_class = G_OBJECT_CLASS (klass); object_class->dispose = my_dispose; - object_class->finalize = my_finalize; - - location_class = INDICATOR_DATETIME_TIMEZONE_CLASS (klass); - location_class->get_timezone = my_get_timezone; g_type_class_add_private (klass, sizeof (IndicatorDatetimeTimezoneGeocluePriv)); } @@ -246,6 +210,7 @@ indicator_datetime_timezone_geoclue_init (IndicatorDatetimeTimezoneGeoclue * sel p = G_TYPE_INSTANCE_GET_PRIVATE (self, INDICATOR_TYPE_DATETIME_TIMEZONE_GEOCLUE, IndicatorDatetimeTimezoneGeocluePriv); + self->priv = p; geo_start (self); -- cgit v1.2.3