/*
 * This file is generated by gdbus-codegen, do not modify it.
 *
 * The license of this code is the same as for the D-Bus interface description
 * it was derived from. Note that it links to GLib, so must comply with the
 * LGPL linking clauses.
 */

#ifndef __CSD_EXPORTED_DATETIME_H__
#define __CSD_EXPORTED_DATETIME_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.cinnamon.SettingsDaemon.DateTimeMechanism */

#define CSD_TYPE_EXPORTED_DATE_TIME (csd_exported_date_time_get_type ())
#define CSD_EXPORTED_DATE_TIME(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CSD_TYPE_EXPORTED_DATE_TIME, CsdExportedDateTime))
#define CSD_IS_EXPORTED_DATE_TIME(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CSD_TYPE_EXPORTED_DATE_TIME))
#define CSD_EXPORTED_DATE_TIME_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), CSD_TYPE_EXPORTED_DATE_TIME, CsdExportedDateTimeIface))

struct _CsdExportedDateTime;
typedef struct _CsdExportedDateTime CsdExportedDateTime;
typedef struct _CsdExportedDateTimeIface CsdExportedDateTimeIface;

struct _CsdExportedDateTimeIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_adjust_time) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    gint64 arg_seconds_to_add);

  gboolean (*handle_can_set_time) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_can_set_timezone) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_can_set_using_ntp) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_hardware_clock_using_utc) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_timezone) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_using_ntp) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_set_date) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    guint arg_day,
    guint arg_month,
    guint arg_year);

  gboolean (*handle_set_hardware_clock_using_utc) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_is_using_utc);

  gboolean (*handle_set_time) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    gint64 arg_seconds_since_epoch);

  gboolean (*handle_set_timezone) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_tz);

  gboolean (*handle_set_using_ntp) (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_is_using_ntp);

};

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CsdExportedDateTime, g_object_unref)
#endif

