/*
 * 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 __E_DBUS_CALENDAR_H__
#define __E_DBUS_CALENDAR_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.evolution.dataserver.Calendar */

#define E_DBUS_TYPE_CALENDAR (e_dbus_calendar_get_type ())
#define E_DBUS_CALENDAR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_DBUS_TYPE_CALENDAR, EDBusCalendar))
#define E_DBUS_IS_CALENDAR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_DBUS_TYPE_CALENDAR))
#define E_DBUS_CALENDAR_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), E_DBUS_TYPE_CALENDAR, EDBusCalendarIface))

struct _EDBusCalendar;
typedef struct _EDBusCalendar EDBusCalendar;
typedef struct _EDBusCalendarIface EDBusCalendarIface;

struct _EDBusCalendarIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_add_timezone) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_tz_object);

  gboolean (*handle_close) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_create_objects) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_ics_objects,
    guint arg_opflags);

  gboolean (*handle_discard_alarm) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_uid,
    const gchar *arg_rid,
    const gchar *arg_alarm_uid,
    guint arg_opflags);

  gboolean (*handle_get_attachment_uris) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_uid,
    const gchar *arg_rid);

  gboolean (*handle_get_free_busy) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    gint64 arg_start,
    gint64 arg_end,
    const gchar *const *arg_users);

  gboolean (*handle_get_object) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_uid,
    const gchar *arg_rid);

  gboolean (*handle_get_object_list) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_query);

  gboolean (*handle_get_timezone) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_tz_id);

  gboolean (*handle_get_view) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_query);

  gboolean (*handle_modify_objects) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_ics_objects,
    const gchar *arg_mod_type,
    guint arg_opflags);

  gboolean (*handle_open) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_receive_objects) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_ics_object,
    guint arg_opflags);

  gboolean (*handle_refresh) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_remove_objects) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    GVariant *arg_uid_rid_array,
    const gchar *arg_mod_type,
    guint arg_opflags);

  gboolean (*handle_retrieve_properties) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_send_objects) (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_ics_object,
    guint arg_opflags);

  const gchar * (*get_alarm_email_address) (EDBusCalendar *object);

  const gchar * (*get_cache_dir) (EDBusCalendar *object);

  const gchar * (*get_cal_email_address) (EDBusCalendar *object);

  const gchar *const * (*get_capabilities) (EDBusCalendar *object);

  const gchar * (*get_default_object) (EDBusCalendar *object);

  gboolean  (*get_online) (EDBusCalendar *object);

  const gchar * (*get_revision) (EDBusCalendar *object);

  gboolean  (*get_writable) (EDBusCalendar *object);

  void (*error) (
    EDBusCalendar *object,
    const gchar *arg_error_message);

  void (*free_busy_data) (
    EDBusCalendar *object,
    const gchar *const *arg_ics_objects);

};

GType e_dbus_calendar_get_type (void);

GDBusInterfaceInfo *e_dbus_calendar_interface_info (void);
guint e_dbus_calendar_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void e_dbus_calendar_complete_retrieve_properties (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *properties);

void e_dbus_calendar_complete_open (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *properties);

