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

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

G_BEGIN_DECLS

#ifndef DBUS_GLIB_CLIENT_WRAPPERS_org_freedesktop_Telepathy_Connection_Interface_Presence
#define DBUS_GLIB_CLIENT_WRAPPERS_org_freedesktop_Telepathy_Connection_Interface_Presence

static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_conn_iface_presence_add_status (DBusGProxy *proxy, const char * IN_status, const GHashTable* IN_parms, GError **error)

{
  return dbus_g_proxy_call (proxy, "AddStatus", error, G_TYPE_STRING, IN_status, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE), IN_parms, G_TYPE_INVALID, G_TYPE_INVALID);
}

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

static void
tp_conn_iface_presence_add_status_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_conn_iface_presence_add_status_reply)data->cb) (proxy, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_conn_iface_presence_add_status_async (DBusGProxy *proxy, const char * IN_status, const GHashTable* IN_parms, tp_conn_iface_presence_add_status_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_new (DBusGAsyncData, 1);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "AddStatus", tp_conn_iface_presence_add_status_async_callback, stuff, g_free, G_TYPE_STRING, IN_status, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE), IN_parms, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_conn_iface_presence_clear_status (DBusGProxy *proxy, GError **error)

{
  return dbus_g_proxy_call (proxy, "ClearStatus", error, G_TYPE_INVALID, G_TYPE_INVALID);
}

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

static void
tp_conn_iface_presence_clear_status_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_conn_iface_presence_clear_status_reply)data->cb) (proxy, error, data->userdata);
  return;
}

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

{
  DBusGAsyncData *stuff;
  stuff = g_new (DBusGAsyncData, 1);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "ClearStatus", tp_conn_iface_presence_clear_status_async_callback, stuff, g_free, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_conn_iface_presence_get_presence (DBusGProxy *proxy, const GArray* IN_contacts, GHashTable** OUT_presence, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetPresence", error, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_contacts, G_TYPE_INVALID, dbus_g_type_get_map ("GHashTable", G_TYPE_UINT, dbus_g_type_get_struct ("GValueArray", G_TYPE_UINT, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE)), G_TYPE_INVALID)), OUT_presence, G_TYPE_INVALID);
}

typedef void (*tp_conn_iface_presence_get_presence_reply) (DBusGProxy *proxy, GHashTable *OUT_presence, GError *error, gpointer userdata);

static void
tp_conn_iface_presence_get_presence_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  GHashTable* OUT_presence;
  dbus_g_proxy_end_call (proxy, call, &error, dbus_g_type_get_map ("GHashTable", G_TYPE_UINT, dbus_g_type_get_struct ("GValueArray", G_TYPE_UINT, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE)), G_TYPE_INVALID)), &OUT_presence, G_TYPE_INVALID);
  (*(tp_conn_iface_presence_get_presence_reply)data->cb) (proxy, OUT_presence, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_conn_iface_presence_get_presence_async (DBusGProxy *proxy, const GArray* IN_contacts, tp_conn_iface_presence_get_presence_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_new (DBusGAsyncData, 1);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "GetPresence", tp_conn_iface_presence_get_presence_async_callback, stuff, g_free, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_contacts, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_conn_iface_presence_get_statuses (DBusGProxy *proxy, GHashTable** OUT_arg0, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetStatuses", error, G_TYPE_INVALID, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, dbus_g_type_get_struct ("GValueArray", G_TYPE_UINT, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_STRING), G_TYPE_INVALID)), OUT_arg0, G_TYPE_INVALID);
}

typedef void (*tp_conn_iface_presence_get_statuses_reply) (DBusGProxy *proxy, GHashTable *OUT_arg0, GError *error, gpointer userdata);

static void
tp_conn_iface_presence_get_statuses_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  GHashTable* OUT_arg0;
  dbus_g_proxy_end_call (proxy, call, &error, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, dbus_g_type_get_struct ("GValueArray", G_TYPE_UINT, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_STRING), G_TYPE_INVALID)), &OUT_arg0, G_TYPE_INVALID);
  (*(tp_conn_iface_presence_get_statuses_reply)data->cb) (proxy, OUT_arg0, error, data->userdata);
  return;
}

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