GType csd_exported_date_time_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *csd_exported_date_time_interface_info (void);
guint csd_exported_date_time_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void csd_exported_date_time_complete_set_timezone (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

void csd_exported_date_time_complete_get_timezone (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    const gchar *timezone);

void csd_exported_date_time_complete_can_set_timezone (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    gint value);

void csd_exported_date_time_complete_set_date (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

void csd_exported_date_time_complete_set_time (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

void csd_exported_date_time_complete_can_set_time (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    gint value);

void csd_exported_date_time_complete_adjust_time (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

void csd_exported_date_time_complete_get_hardware_clock_using_utc (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    gboolean is_using_utc);

void csd_exported_date_time_complete_set_hardware_clock_using_utc (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

void csd_exported_date_time_complete_get_using_ntp (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    gboolean can_use_ntp,
    gboolean is_using_ntp);

void csd_exported_date_time_complete_set_using_ntp (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation);

void csd_exported_date_time_complete_can_set_using_ntp (
    CsdExportedDateTime *object,
    GDBusMethodInvocation *invocation,
    gint value);



/* D-Bus method calls: */
void csd_exported_date_time_call_set_timezone (
    CsdExportedDateTime *proxy,
    const gchar *arg_tz,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_set_timezone_finish (
    CsdExportedDateTime *proxy,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_set_timezone_sync (
    CsdExportedDateTime *proxy,
    const gchar *arg_tz,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_get_timezone (
    CsdExportedDateTime *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_get_timezone_finish (
    CsdExportedDateTime *proxy,
    gchar ** out_timezone,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_get_timezone_sync (
    CsdExportedDateTime *proxy,
    gchar ** out_timezone,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_can_set_timezone (
    CsdExportedDateTime *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_can_set_timezone_finish (
    CsdExportedDateTime *proxy,
    gint* out_value,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_can_set_timezone_sync (
    CsdExportedDateTime *proxy,
    gint* out_value,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_set_date (
    CsdExportedDateTime *proxy,
    guint arg_day,
    guint arg_month,
    guint arg_year,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_set_date_finish (
    CsdExportedDateTime *proxy,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_set_date_sync (
    CsdExportedDateTime *proxy,
    guint arg_day,
    guint arg_month,
    guint arg_year,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_set_time (
    CsdExportedDateTime *proxy,
    gint64 arg_seconds_since_epoch,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_set_time_finish (
    CsdExportedDateTime *proxy,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_set_time_sync (
    CsdExportedDateTime *proxy,
    gint64 arg_seconds_since_epoch,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_can_set_time (
    CsdExportedDateTime *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_can_set_time_finish (
    CsdExportedDateTime *proxy,
    gint* out_value,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_can_set_time_sync (
    CsdExportedDateTime *proxy,
    gint* out_value,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_adjust_time (
    CsdExportedDateTime *proxy,
    gint64 arg_seconds_to_add,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_adjust_time_finish (
    CsdExportedDateTime *proxy,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_adjust_time_sync (
    CsdExportedDateTime *proxy,
    gint64 arg_seconds_to_add,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_get_hardware_clock_using_utc (
    CsdExportedDateTime *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_get_hardware_clock_using_utc_finish (
    CsdExportedDateTime *proxy,
    gboolean* out_is_using_utc,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_get_hardware_clock_using_utc_sync (
    CsdExportedDateTime *proxy,
    gboolean* out_is_using_utc,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_set_hardware_clock_using_utc (
    CsdExportedDateTime *proxy,
    gboolean arg_is_using_utc,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_set_hardware_clock_using_utc_finish (
    CsdExportedDateTime *proxy,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_set_hardware_clock_using_utc_sync (
    CsdExportedDateTime *proxy,
    gboolean arg_is_using_utc,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_get_using_ntp (
    CsdExportedDateTime *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_get_using_ntp_finish (
    CsdExportedDateTime *proxy,
    gboolean* out_can_use_ntp,
    gboolean* out_is_using_ntp,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_get_using_ntp_sync (
    CsdExportedDateTime *proxy,
    gboolean* out_can_use_ntp,
    gboolean* out_is_using_ntp,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_set_using_ntp (
    CsdExportedDateTime *proxy,
    gboolean arg_is_using_ntp,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_set_using_ntp_finish (
    CsdExportedDateTime *proxy,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_set_using_ntp_sync (
    CsdExportedDateTime *proxy,
    gboolean arg_is_using_ntp,
    GCancellable *cancellable,
    GError **error);

void csd_exported_date_time_call_can_set_using_ntp (
    CsdExportedDateTime *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean csd_exported_date_time_call_can_set_using_ntp_finish (
    CsdExportedDateTime *proxy,
    gint* out_value,
    GAsyncResult *res,
    GError **error);

gboolean csd_exported_date_time_call_can_set_using_ntp_sync (
    CsdExportedDateTime *proxy,
    gint* out_value,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define CSD_TYPE_EXPORTED_DATE_TIME_PROXY (csd_exported_date_time_proxy_get_type ())
#define CSD_EXPORTED_DATE_TIME_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CSD_TYPE_EXPORTED_DATE_TIME_PROXY, CsdExportedDateTimeProxy))
#define CSD_EXPORTED_DATE_TIME_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), CSD_TYPE_EXPORTED_DATE_TIME_PROXY, CsdExportedDateTimeProxyClass))
#define CSD_EXPORTED_DATE_TIME_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CSD_TYPE_EXPORTED_DATE_TIME_PROXY, CsdExportedDateTimeProxyClass))
#define CSD_IS_EXPORTED_DATE_TIME_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CSD_TYPE_EXPORTED_DATE_TIME_PROXY))
#define CSD_IS_EXPORTED_DATE_TIME_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CSD_TYPE_EXPORTED_DATE_TIME_PROXY))

typedef struct _CsdExportedDateTimeProxy CsdExportedDateTimeProxy;
typedef struct _CsdExportedDateTimeProxyClass CsdExportedDateTimeProxyClass;
typedef struct _CsdExportedDateTimeProxyPrivate CsdExportedDateTimeProxyPrivate;

struct _CsdExportedDateTimeProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  CsdExportedDateTimeProxyPrivate *priv;
};

struct _CsdExportedDateTimeProxyClass
{
  GDBusProxyClass parent_class;
};

GType csd_exported_date_time_proxy_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CsdExportedDateTimeProxy, g_object_unref)
#endif

void csd_exported_date_time_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
CsdExportedDateTime *csd_exported_date_time_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
CsdExportedDateTime *csd_exported_date_time_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void csd_exported_date_time_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
CsdExportedDateTime *csd_exported_date_time_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
CsdExportedDateTime *csd_exported_date_time_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define CSD_TYPE_EXPORTED_DATE_TIME_SKELETON (csd_exported_date_time_skeleton_get_type ())
#define CSD_EXPORTED_DATE_TIME_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CSD_TYPE_EXPORTED_DATE_TIME_SKELETON, CsdExportedDateTimeSkeleton))
#define CSD_EXPORTED_DATE_TIME_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), CSD_TYPE_EXPORTED_DATE_TIME_SKELETON, CsdExportedDateTimeSkeletonClass))
#define CSD_EXPORTED_DATE_TIME_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CSD_TYPE_EXPORTED_DATE_TIME_SKELETON, CsdExportedDateTimeSkeletonClass))
#define CSD_IS_EXPORTED_DATE_TIME_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CSD_TYPE_EXPORTED_DATE_TIME_SKELETON))
#define CSD_IS_EXPORTED_DATE_TIME_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CSD_TYPE_EXPORTED_DATE_TIME_SKELETON))

typedef struct _CsdExportedDateTimeSkeleton CsdExportedDateTimeSkeleton;
typedef struct _CsdExportedDateTimeSkeletonClass CsdExportedDateTimeSkeletonClass;
typedef struct _CsdExportedDateTimeSkeletonPrivate CsdExportedDateTimeSkeletonPrivate;

struct _CsdExportedDateTimeSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  CsdExportedDateTimeSkeletonPrivate *priv;
};

struct _CsdExportedDateTimeSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType csd_exported_date_time_skeleton_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CsdExportedDateTimeSkeleton, g_object_unref)
#endif

CsdExportedDateTime *csd_exported_date_time_skeleton_new (void);


G_END_DECLS

#endif /* __CSD_EXPORTED_DATETIME_H__ */
