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

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.ofono.Modem */

#define GDBO_TYPE_MODEM (gdbo_modem_get_type ())
#define GDBO_MODEM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDBO_TYPE_MODEM, GDBOModem))
#define GDBO_IS_MODEM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDBO_TYPE_MODEM))
#define GDBO_MODEM_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GDBO_TYPE_MODEM, GDBOModemIface))

struct _GDBOModem;
typedef struct _GDBOModem GDBOModem;
typedef struct _GDBOModemIface GDBOModemIface;

struct _GDBOModemIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_get_properties) (
    GDBOModem *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_set_property) (
    GDBOModem *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_property,
    GVariant *arg_value);

  void (*property_changed) (
    GDBOModem *object,
    const gchar *arg_name,
    GVariant *arg_value);

};

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

GType gdbo_modem_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *gdbo_modem_interface_info (void);
guint gdbo_modem_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void gdbo_modem_complete_get_properties (
    GDBOModem *object,
    GDBusMethodInvocation *invocation,
    GVariant *properties);

void gdbo_modem_complete_set_property (
    GDBOModem *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void gdbo_modem_emit_property_changed (
    GDBOModem *object,
    const gchar *arg_name,
    GVariant *arg_value);



/* D-Bus method calls: */
void gdbo_modem_call_get_properties (
    GDBOModem *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_modem_call_get_properties_finish (
    GDBOModem *proxy,
    GVariant ** out_properties,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_modem_call_get_properties_sync (
    GDBOModem *proxy,
    GVariant ** out_properties,
    GCancellable *cancellable,
    GError **error);

void gdbo_modem_call_set_property (
    GDBOModem *proxy,
    const gchar *arg_property,
    GVariant *arg_value,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_modem_call_set_property_finish (
    GDBOModem *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_modem_call_set_property_sync (
    GDBOModem *proxy,
    const gchar *arg_property,
    GVariant *arg_value,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define GDBO_TYPE_MODEM_PROXY (gdbo_modem_proxy_get_type ())
#define GDBO_MODEM_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDBO_TYPE_MODEM_PROXY, GDBOModemProxy))
#define GDBO_MODEM_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDBO_TYPE_MODEM_PROXY, GDBOModemProxyClass))
#define GDBO_MODEM_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDBO_TYPE_MODEM_PROXY, GDBOModemProxyClass))
#define GDBO_IS_MODEM_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDBO_TYPE_MODEM_PROXY))
#define GDBO_IS_MODEM_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDBO_TYPE_MODEM_PROXY))

typedef struct _GDBOModemProxy GDBOModemProxy;
typedef struct _GDBOModemProxyClass GDBOModemProxyClass;
typedef struct _GDBOModemProxyPrivate GDBOModemProxyPrivate;

struct _GDBOModemProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GDBOModemProxyPrivate *priv;
};

struct _GDBOModemProxyClass
{
  GDBusProxyClass parent_class;
};

GType gdbo_modem_proxy_get_type (void) G_GNUC_CONST;

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

void gdbo_modem_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GDBOModem *gdbo_modem_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GDBOModem *gdbo_modem_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void gdbo_modem_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GDBOModem *gdbo_modem_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GDBOModem *gdbo_modem_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GDBO_TYPE_MODEM_SKELETON (gdbo_modem_skeleton_get_type ())
#define GDBO_MODEM_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDBO_TYPE_MODEM_SKELETON, GDBOModemSkeleton))
#define GDBO_MODEM_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDBO_TYPE_MODEM_SKELETON, GDBOModemSkeletonClass))
#define GDBO_MODEM_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDBO_TYPE_MODEM_SKELETON, GDBOModemSkeletonClass))
#define GDBO_IS_MODEM_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDBO_TYPE_MODEM_SKELETON))
#define GDBO_IS_MODEM_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDBO_TYPE_MODEM_SKELETON))

typedef struct _GDBOModemSkeleton GDBOModemSkeleton;
typedef struct _GDBOModemSkeletonClass GDBOModemSkeletonClass;
typedef struct _GDBOModemSkeletonPrivate GDBOModemSkeletonPrivate;

struct _GDBOModemSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GDBOModemSkeletonPrivate *priv;
};

struct _GDBOModemSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType gdbo_modem_skeleton_get_type (void) G_GNUC_CONST;

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

GDBOModem *gdbo_modem_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.ofono.VoiceCallManager */

#define GDBO_TYPE_VOICE_CALL_MANAGER (gdbo_voice_call_manager_get_type ())
#define GDBO_VOICE_CALL_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDBO_TYPE_VOICE_CALL_MANAGER, GDBOVoiceCallManager))
#define GDBO_IS_VOICE_CALL_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDBO_TYPE_VOICE_CALL_MANAGER))
#define GDBO_VOICE_CALL_MANAGER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GDBO_TYPE_VOICE_CALL_MANAGER, GDBOVoiceCallManagerIface))

struct _GDBOVoiceCallManager;
typedef struct _GDBOVoiceCallManager GDBOVoiceCallManager;
typedef struct _GDBOVoiceCallManagerIface GDBOVoiceCallManagerIface;

struct _GDBOVoiceCallManagerIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_create_multiparty) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_dial) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_number,
    const gchar *arg_hide_callerid);

  gboolean (*handle_dial_last) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_dial_memory) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation,
    guint arg_memory_location);

  gboolean (*handle_get_calls) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_properties) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_hangup_all) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_hangup_multiparty) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_hold_and_answer) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_private_chat) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_call);

  gboolean (*handle_release_and_answer) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_release_and_swap) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_send_tones) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_SendTones);

  gboolean (*handle_swap_calls) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_transfer) (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

  void (*barring_active) (
    GDBOVoiceCallManager *object,
    const gchar *arg_type);

  void (*call_added) (
    GDBOVoiceCallManager *object,
    const gchar *arg_path,
    GVariant *arg_properties);

  void (*call_removed) (
    GDBOVoiceCallManager *object,
    const gchar *arg_path);

  void (*forwarded) (
    GDBOVoiceCallManager *object,
    const gchar *arg_type);

  void (*property_changed) (
    GDBOVoiceCallManager *object,
    const gchar *arg_name,
    GVariant *arg_value);

};

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