{
  DBusGAsyncData *stuff;
  stuff = g_new (DBusGAsyncData, 1);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "GetStatuses", tp_conn_iface_presence_get_statuses_async_callback, stuff, g_free, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_conn_iface_presence_remove_status (DBusGProxy *proxy, const char * IN_status, GError **error)

{
  return dbus_g_proxy_call (proxy, "RemoveStatus", error, G_TYPE_STRING, IN_status, G_TYPE_INVALID, G_TYPE_INVALID);
}

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

static void
tp_conn_iface_presence_remove_status_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_conn_iface_presence_remove_status_reply)data->cb) (proxy, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_conn_iface_presence_remove_status_async (DBusGProxy *proxy, const char * IN_status, tp_conn_iface_presence_remove_status_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_new (DBusGAsyncData, 1);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "RemoveStatus", tp_conn_iface_presence_remove_status_async_callback, stuff, g_free, G_TYPE_STRING, IN_status, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_conn_iface_presence_request_presence (DBusGProxy *proxy, const GArray* IN_contacts, GError **error)

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

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

static void
tp_conn_iface_presence_request_presence_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_conn_iface_presence_request_presence_reply)data->cb) (proxy, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_conn_iface_presence_request_presence_async (DBusGProxy *proxy, const GArray* IN_contacts, tp_conn_iface_presence_request_presence_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_new (DBusGAsyncData, 1);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "RequestPresence", tp_conn_iface_presence_request_presence_async_callback, stuff, g_free, dbus_g_type_get_collection ("GArray", G_TYPE_UINT), IN_contacts, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_conn_iface_presence_set_last_activity_time (DBusGProxy *proxy, const guint IN_time, GError **error)

{
  return dbus_g_proxy_call (proxy, "SetLastActivityTime", error, G_TYPE_UINT, IN_time, G_TYPE_INVALID, G_TYPE_INVALID);
}

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

static void
tp_conn_iface_presence_set_last_activity_time_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_conn_iface_presence_set_last_activity_time_reply)data->cb) (proxy, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_conn_iface_presence_set_last_activity_time_async (DBusGProxy *proxy, const guint IN_time, tp_conn_iface_presence_set_last_activity_time_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_new (DBusGAsyncData, 1);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "SetLastActivityTime", tp_conn_iface_presence_set_last_activity_time_async_callback, stuff, g_free, G_TYPE_UINT, IN_time, G_TYPE_INVALID);
}
static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
tp_conn_iface_presence_set_status (DBusGProxy *proxy, const GHashTable* IN_statuses, GError **error)

{
  return dbus_g_proxy_call (proxy, "SetStatus", error, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE)), IN_statuses, G_TYPE_INVALID, G_TYPE_INVALID);
}

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

static void
tp_conn_iface_presence_set_status_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_conn_iface_presence_set_status_reply)data->cb) (proxy, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
tp_conn_iface_presence_set_status_async (DBusGProxy *proxy, const GHashTable* IN_statuses, tp_conn_iface_presence_set_status_reply callback, gpointer userdata)

{
  DBusGAsyncData *stuff;
  stuff = g_new (DBusGAsyncData, 1);
  stuff->cb = G_CALLBACK (callback);
  stuff->userdata = userdata;
  return dbus_g_proxy_begin_call (proxy, "SetStatus", tp_conn_iface_presence_set_status_async_callback, stuff, g_free, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE)), IN_statuses, G_TYPE_INVALID);
}
#endif /* defined DBUS_GLIB_CLIENT_WRAPPERS_org_freedesktop_Telepathy_Connection_Interface_Presence */

G_END_DECLS
