summaryrefslogtreecommitdiff
path: root/gdata/services/calendar/gdata-calendar-event.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdata/services/calendar/gdata-calendar-event.c')
-rw-r--r--gdata/services/calendar/gdata-calendar-event.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/gdata/services/calendar/gdata-calendar-event.c b/gdata/services/calendar/gdata-calendar-event.c
index d11f0455..4cdf2700 100644
--- a/gdata/services/calendar/gdata-calendar-event.c
+++ b/gdata/services/calendar/gdata-calendar-event.c
@@ -37,7 +37,7 @@
* GDataGDWhere *where;
* GDataGDWho *who;
* GDataGDWhen *when;
- * GTimeVal current_time;
+ * gint64 current_time;
* GError *error = NULL;
*
* /<!-- -->* Create a service *<!-- -->/
@@ -58,8 +58,8 @@
* gdata_calendar_event_add_person (event, who);
* g_object_unref (who);
*
- * g_get_current_time (&current_time);
- * when = gdata_gd_when_new (current_time.tv_sec, current_time.tv_sec + 3600, FALSE);
+ * current_time = g_get_real_time () / G_USEC_PER_SEC;
+ * when = gdata_gd_when_new (current_time, current_time + 3600, FALSE);
* gdata_calendar_event_add_time (event, when);
* g_object_unref (when);
*
@@ -150,7 +150,7 @@ enum {
PROP_ORIGINAL_EVENT_URI
};
-G_DEFINE_TYPE (GDataCalendarEvent, gdata_calendar_event, GDATA_TYPE_ENTRY)
+G_DEFINE_TYPE_WITH_PRIVATE (GDataCalendarEvent, gdata_calendar_event, GDATA_TYPE_ENTRY)
static void
gdata_calendar_event_class_init (GDataCalendarEventClass *klass)
@@ -159,8 +159,6 @@ gdata_calendar_event_class_init (GDataCalendarEventClass *klass)
GDataParsableClass *parsable_class = GDATA_PARSABLE_CLASS (klass);
GDataEntryClass *entry_class = GDATA_ENTRY_CLASS (klass);
- g_type_class_add_private (klass, sizeof (GDataCalendarEventPrivate));
-
gobject_class->constructor = gdata_calendar_event_constructor;
gobject_class->get_property = gdata_calendar_event_get_property;
gobject_class->set_property = gdata_calendar_event_set_property;
@@ -362,7 +360,7 @@ gdata_calendar_event_class_init (GDataCalendarEventClass *klass)
static void
gdata_calendar_event_init (GDataCalendarEvent *self)
{
- self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GDATA_TYPE_CALENDAR_EVENT, GDataCalendarEventPrivate);
+ self->priv = gdata_calendar_event_get_instance_private (self);
self->priv->edited = -1;
}
@@ -376,12 +374,10 @@ gdata_calendar_event_constructor (GType type, guint n_construct_params, GObjectC
if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) {
GDataCalendarEventPrivate *priv = GDATA_CALENDAR_EVENT (object)->priv;
- GTimeVal time_val;
/* Set the edited property to the current time (creation time). We don't do this in *_init() since that would cause
* setting it from parse_xml() to fail (duplicate element). */
- g_get_current_time (&time_val);
- priv->edited = time_val.tv_sec;
+ priv->edited = g_get_real_time () / G_USEC_PER_SEC;
}
return object;
@@ -556,7 +552,7 @@ date_object_from_json (JsonReader *reader,
if (json_reader_read_member (reader, "dateTime")) {
const gchar *date_string;
const GError *child_error;
- GTimeVal time_val;
+ GDateTime *time_val;
date_string = json_reader_get_string_value (reader);
child_error = json_reader_get_error (reader);
@@ -569,13 +565,15 @@ date_object_from_json (JsonReader *reader,
return TRUE;
}
- if (!g_time_val_from_iso8601 (date_string, &time_val)) {
+ time_val = g_date_time_new_from_iso8601 (date_string, NULL);
+ if (!time_val) {
*success = gdata_parser_error_not_iso8601_format_json (reader, date_string, error);
json_reader_end_member (reader);
return TRUE;
}
- date_time = time_val.tv_sec;
+ date_time = g_date_time_to_unix (time_val);
+ g_date_time_unref (time_val);
is_date = FALSE;
found_member = TRUE;
}