summaryrefslogtreecommitdiff
path: root/gdata/services/youtube/gdata-youtube-query.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdata/services/youtube/gdata-youtube-query.c')
-rw-r--r--gdata/services/youtube/gdata-youtube-query.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/gdata/services/youtube/gdata-youtube-query.c b/gdata/services/youtube/gdata-youtube-query.c
index 99ae9961..57c2e198 100644
--- a/gdata/services/youtube/gdata-youtube-query.c
+++ b/gdata/services/youtube/gdata-youtube-query.c
@@ -87,7 +87,7 @@ enum {
PROP_LICENSE,
};
-G_DEFINE_TYPE (GDataYouTubeQuery, gdata_youtube_query, GDATA_TYPE_QUERY)
+G_DEFINE_TYPE_WITH_PRIVATE (GDataYouTubeQuery, gdata_youtube_query, GDATA_TYPE_QUERY)
static void
gdata_youtube_query_class_init (GDataYouTubeQueryClass *klass)
@@ -95,8 +95,6 @@ gdata_youtube_query_class_init (GDataYouTubeQueryClass *klass)
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
GDataQueryClass *query_class = GDATA_QUERY_CLASS (klass);
- g_type_class_add_private (klass, sizeof (GDataYouTubeQueryPrivate));
-
gobject_class->set_property = gdata_youtube_query_set_property;
gobject_class->get_property = gdata_youtube_query_get_property;
gobject_class->finalize = gdata_youtube_query_finalize;
@@ -351,7 +349,7 @@ gdata_youtube_query_class_init (GDataYouTubeQueryClass *klass)
static void
gdata_youtube_query_init (GDataYouTubeQuery *self)
{
- self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GDATA_TYPE_YOUTUBE_QUERY, GDataYouTubeQueryPrivate);
+ self->priv = gdata_youtube_query_get_instance_private (self);
self->priv->latitude = G_MAXDOUBLE;
self->priv->longitude = G_MAXDOUBLE;
@@ -574,33 +572,33 @@ get_query_uri (GDataQuery *self, const gchar *feed_uri, GString *query_uri, gboo
if (priv->age != GDATA_YOUTUBE_AGE_ALL_TIME) {
gchar *after;
- GTimeVal tv = { 0, };
-
- g_get_current_time (&tv);
+ GDateTime *tv, *tv2;
- /* Squash the microseconds; they’re not useful. */
- tv.tv_usec = 0;
+ tv2 = g_date_time_new_from_unix_utc (g_get_real_time () / G_USEC_PER_SEC);
switch (priv->age) {
case GDATA_YOUTUBE_AGE_TODAY:
- tv.tv_sec -= 24 * 60 * 60;
+ tv = g_date_time_add_days (tv2, -1);
break;
case GDATA_YOUTUBE_AGE_THIS_WEEK:
- tv.tv_sec -= 7 * 24 * 60 * 60;
+ tv = g_date_time_add_weeks (tv2, -1);
break;
case GDATA_YOUTUBE_AGE_THIS_MONTH:
- tv.tv_sec -= 31 * 24 * 60 * 60;
+ tv = g_date_time_add_months (tv2, -1);
break;
case GDATA_YOUTUBE_AGE_ALL_TIME:
default:
+ tv = g_date_time_ref (tv2);
g_assert_not_reached ();
}
APPEND_SEP
- after = g_time_val_to_iso8601 (&tv);
+ after = g_date_time_format_iso8601 (tv);
g_string_append_printf (query_uri, "publishedAfter=%s", after);
g_free (after);
+ g_date_time_unref (tv);
+ g_date_time_unref (tv2);
}
/* We don’t need to use APPEND_SEP below here, as this parameter is