123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- /* GStreamer
- * Copyright (C) 2010 Thiago Santos <thiago.sousa.santos@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
- #ifndef __GST_DATE_TIME_H__
- #define __GST_DATE_TIME_H__
- #include <gst/gstconfig.h>
- #include <time.h>
- #include <glib.h>
- #include <glib-object.h>
- G_BEGIN_DECLS
- /**
- * GstDateTime:
- *
- * Opaque, immutable, refcounted struct that stores date, time and timezone
- * information. It currently supports ranges from 0001-01-01 to
- * 9999-12-31 in the Gregorian proleptic calendar.
- *
- * Use the accessor functions to get the stored values.
- */
- typedef struct _GstDateTime GstDateTime;
- GST_EXPORT GType _gst_date_time_type;
- /**
- * GST_TYPE_DATE_TIME:
- *
- * a boxed #GValue type for #GstDateTime that represents a date and time.
- *
- * Returns: the #GType of GstDateTime
- */
- #define GST_TYPE_DATE_TIME (_gst_date_time_type)
- GType gst_date_time_get_type (void);
- /* query which fields are set */
- gboolean gst_date_time_has_year (const GstDateTime * datetime);
- gboolean gst_date_time_has_month (const GstDateTime * datetime);
- gboolean gst_date_time_has_day (const GstDateTime * datetime);
- gboolean gst_date_time_has_time (const GstDateTime * datetime);
- gboolean gst_date_time_has_second (const GstDateTime * datetime);
- /* field getters */
- gint gst_date_time_get_year (const GstDateTime * datetime);
- gint gst_date_time_get_month (const GstDateTime * datetime);
- gint gst_date_time_get_day (const GstDateTime * datetime);
- gint gst_date_time_get_hour (const GstDateTime * datetime);
- gint gst_date_time_get_minute (const GstDateTime * datetime);
- gint gst_date_time_get_second (const GstDateTime * datetime);
- gint gst_date_time_get_microsecond (const GstDateTime * datetime);
- gfloat gst_date_time_get_time_zone_offset (const GstDateTime * datetime);
- /* constructors */
- GstDateTime * gst_date_time_new_from_unix_epoch_local_time (gint64 secs) G_GNUC_MALLOC;
- GstDateTime * gst_date_time_new_from_unix_epoch_utc (gint64 secs) G_GNUC_MALLOC;
- GstDateTime * gst_date_time_new_local_time (gint year,
- gint month,
- gint day,
- gint hour,
- gint minute,
- gdouble seconds) G_GNUC_MALLOC;
- GstDateTime * gst_date_time_new_y (gint year) G_GNUC_MALLOC;
- GstDateTime * gst_date_time_new_ym (gint year,
- gint month) G_GNUC_MALLOC;
- GstDateTime * gst_date_time_new_ymd (gint year,
- gint month,
- gint day) G_GNUC_MALLOC;
- GstDateTime * gst_date_time_new (gfloat tzoffset,
- gint year, gint month,
- gint day, gint hour,
- gint minute,
- gdouble seconds) G_GNUC_MALLOC;
- GstDateTime * gst_date_time_new_now_local_time (void) G_GNUC_MALLOC;
- GstDateTime * gst_date_time_new_now_utc (void) G_GNUC_MALLOC;
- gchar * gst_date_time_to_iso8601_string (GstDateTime * datetime) G_GNUC_MALLOC;
- GstDateTime * gst_date_time_new_from_iso8601_string (const gchar * string) G_GNUC_MALLOC;
- GDateTime * gst_date_time_to_g_date_time (GstDateTime * datetime);
- GstDateTime * gst_date_time_new_from_g_date_time (GDateTime * dt);
- /* refcounting */
- GstDateTime * gst_date_time_ref (GstDateTime * datetime);
- void gst_date_time_unref (GstDateTime * datetime);
- #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
- G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstDateTime, gst_date_time_unref)
- #endif
- G_END_DECLS
- #endif /* __GST_DATE_TIME_H__ */
|