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

static
#ifdef G_HAVE_INLINE
inline
#endif
gboolean
org_freedesktop_Geoclue_Position_get_position (DBusGProxy *proxy, gint* OUT_fields, gint* OUT_timestamp, gdouble* OUT_latitude, gdouble* OUT_longitude, gdouble* OUT_altitude, GValueArray** OUT_accuracy, GError **error)

{
  return dbus_g_proxy_call (proxy, "GetPosition", error, G_TYPE_INVALID, G_TYPE_INT, OUT_fields, G_TYPE_INT, OUT_timestamp, G_TYPE_DOUBLE, OUT_latitude, G_TYPE_DOUBLE, OUT_longitude, G_TYPE_DOUBLE, OUT_altitude, dbus_g_type_get_struct ("GValueArray", G_TYPE_INT, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_INVALID), OUT_accuracy, G_TYPE_INVALID);
}

typedef void (*org_freedesktop_Geoclue_Position_get_position_reply) (DBusGProxy *proxy, gint OUT_fields, gint OUT_timestamp, gdouble OUT_latitude, gdouble OUT_longitude, gdouble OUT_altitude, GValueArray *OUT_accuracy, GError *error, gpointer userdata);

static void
org_freedesktop_Geoclue_Position_get_position_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
{
  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
  GError *error = NULL;
  gint OUT_fields;
  gint OUT_timestamp;
  gdouble OUT_latitude;
  gdouble OUT_longitude;
  gdouble OUT_altitude;
  GValueArray* OUT_accuracy;
  dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_INT, &OUT_fields, G_TYPE_INT, &OUT_timestamp, G_TYPE_DOUBLE, &OUT_latitude, G_TYPE_DOUBLE, &OUT_longitude, G_TYPE_DOUBLE, &OUT_altitude, dbus_g_type_get_struct ("GValueArray", G_TYPE_INT, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_INVALID), &OUT_accuracy, G_TYPE_INVALID);
  (*(org_freedesktop_Geoclue_Position_get_position_reply)data->cb) (proxy, OUT_fields, OUT_timestamp, OUT_latitude, OUT_longitude, OUT_altitude, OUT_accuracy, error, data->userdata);
  return;
}

static
#ifdef G_HAVE_INLINE
inline
#endif
DBusGProxyCall*
org_freedesktop_Geoclue_Position_get_position_async (DBusGProxy *proxy, org_freedesktop_Geoclue_Position_get_position_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, "GetPosition", org_freedesktop_Geoclue_Position_get_position_async_callback, stuff, _dbus_glib_async_data_free, G_TYPE_INVALID);
}
#endif /* defined DBUS_GLIB_CLIENT_WRAPPERS_org_freedesktop_Geoclue_Position */

G_END_DECLS