void e_dbus_calendar_complete_close (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

void e_dbus_calendar_complete_refresh (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

void e_dbus_calendar_complete_create_objects (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *uids);

void e_dbus_calendar_complete_modify_objects (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

void e_dbus_calendar_complete_remove_objects (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

void e_dbus_calendar_complete_receive_objects (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

void e_dbus_calendar_complete_send_objects (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *users,
    const gchar *out_ics_object);

void e_dbus_calendar_complete_get_object (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *ics_object);

void e_dbus_calendar_complete_get_object_list (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *ics_objects);

void e_dbus_calendar_complete_get_free_busy (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *freebusy);

void e_dbus_calendar_complete_get_attachment_uris (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *uris);

void e_dbus_calendar_complete_discard_alarm (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

void e_dbus_calendar_complete_get_timezone (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *tz_object);

void e_dbus_calendar_complete_add_timezone (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation);

void e_dbus_calendar_complete_get_view (
    EDBusCalendar *object,
    GDBusMethodInvocation *invocation,
    const gchar *object_path);



/* D-Bus signal emissions functions: */
void e_dbus_calendar_emit_error (
    EDBusCalendar *object,
    const gchar *arg_error_message);

void e_dbus_calendar_emit_free_busy_data (
    EDBusCalendar *object,
    const gchar *const *arg_ics_objects);



/* D-Bus method calls: */
void e_dbus_calendar_call_retrieve_properties (
    EDBusCalendar *proxy,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_retrieve_properties_finish (
    EDBusCalendar *proxy,
    gchar *** out_properties,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_retrieve_properties_sync (
    EDBusCalendar *proxy,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gchar *** out_properties,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_open (
    EDBusCalendar *proxy,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_open_finish (
    EDBusCalendar *proxy,
    gchar *** out_properties,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_open_sync (
    EDBusCalendar *proxy,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gchar *** out_properties,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_close (
    EDBusCalendar *proxy,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_close_finish (
    EDBusCalendar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_close_sync (
    EDBusCalendar *proxy,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_refresh (
    EDBusCalendar *proxy,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_refresh_finish (
    EDBusCalendar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_refresh_sync (
    EDBusCalendar *proxy,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_create_objects (
    EDBusCalendar *proxy,
    const gchar *const *arg_ics_objects,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_create_objects_finish (
    EDBusCalendar *proxy,
    gchar *** out_uids,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_create_objects_sync (
    EDBusCalendar *proxy,
    const gchar *const *arg_ics_objects,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gchar *** out_uids,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_modify_objects (
    EDBusCalendar *proxy,
    const gchar *const *arg_ics_objects,
    const gchar *arg_mod_type,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_modify_objects_finish (
    EDBusCalendar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_modify_objects_sync (
    EDBusCalendar *proxy,
    const gchar *const *arg_ics_objects,
    const gchar *arg_mod_type,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_remove_objects (
    EDBusCalendar *proxy,
    GVariant *arg_uid_rid_array,
    const gchar *arg_mod_type,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_remove_objects_finish (
    EDBusCalendar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_remove_objects_sync (
    EDBusCalendar *proxy,
    GVariant *arg_uid_rid_array,
    const gchar *arg_mod_type,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_receive_objects (
    EDBusCalendar *proxy,
    const gchar *arg_ics_object,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_receive_objects_finish (
    EDBusCalendar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_receive_objects_sync (
    EDBusCalendar *proxy,
    const gchar *arg_ics_object,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_send_objects (
    EDBusCalendar *proxy,
    const gchar *arg_ics_object,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_send_objects_finish (
    EDBusCalendar *proxy,
    gchar *** out_users,
    gchar ** out_out_ics_object,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_send_objects_sync (
    EDBusCalendar *proxy,
    const gchar *arg_ics_object,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gchar *** out_users,
    gchar ** out_out_ics_object,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_get_object (
    EDBusCalendar *proxy,
    const gchar *arg_uid,
    const gchar *arg_rid,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_get_object_finish (
    EDBusCalendar *proxy,
    gchar ** out_ics_object,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_get_object_sync (
    EDBusCalendar *proxy,
    const gchar *arg_uid,
    const gchar *arg_rid,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gchar ** out_ics_object,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_get_object_list (
    EDBusCalendar *proxy,
    const gchar *arg_query,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_get_object_list_finish (
    EDBusCalendar *proxy,
    gchar *** out_ics_objects,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_get_object_list_sync (
    EDBusCalendar *proxy,
    const gchar *arg_query,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gchar *** out_ics_objects,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_get_free_busy (
    EDBusCalendar *proxy,
    gint64 arg_start,
    gint64 arg_end,
    const gchar *const *arg_users,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_get_free_busy_finish (
    EDBusCalendar *proxy,
    gchar *** out_freebusy,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_get_free_busy_sync (
    EDBusCalendar *proxy,
    gint64 arg_start,
    gint64 arg_end,
    const gchar *const *arg_users,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gchar *** out_freebusy,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_get_attachment_uris (
    EDBusCalendar *proxy,
    const gchar *arg_uid,
    const gchar *arg_rid,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_get_attachment_uris_finish (
    EDBusCalendar *proxy,
    gchar *** out_uris,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_get_attachment_uris_sync (
    EDBusCalendar *proxy,
    const gchar *arg_uid,
    const gchar *arg_rid,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gchar *** out_uris,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_discard_alarm (
    EDBusCalendar *proxy,
    const gchar *arg_uid,
    const gchar *arg_rid,
    const gchar *arg_alarm_uid,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_discard_alarm_finish (
    EDBusCalendar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_discard_alarm_sync (
    EDBusCalendar *proxy,
    const gchar *arg_uid,
    const gchar *arg_rid,
    const gchar *arg_alarm_uid,
    guint arg_opflags,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_get_timezone (
    EDBusCalendar *proxy,
    const gchar *arg_tz_id,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_get_timezone_finish (
    EDBusCalendar *proxy,
    gchar ** out_tz_object,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_get_timezone_sync (
    EDBusCalendar *proxy,
    const gchar *arg_tz_id,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gchar ** out_tz_object,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_add_timezone (
    EDBusCalendar *proxy,
    const gchar *arg_tz_object,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_add_timezone_finish (
    EDBusCalendar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_add_timezone_sync (
    EDBusCalendar *proxy,
    const gchar *arg_tz_object,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void e_dbus_calendar_call_get_view (
    EDBusCalendar *proxy,
    const gchar *arg_query,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean e_dbus_calendar_call_get_view_finish (
    EDBusCalendar *proxy,
    gchar ** out_object_path,
    GAsyncResult *res,
    GError **error);

gboolean e_dbus_calendar_call_get_view_sync (
    EDBusCalendar *proxy,
    const gchar *arg_query,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gchar ** out_object_path,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
gboolean e_dbus_calendar_get_online (EDBusCalendar *object);
void e_dbus_calendar_set_online (EDBusCalendar *object, gboolean value);

const gchar *e_dbus_calendar_get_revision (EDBusCalendar *object);
gchar *e_dbus_calendar_dup_revision (EDBusCalendar *object);
void e_dbus_calendar_set_revision (EDBusCalendar *object, const gchar *value);

gboolean e_dbus_calendar_get_writable (EDBusCalendar *object);
void e_dbus_calendar_set_writable (EDBusCalendar *object, gboolean value);

const gchar *e_dbus_calendar_get_cache_dir (EDBusCalendar *object);
gchar *e_dbus_calendar_dup_cache_dir (EDBusCalendar *object);
void e_dbus_calendar_set_cache_dir (EDBusCalendar *object, const gchar *value);

const gchar *const *e_dbus_calendar_get_capabilities (EDBusCalendar *object);
gchar **e_dbus_calendar_dup_capabilities (EDBusCalendar *object);
void e_dbus_calendar_set_capabilities (EDBusCalendar *object, const gchar *const *value);

const gchar *e_dbus_calendar_get_default_object (EDBusCalendar *object);
gchar *e_dbus_calendar_dup_default_object (EDBusCalendar *object);
void e_dbus_calendar_set_default_object (EDBusCalendar *object, const gchar *value);

const gchar *e_dbus_calendar_get_cal_email_address (EDBusCalendar *object);
gchar *e_dbus_calendar_dup_cal_email_address (EDBusCalendar *object);
void e_dbus_calendar_set_cal_email_address (EDBusCalendar *object, const gchar *value);

const gchar *e_dbus_calendar_get_alarm_email_address (EDBusCalendar *object);
gchar *e_dbus_calendar_dup_alarm_email_address (EDBusCalendar *object);
void e_dbus_calendar_set_alarm_email_address (EDBusCalendar *object, const gchar *value);


/* ---- */

#define E_DBUS_TYPE_CALENDAR_PROXY (e_dbus_calendar_proxy_get_type ())
#define E_DBUS_CALENDAR_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_DBUS_TYPE_CALENDAR_PROXY, EDBusCalendarProxy))
#define E_DBUS_CALENDAR_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), E_DBUS_TYPE_CALENDAR_PROXY, EDBusCalendarProxyClass))
#define E_DBUS_CALENDAR_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_DBUS_TYPE_CALENDAR_PROXY, EDBusCalendarProxyClass))
#define E_DBUS_IS_CALENDAR_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_DBUS_TYPE_CALENDAR_PROXY))
#define E_DBUS_IS_CALENDAR_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_DBUS_TYPE_CALENDAR_PROXY))

typedef struct _EDBusCalendarProxy EDBusCalendarProxy;
typedef struct _EDBusCalendarProxyClass EDBusCalendarProxyClass;
typedef struct _EDBusCalendarProxyPrivate EDBusCalendarProxyPrivate;

struct _EDBusCalendarProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  EDBusCalendarProxyPrivate *priv;
};

struct _EDBusCalendarProxyClass
{
  GDBusProxyClass parent_class;
};

GType e_dbus_calendar_proxy_get_type (void);

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

void e_dbus_calendar_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
EDBusCalendar *e_dbus_calendar_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
EDBusCalendar *e_dbus_calendar_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void e_dbus_calendar_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
EDBusCalendar *e_dbus_calendar_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
EDBusCalendar *e_dbus_calendar_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define E_DBUS_TYPE_CALENDAR_SKELETON (e_dbus_calendar_skeleton_get_type ())
#define E_DBUS_CALENDAR_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_DBUS_TYPE_CALENDAR_SKELETON, EDBusCalendarSkeleton))
#define E_DBUS_CALENDAR_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), E_DBUS_TYPE_CALENDAR_SKELETON, EDBusCalendarSkeletonClass))
#define E_DBUS_CALENDAR_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_DBUS_TYPE_CALENDAR_SKELETON, EDBusCalendarSkeletonClass))
#define E_DBUS_IS_CALENDAR_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_DBUS_TYPE_CALENDAR_SKELETON))
#define E_DBUS_IS_CALENDAR_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_DBUS_TYPE_CALENDAR_SKELETON))

typedef struct _EDBusCalendarSkeleton EDBusCalendarSkeleton;
typedef struct _EDBusCalendarSkeletonClass EDBusCalendarSkeletonClass;
typedef struct _EDBusCalendarSkeletonPrivate EDBusCalendarSkeletonPrivate;

struct _EDBusCalendarSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  EDBusCalendarSkeletonPrivate *priv;
};

struct _EDBusCalendarSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType e_dbus_calendar_skeleton_get_type (void);

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

EDBusCalendar *e_dbus_calendar_skeleton_new (void);


G_END_DECLS

#endif /* __E_DBUS_CALENDAR_H__ */