GType gdbo_voice_call_manager_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *gdbo_voice_call_manager_interface_info (void);
guint gdbo_voice_call_manager_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void gdbo_voice_call_manager_complete_get_properties (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation,
    GVariant *properties);

void gdbo_voice_call_manager_complete_dial (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *path);

void gdbo_voice_call_manager_complete_dial_last (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

void gdbo_voice_call_manager_complete_dial_memory (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

void gdbo_voice_call_manager_complete_transfer (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

void gdbo_voice_call_manager_complete_swap_calls (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

void gdbo_voice_call_manager_complete_release_and_answer (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

void gdbo_voice_call_manager_complete_release_and_swap (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

void gdbo_voice_call_manager_complete_hold_and_answer (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

void gdbo_voice_call_manager_complete_hangup_all (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

void gdbo_voice_call_manager_complete_private_chat (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *calls);

void gdbo_voice_call_manager_complete_create_multiparty (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *calls);

void gdbo_voice_call_manager_complete_hangup_multiparty (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

void gdbo_voice_call_manager_complete_send_tones (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation);

void gdbo_voice_call_manager_complete_get_calls (
    GDBOVoiceCallManager *object,
    GDBusMethodInvocation *invocation,
    GVariant *calls_with_properties);



/* D-Bus signal emissions functions: */
void gdbo_voice_call_manager_emit_forwarded (
    GDBOVoiceCallManager *object,
    const gchar *arg_type);

void gdbo_voice_call_manager_emit_barring_active (
    GDBOVoiceCallManager *object,
    const gchar *arg_type);

void gdbo_voice_call_manager_emit_property_changed (
    GDBOVoiceCallManager *object,
    const gchar *arg_name,
    GVariant *arg_value);

void gdbo_voice_call_manager_emit_call_added (
    GDBOVoiceCallManager *object,
    const gchar *arg_path,
    GVariant *arg_properties);

void gdbo_voice_call_manager_emit_call_removed (
    GDBOVoiceCallManager *object,
    const gchar *arg_path);



/* D-Bus method calls: */
void gdbo_voice_call_manager_call_get_properties (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_get_properties_finish (
    GDBOVoiceCallManager *proxy,
    GVariant ** out_properties,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_get_properties_sync (
    GDBOVoiceCallManager *proxy,
    GVariant ** out_properties,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_dial (
    GDBOVoiceCallManager *proxy,
    const gchar *arg_number,
    const gchar *arg_hide_callerid,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_dial_finish (
    GDBOVoiceCallManager *proxy,
    gchar ** out_path,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_dial_sync (
    GDBOVoiceCallManager *proxy,
    const gchar *arg_number,
    const gchar *arg_hide_callerid,
    gchar ** out_path,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_dial_last (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_dial_last_finish (
    GDBOVoiceCallManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_dial_last_sync (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_dial_memory (
    GDBOVoiceCallManager *proxy,
    guint arg_memory_location,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_dial_memory_finish (
    GDBOVoiceCallManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_dial_memory_sync (
    GDBOVoiceCallManager *proxy,
    guint arg_memory_location,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_transfer (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_transfer_finish (
    GDBOVoiceCallManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_transfer_sync (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_swap_calls (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_swap_calls_finish (
    GDBOVoiceCallManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_swap_calls_sync (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_release_and_answer (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_release_and_answer_finish (
    GDBOVoiceCallManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_release_and_answer_sync (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_release_and_swap (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_release_and_swap_finish (
    GDBOVoiceCallManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_release_and_swap_sync (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_hold_and_answer (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_hold_and_answer_finish (
    GDBOVoiceCallManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_hold_and_answer_sync (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_hangup_all (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_hangup_all_finish (
    GDBOVoiceCallManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_hangup_all_sync (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_private_chat (
    GDBOVoiceCallManager *proxy,
    const gchar *arg_call,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_private_chat_finish (
    GDBOVoiceCallManager *proxy,
    gchar *** out_calls,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_private_chat_sync (
    GDBOVoiceCallManager *proxy,
    const gchar *arg_call,
    gchar *** out_calls,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_create_multiparty (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_create_multiparty_finish (
    GDBOVoiceCallManager *proxy,
    gchar *** out_calls,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_create_multiparty_sync (
    GDBOVoiceCallManager *proxy,
    gchar *** out_calls,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_hangup_multiparty (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_hangup_multiparty_finish (
    GDBOVoiceCallManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_hangup_multiparty_sync (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_send_tones (
    GDBOVoiceCallManager *proxy,
    const gchar *arg_SendTones,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_send_tones_finish (
    GDBOVoiceCallManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_send_tones_sync (
    GDBOVoiceCallManager *proxy,
    const gchar *arg_SendTones,
    GCancellable *cancellable,
    GError **error);

void gdbo_voice_call_manager_call_get_calls (
    GDBOVoiceCallManager *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdbo_voice_call_manager_call_get_calls_finish (
    GDBOVoiceCallManager *proxy,
    GVariant ** out_calls_with_properties,
    GAsyncResult *res,
    GError **error);

gboolean gdbo_voice_call_manager_call_get_calls_sync (
    GDBOVoiceCallManager *proxy,
    GVariant ** out_calls_with_properties,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define GDBO_TYPE_VOICE_CALL_MANAGER_PROXY (gdbo_voice_call_manager_proxy_get_type ())
#define GDBO_VOICE_CALL_MANAGER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDBO_TYPE_VOICE_CALL_MANAGER_PROXY, GDBOVoiceCallManagerProxy))
#define GDBO_VOICE_CALL_MANAGER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDBO_TYPE_VOICE_CALL_MANAGER_PROXY, GDBOVoiceCallManagerProxyClass))
#define GDBO_VOICE_CALL_MANAGER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDBO_TYPE_VOICE_CALL_MANAGER_PROXY, GDBOVoiceCallManagerProxyClass))
#define GDBO_IS_VOICE_CALL_MANAGER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDBO_TYPE_VOICE_CALL_MANAGER_PROXY))
#define GDBO_IS_VOICE_CALL_MANAGER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDBO_TYPE_VOICE_CALL_MANAGER_PROXY))

typedef struct _GDBOVoiceCallManagerProxy GDBOVoiceCallManagerProxy;
typedef struct _GDBOVoiceCallManagerProxyClass GDBOVoiceCallManagerProxyClass;
typedef struct _GDBOVoiceCallManagerProxyPrivate GDBOVoiceCallManagerProxyPrivate;

struct _GDBOVoiceCallManagerProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GDBOVoiceCallManagerProxyPrivate *priv;
};

struct _GDBOVoiceCallManagerProxyClass
{
  GDBusProxyClass parent_class;
};

GType gdbo_voice_call_manager_proxy_get_type (void) G_GNUC_CONST;

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

void gdbo_voice_call_manager_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GDBOVoiceCallManager *gdbo_voice_call_manager_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GDBOVoiceCallManager *gdbo_voice_call_manager_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void gdbo_voice_call_manager_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GDBOVoiceCallManager *gdbo_voice_call_manager_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GDBOVoiceCallManager *gdbo_voice_call_manager_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GDBO_TYPE_VOICE_CALL_MANAGER_SKELETON (gdbo_voice_call_manager_skeleton_get_type ())
#define GDBO_VOICE_CALL_MANAGER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDBO_TYPE_VOICE_CALL_MANAGER_SKELETON, GDBOVoiceCallManagerSkeleton))
#define GDBO_VOICE_CALL_MANAGER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDBO_TYPE_VOICE_CALL_MANAGER_SKELETON, GDBOVoiceCallManagerSkeletonClass))
#define GDBO_VOICE_CALL_MANAGER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDBO_TYPE_VOICE_CALL_MANAGER_SKELETON, GDBOVoiceCallManagerSkeletonClass))
#define GDBO_IS_VOICE_CALL_MANAGER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDBO_TYPE_VOICE_CALL_MANAGER_SKELETON))
#define GDBO_IS_VOICE_CALL_MANAGER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDBO_TYPE_VOICE_CALL_MANAGER_SKELETON))

typedef struct _GDBOVoiceCallManagerSkeleton GDBOVoiceCallManagerSkeleton;
typedef struct _GDBOVoiceCallManagerSkeletonClass GDBOVoiceCallManagerSkeletonClass;
typedef struct _GDBOVoiceCallManagerSkeletonPrivate GDBOVoiceCallManagerSkeletonPrivate;

struct _GDBOVoiceCallManagerSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GDBOVoiceCallManagerSkeletonPrivate *priv;
};

struct _GDBOVoiceCallManagerSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType gdbo_voice_call_manager_skeleton_get_type (void) G_GNUC_CONST;

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

GDBOVoiceCallManager *gdbo_voice_call_manager_skeleton_new (void);


G_END_DECLS

#endif /* __GDBO_MODEM_H__ */
