/* Generated by dbus-binding-tool; do not edit! */

#include <glib.h>
#include <dbus/dbus-glib.h>

G_BEGIN_DECLS

#ifndef _DBUS_GLIB_ASYNC_DATA_FREE
#define _DBUS_GLIB_ASYNC_DATA_FREE
static
#ifdef G_HAVE_INLINE
inline
#endif
void
_dbus_glib_async_data_free (gpointer stuff)
{
	g_slice_free (DBusGAsyncData, stuff);
}
#endif

#ifndef DBUS_GLIB_CLIENT_WRAPPERS_org_freedesktop_Telepathy_Channel_Interface_Group
#define DBUS_GLIB_CLIENT_WRAPPERS_org_freedesktop_Telepathy_Channel_Interface_Group

static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_add_members (DBusGProxy *proxy, const GArray* IN_contacts, const char * IN_message, GError **error)

{
  return dbus_g_proxy_call (proxy, "AddMembers", error, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_contacts, G_TYPE_STRING, IN_message, G_TYPE_INVALID, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_add_members_reply) (DBusGProxy *proxy, GError *error, gpointer userdata);

static void
tp_chan_iface_group_add_members_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_INVALID);
  (*(tp_chan_iface_group_add_members_reply)data->cb) (proxy, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_add_members_async (DBusGProxy *proxy, const GArray* IN_contacts, const char * IN_message, tp_chan_iface_group_add_members_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "AddMembers", tp_chan_iface_group_add_members_async_callback, stuff, _dbus_glib_async_data_free, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_contacts, G_TYPE_STRING, IN_message, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_get_all_members (DBusGProxy *proxy, GArray** OUT_arg0, GArray** OUT_arg1, GArray** OUT_arg2, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetAllMembers", error, G_TYPE_INVALID, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), OUT_arg0, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), OUT_arg1, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), OUT_arg2, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_get_all_members_reply) (DBusGProxy *proxy, GArray *OUT_arg0, GArray *OUT_arg1, GArray *OUT_arg2, GError *error, gpointer userdata);

static void
tp_chan_iface_group_get_all_members_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  GArray* OUT_arg0;
  GArray* OUT_arg1;
  GArray* OUT_arg2;
  dbus_g_proxy_end_call (proxy, call, &error, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), &OUT_arg0, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), &OUT_arg1, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), &OUT_arg2, G_TYPE_INVALID);
  (*(tp_chan_iface_group_get_all_members_reply)data->cb) (proxy, OUT_arg0, OUT_arg1, OUT_arg2, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_get_all_members_async (DBusGProxy *proxy, tp_chan_iface_group_get_all_members_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "GetAllMembers", tp_chan_iface_group_get_all_members_async_callback, stuff, _dbus_glib_async_data_free, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_get_group_flags (DBusGProxy *proxy, guint* OUT_arg0, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetGroupFlags", error, G_TYPE_INVALID, G_TYPE_UINT, OUT_arg0, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_get_group_flags_reply) (DBusGProxy *proxy, guint OUT_arg0, GError *error, gpointer userdata);

static void
tp_chan_iface_group_get_group_flags_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  guint OUT_arg0;
  dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_UINT, &OUT_arg0, G_TYPE_INVALID);
  (*(tp_chan_iface_group_get_group_flags_reply)data->cb) (proxy, OUT_arg0, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_get_group_flags_async (DBusGProxy *proxy, tp_chan_iface_group_get_group_flags_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "GetGroupFlags", tp_chan_iface_group_get_group_flags_async_callback, stuff, _dbus_glib_async_data_free, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_get_handle_owners (DBusGProxy *proxy, const GArray* IN_handles, GArray** OUT_arg1, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetHandleOwners", error, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_handles, G_TYPE_INVALID, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), OUT_arg1, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_get_handle_owners_reply) (DBusGProxy *proxy, GArray *OUT_arg1, GError *error, gpointer userdata);

static void
tp_chan_iface_group_get_handle_owners_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  GArray* OUT_arg1;
  dbus_g_proxy_end_call (proxy, call, &error, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), &OUT_arg1, G_TYPE_INVALID);
  (*(tp_chan_iface_group_get_handle_owners_reply)data->cb) (proxy, OUT_arg1, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_get_handle_owners_async (DBusGProxy *proxy, const GArray* IN_handles, tp_chan_iface_group_get_handle_owners_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "GetHandleOwners", tp_chan_iface_group_get_handle_owners_async_callback, stuff, _dbus_glib_async_data_free, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_handles, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_get_local_pending_members (DBusGProxy *proxy, GArray** OUT_arg0, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetLocalPendingMembers", error, G_TYPE_INVALID, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), OUT_arg0, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_get_local_pending_members_reply) (DBusGProxy *proxy, GArray *OUT_arg0, GError *error, gpointer userdata);

static void
tp_chan_iface_group_get_local_pending_members_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  GArray* OUT_arg0;
  dbus_g_proxy_end_call (proxy, call, &error, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), &OUT_arg0, G_TYPE_INVALID);
  (*(tp_chan_iface_group_get_local_pending_members_reply)data->cb) (proxy, OUT_arg0, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_get_local_pending_members_async (DBusGProxy *proxy, tp_chan_iface_group_get_local_pending_members_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "GetLocalPendingMembers", tp_chan_iface_group_get_local_pending_members_async_callback, stuff, _dbus_glib_async_data_free, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_get_local_pending_members_with_info (DBusGProxy *proxy, GPtrArray** OUT_arg0, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetLocalPendingMembersWithInfo", error, G_TYPE_INVALID, dbus_g_type_get_collection ("GPtrArray", dbus_g_type_get_struct ("GValueArray", G_TYPE_UINT, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_INVALID)), OUT_arg0, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_get_local_pending_members_with_info_reply) (DBusGProxy *proxy, GPtrArray *OUT_arg0, GError *error, gpointer userdata);

static void
tp_chan_iface_group_get_local_pending_members_with_info_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  GPtrArray* OUT_arg0;
  dbus_g_proxy_end_call (proxy, call, &error, dbus_g_type_get_collection ("GPtrArray", dbus_g_type_get_struct ("GValueArray", G_TYPE_UINT, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_INVALID)), &OUT_arg0, G_TYPE_INVALID);
  (*(tp_chan_iface_group_get_local_pending_members_with_info_reply)data->cb) (proxy, OUT_arg0, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_get_local_pending_members_with_info_async (DBusGProxy *proxy, tp_chan_iface_group_get_local_pending_members_with_info_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "GetLocalPendingMembersWithInfo", tp_chan_iface_group_get_local_pending_members_with_info_async_callback, stuff, _dbus_glib_async_data_free, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_get_members (DBusGProxy *proxy, GArray** OUT_arg0, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetMembers", error, G_TYPE_INVALID, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), OUT_arg0, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_get_members_reply) (DBusGProxy *proxy, GArray *OUT_arg0, GError *error, gpointer userdata);

static void
tp_chan_iface_group_get_members_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  GArray* OUT_arg0;
  dbus_g_proxy_end_call (proxy, call, &error, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), &OUT_arg0, G_TYPE_INVALID);
  (*(tp_chan_iface_group_get_members_reply)data->cb) (proxy, OUT_arg0, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_get_members_async (DBusGProxy *proxy, tp_chan_iface_group_get_members_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "GetMembers", tp_chan_iface_group_get_members_async_callback, stuff, _dbus_glib_async_data_free, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_get_remote_pending_members (DBusGProxy *proxy, GArray** OUT_arg0, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetRemotePendingMembers", error, G_TYPE_INVALID, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), OUT_arg0, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_get_remote_pending_members_reply) (DBusGProxy *proxy, GArray *OUT_arg0, GError *error, gpointer userdata);

static void
tp_chan_iface_group_get_remote_pending_members_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  GArray* OUT_arg0;
  dbus_g_proxy_end_call (proxy, call, &error, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), &OUT_arg0, G_TYPE_INVALID);
  (*(tp_chan_iface_group_get_remote_pending_members_reply)data->cb) (proxy, OUT_arg0, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_get_remote_pending_members_async (DBusGProxy *proxy, tp_chan_iface_group_get_remote_pending_members_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "GetRemotePendingMembers", tp_chan_iface_group_get_remote_pending_members_async_callback, stuff, _dbus_glib_async_data_free, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_get_self_handle (DBusGProxy *proxy, guint* OUT_arg0, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetSelfHandle", error, G_TYPE_INVALID, G_TYPE_UINT, OUT_arg0, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_get_self_handle_reply) (DBusGProxy *proxy, guint OUT_arg0, GError *error, gpointer userdata);

static void
tp_chan_iface_group_get_self_handle_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  guint OUT_arg0;
  dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_UINT, &OUT_arg0, G_TYPE_INVALID);
  (*(tp_chan_iface_group_get_self_handle_reply)data->cb) (proxy, OUT_arg0, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_get_self_handle_async (DBusGProxy *proxy, tp_chan_iface_group_get_self_handle_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "GetSelfHandle", tp_chan_iface_group_get_self_handle_async_callback, stuff, _dbus_glib_async_data_free, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_remove_members (DBusGProxy *proxy, const GArray* IN_contacts, const char * IN_message, GError **error)

{
  return dbus_g_proxy_call (proxy, "RemoveMembers", error, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_contacts, G_TYPE_STRING, IN_message, G_TYPE_INVALID, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_remove_members_reply) (DBusGProxy *proxy, GError *error, gpointer userdata);

static void
tp_chan_iface_group_remove_members_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_INVALID);
  (*(tp_chan_iface_group_remove_members_reply)data->cb) (proxy, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_remove_members_async (DBusGProxy *proxy, const GArray* IN_contacts, const char * IN_message, tp_chan_iface_group_remove_members_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "RemoveMembers", tp_chan_iface_group_remove_members_async_callback, stuff, _dbus_glib_async_data_free, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_contacts, G_TYPE_STRING, IN_message, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_chan_iface_group_remove_members_with_reason (DBusGProxy *proxy, const GArray* IN_contacts, const char * IN_message, const guint IN_reason, GError **error)

{
  return dbus_g_proxy_call (proxy, "RemoveMembersWithReason", error, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_contacts, G_TYPE_STRING, IN_message, G_TYPE_UINT, IN_reason, G_TYPE_INVALID, G_TYPE_INVALID);
}

typedef void (*tp_chan_iface_group_remove_members_with_reason_reply) (DBusGProxy *proxy, GError *error, gpointer userdata);

static void
tp_chan_iface_group_remove_members_with_reason_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_INVALID);
  (*(tp_chan_iface_group_remove_members_with_reason_reply)data->cb) (proxy, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_chan_iface_group_remove_members_with_reason_async (DBusGProxy *proxy, const GArray* IN_contacts, const char * IN_message, const guint IN_reason, tp_chan_iface_group_remove_members_with_reason_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_slice_new (DBusGAsyncData);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "RemoveMembersWithReason", tp_chan_iface_group_remove_members_with_reason_async_callback, stuff, _dbus_glib_async_data_free, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_contacts, G_TYPE_STRING, IN_message, G_TYPE_UINT, IN_reason, G_TYPE_INVALID);
}
#endif /* defined DBUS_GLIB_CLIENT_WRAPPERS_org_freedesktop_Telepathy_Channel_Interface_Group */

G_END_DECLS
