/*
 * Generated by gdbus-codegen 2.31.22. DO NOT EDIT.
 *
 * The license of this code is the same as for the source it was derived from.
 */

#ifndef __GDBUS_TEST_CODEGEN_GENERATED_H__
#define __GDBUS_TEST_CODEGEN_GENERATED_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.project.Bar */

#define FOO_IGEN_TYPE_BAR (foo_igen_bar_get_type ())
#define FOO_IGEN_BAR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAR, FooiGenBar))
#define FOO_IGEN_IS_BAR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAR))
#define FOO_IGEN_BAR_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_BAR, FooiGenBarIface))

struct _FooiGenBar;
typedef struct _FooiGenBar FooiGenBar;
typedef struct _FooiGenBarIface FooiGenBarIface;

struct _FooiGenBarIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_hello_world) (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_greeting);

  gboolean (*handle_property_cancellation) (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_request_multi_property_mods) (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_request_signal_emission) (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation,
    gint arg_which_one);

  gboolean (*handle_test_non_primitive_types) (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation,
    GVariant *arg_dict_s_to_s,
    GVariant *arg_dict_s_to_pairs,
    GVariant *arg_a_struct,
    const gchar *const *arg_array_of_strings,
    const gchar *const *arg_array_of_objpaths,
    GVariant *arg_array_of_signatures,
    const gchar *const *arg_array_of_bytestrings);

  gboolean (*handle_test_primitive_types) (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation,
    guchar arg_val_byte,
    gboolean arg_val_boolean,
    gint16 arg_val_int16,
    guint16 arg_val_uint16,
    gint arg_val_int32,
    guint arg_val_uint32,
    gint64 arg_val_int64,
    guint64 arg_val_uint64,
    gdouble arg_val_double,
    const gchar *arg_val_string,
    const gchar *arg_val_objpath,
    const gchar *arg_val_signature,
    const gchar *arg_val_bytestring);

  gboolean (*handle_unimplemented_method) (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation);

  const gchar *const * (*get_aay) (FooiGenBar *object);

  GVariant * (*get_ag) (FooiGenBar *object);

  const gchar *const * (*get_ao) (FooiGenBar *object);

  const gchar *const * (*get_as) (FooiGenBar *object);

  const gchar * (*get_ay) (FooiGenBar *object);

  gboolean  (*get_b) (FooiGenBar *object);

  gdouble  (*get_d) (FooiGenBar *object);

  const gchar * (*get_finally_normal_name) (FooiGenBar *object);

  const gchar * (*get_g) (FooiGenBar *object);

  gint  (*get_i) (FooiGenBar *object);

  gint16  (*get_n) (FooiGenBar *object);

  const gchar * (*get_o) (FooiGenBar *object);

  guint16  (*get_q) (FooiGenBar *object);

  const gchar * (*get_readonly_property) (FooiGenBar *object);

  const gchar * (*get_s) (FooiGenBar *object);

  guint64  (*get_t) (FooiGenBar *object);

  guint  (*get_u) (FooiGenBar *object);

  GVariant * (*get_unset_ag) (FooiGenBar *object);

  const gchar *const * (*get_unset_ao) (FooiGenBar *object);

  const gchar *const * (*get_unset_as) (FooiGenBar *object);

  const gchar * (*get_unset_ay) (FooiGenBar *object);

  gdouble  (*get_unset_d) (FooiGenBar *object);

  const gchar * (*get_unset_g) (FooiGenBar *object);

  gint  (*get_unset_i) (FooiGenBar *object);

  const gchar * (*get_unset_o) (FooiGenBar *object);

  const gchar * (*get_unset_s) (FooiGenBar *object);

  GVariant * (*get_unset_struct) (FooiGenBar *object);

  const gchar * (*get_writeonly_property) (FooiGenBar *object);

  gint64  (*get_x) (FooiGenBar *object);

  guchar  (*get_y) (FooiGenBar *object);

  void (*another_signal) (
    FooiGenBar *object,
    const gchar *arg_word);

  void (*test_signal) (
    FooiGenBar *object,
    gint arg_val_int32,
    const gchar *const *arg_array_of_strings,
    const gchar *const *arg_array_of_bytestrings,
    GVariant *arg_dict_s_to_pairs);

};

GType foo_igen_bar_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_bar_interface_info (void);
guint foo_igen_bar_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_bar_complete_hello_world (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation,
    const gchar *response);

void foo_igen_bar_complete_test_primitive_types (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation,
    guchar ret_byte,
    gboolean ret_boolean,
    gint16 ret_int16,
    guint16 ret_uint16,
    gint ret_int32,
    guint ret_uint32,
    gint64 ret_int64,
    guint64 ret_uint64,
    gdouble ret_double,
    const gchar *ret_string,
    const gchar *ret_objpath,
    const gchar *ret_signature,
    const gchar *ret_bytestring);

void foo_igen_bar_complete_test_non_primitive_types (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation,
    const gchar *result);

void foo_igen_bar_complete_request_signal_emission (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation);

void foo_igen_bar_complete_request_multi_property_mods (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation);

void foo_igen_bar_complete_unimplemented_method (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation);

void foo_igen_bar_complete_property_cancellation (
    FooiGenBar *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void foo_igen_bar_emit_test_signal (
    FooiGenBar *object,
    gint arg_val_int32,
    const gchar *const *arg_array_of_strings,
    const gchar *const *arg_array_of_bytestrings,
    GVariant *arg_dict_s_to_pairs);

void foo_igen_bar_emit_another_signal (
    FooiGenBar *object,
    const gchar *arg_word);



/* D-Bus method calls: */
void foo_igen_bar_call_hello_world (
    FooiGenBar *proxy,
    const gchar *arg_greeting,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_bar_call_hello_world_finish (
    FooiGenBar *proxy,
    gchar **out_response,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_bar_call_hello_world_sync (
    FooiGenBar *proxy,
    const gchar *arg_greeting,
    gchar **out_response,
    GCancellable *cancellable,
    GError **error);

void foo_igen_bar_call_test_primitive_types (
    FooiGenBar *proxy,
    guchar arg_val_byte,
    gboolean arg_val_boolean,
    gint16 arg_val_int16,
    guint16 arg_val_uint16,
    gint arg_val_int32,
    guint arg_val_uint32,
    gint64 arg_val_int64,
    guint64 arg_val_uint64,
    gdouble arg_val_double,
    const gchar *arg_val_string,
    const gchar *arg_val_objpath,
    const gchar *arg_val_signature,
    const gchar *arg_val_bytestring,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_bar_call_test_primitive_types_finish (
    FooiGenBar *proxy,
    guchar *out_ret_byte,
    gboolean *out_ret_boolean,
    gint16 *out_ret_int16,
    guint16 *out_ret_uint16,
    gint *out_ret_int32,
    guint *out_ret_uint32,
    gint64 *out_ret_int64,
    guint64 *out_ret_uint64,
    gdouble *out_ret_double,
    gchar **out_ret_string,
    gchar **out_ret_objpath,
    gchar **out_ret_signature,
    gchar **out_ret_bytestring,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_bar_call_test_primitive_types_sync (
    FooiGenBar *proxy,
    guchar arg_val_byte,
    gboolean arg_val_boolean,
    gint16 arg_val_int16,
    guint16 arg_val_uint16,
    gint arg_val_int32,
    guint arg_val_uint32,
    gint64 arg_val_int64,
    guint64 arg_val_uint64,
    gdouble arg_val_double,
    const gchar *arg_val_string,
    const gchar *arg_val_objpath,
    const gchar *arg_val_signature,
    const gchar *arg_val_bytestring,
    guchar *out_ret_byte,
    gboolean *out_ret_boolean,
    gint16 *out_ret_int16,
    guint16 *out_ret_uint16,
    gint *out_ret_int32,
    guint *out_ret_uint32,
    gint64 *out_ret_int64,
    guint64 *out_ret_uint64,
    gdouble *out_ret_double,
    gchar **out_ret_string,
    gchar **out_ret_objpath,
    gchar **out_ret_signature,
    gchar **out_ret_bytestring,
    GCancellable *cancellable,
    GError **error);

void foo_igen_bar_call_test_non_primitive_types (
    FooiGenBar *proxy,
    GVariant *arg_dict_s_to_s,
    GVariant *arg_dict_s_to_pairs,
    GVariant *arg_a_struct,
    const gchar *const *arg_array_of_strings,
    const gchar *const *arg_array_of_objpaths,
    GVariant *arg_array_of_signatures,
    const gchar *const *arg_array_of_bytestrings,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_bar_call_test_non_primitive_types_finish (
    FooiGenBar *proxy,
    gchar **out_result,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_bar_call_test_non_primitive_types_sync (
    FooiGenBar *proxy,
    GVariant *arg_dict_s_to_s,
    GVariant *arg_dict_s_to_pairs,
    GVariant *arg_a_struct,
    const gchar *const *arg_array_of_strings,
    const gchar *const *arg_array_of_objpaths,
    GVariant *arg_array_of_signatures,
    const gchar *const *arg_array_of_bytestrings,
    gchar **out_result,
    GCancellable *cancellable,
    GError **error);

void foo_igen_bar_call_request_signal_emission (
    FooiGenBar *proxy,
    gint arg_which_one,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_bar_call_request_signal_emission_finish (
    FooiGenBar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_bar_call_request_signal_emission_sync (
    FooiGenBar *proxy,
    gint arg_which_one,
    GCancellable *cancellable,
    GError **error);

void foo_igen_bar_call_request_multi_property_mods (
    FooiGenBar *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_bar_call_request_multi_property_mods_finish (
    FooiGenBar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_bar_call_request_multi_property_mods_sync (
    FooiGenBar *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_bar_call_unimplemented_method (
    FooiGenBar *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_bar_call_unimplemented_method_finish (
    FooiGenBar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_bar_call_unimplemented_method_sync (
    FooiGenBar *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_bar_call_property_cancellation (
    FooiGenBar *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_bar_call_property_cancellation_finish (
    FooiGenBar *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_bar_call_property_cancellation_sync (
    FooiGenBar *proxy,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
guchar foo_igen_bar_get_y (FooiGenBar *object);
void foo_igen_bar_set_y (FooiGenBar *object, guchar value);

gboolean foo_igen_bar_get_b (FooiGenBar *object);
void foo_igen_bar_set_b (FooiGenBar *object, gboolean value);

gint16 foo_igen_bar_get_n (FooiGenBar *object);
void foo_igen_bar_set_n (FooiGenBar *object, gint16 value);

guint16 foo_igen_bar_get_q (FooiGenBar *object);
void foo_igen_bar_set_q (FooiGenBar *object, guint16 value);

gint foo_igen_bar_get_i (FooiGenBar *object);
void foo_igen_bar_set_i (FooiGenBar *object, gint value);

guint foo_igen_bar_get_u (FooiGenBar *object);
void foo_igen_bar_set_u (FooiGenBar *object, guint value);

gint64 foo_igen_bar_get_x (FooiGenBar *object);
void foo_igen_bar_set_x (FooiGenBar *object, gint64 value);

guint64 foo_igen_bar_get_t (FooiGenBar *object);
void foo_igen_bar_set_t (FooiGenBar *object, guint64 value);

gdouble foo_igen_bar_get_d (FooiGenBar *object);
void foo_igen_bar_set_d (FooiGenBar *object, gdouble value);

const gchar *foo_igen_bar_get_s (FooiGenBar *object);
gchar *foo_igen_bar_dup_s (FooiGenBar *object);
void foo_igen_bar_set_s (FooiGenBar *object, const gchar *value);

const gchar *foo_igen_bar_get_o (FooiGenBar *object);
gchar *foo_igen_bar_dup_o (FooiGenBar *object);
void foo_igen_bar_set_o (FooiGenBar *object, const gchar *value);

const gchar *foo_igen_bar_get_g (FooiGenBar *object);
gchar *foo_igen_bar_dup_g (FooiGenBar *object);
void foo_igen_bar_set_g (FooiGenBar *object, const gchar *value);

const gchar *foo_igen_bar_get_ay (FooiGenBar *object);
gchar *foo_igen_bar_dup_ay (FooiGenBar *object);
void foo_igen_bar_set_ay (FooiGenBar *object, const gchar *value);

const gchar *const *foo_igen_bar_get_as (FooiGenBar *object);
gchar **foo_igen_bar_dup_as (FooiGenBar *object);
void foo_igen_bar_set_as (FooiGenBar *object, const gchar *const *value);

const gchar *const *foo_igen_bar_get_aay (FooiGenBar *object);
gchar **foo_igen_bar_dup_aay (FooiGenBar *object);
void foo_igen_bar_set_aay (FooiGenBar *object, const gchar *const *value);

const gchar *const *foo_igen_bar_get_ao (FooiGenBar *object);
gchar **foo_igen_bar_dup_ao (FooiGenBar *object);
void foo_igen_bar_set_ao (FooiGenBar *object, const gchar *const *value);

GVariant *foo_igen_bar_get_ag (FooiGenBar *object);
GVariant *foo_igen_bar_dup_ag (FooiGenBar *object);
void foo_igen_bar_set_ag (FooiGenBar *object, GVariant *value);

const gchar *foo_igen_bar_get_finally_normal_name (FooiGenBar *object);
gchar *foo_igen_bar_dup_finally_normal_name (FooiGenBar *object);
void foo_igen_bar_set_finally_normal_name (FooiGenBar *object, const gchar *value);

const gchar *foo_igen_bar_get_readonly_property (FooiGenBar *object);
gchar *foo_igen_bar_dup_readonly_property (FooiGenBar *object);
void foo_igen_bar_set_readonly_property (FooiGenBar *object, const gchar *value);

const gchar *foo_igen_bar_get_writeonly_property (FooiGenBar *object);
gchar *foo_igen_bar_dup_writeonly_property (FooiGenBar *object);
void foo_igen_bar_set_writeonly_property (FooiGenBar *object, const gchar *value);

gint foo_igen_bar_get_unset_i (FooiGenBar *object);
void foo_igen_bar_set_unset_i (FooiGenBar *object, gint value);

gdouble foo_igen_bar_get_unset_d (FooiGenBar *object);
void foo_igen_bar_set_unset_d (FooiGenBar *object, gdouble value);

const gchar *foo_igen_bar_get_unset_s (FooiGenBar *object);
gchar *foo_igen_bar_dup_unset_s (FooiGenBar *object);
void foo_igen_bar_set_unset_s (FooiGenBar *object, const gchar *value);

const gchar *foo_igen_bar_get_unset_o (FooiGenBar *object);
gchar *foo_igen_bar_dup_unset_o (FooiGenBar *object);
void foo_igen_bar_set_unset_o (FooiGenBar *object, const gchar *value);

const gchar *foo_igen_bar_get_unset_g (FooiGenBar *object);
gchar *foo_igen_bar_dup_unset_g (FooiGenBar *object);
void foo_igen_bar_set_unset_g (FooiGenBar *object, const gchar *value);

const gchar *foo_igen_bar_get_unset_ay (FooiGenBar *object);
gchar *foo_igen_bar_dup_unset_ay (FooiGenBar *object);
void foo_igen_bar_set_unset_ay (FooiGenBar *object, const gchar *value);

const gchar *const *foo_igen_bar_get_unset_as (FooiGenBar *object);
gchar **foo_igen_bar_dup_unset_as (FooiGenBar *object);
void foo_igen_bar_set_unset_as (FooiGenBar *object, const gchar *const *value);

const gchar *const *foo_igen_bar_get_unset_ao (FooiGenBar *object);
gchar **foo_igen_bar_dup_unset_ao (FooiGenBar *object);
void foo_igen_bar_set_unset_ao (FooiGenBar *object, const gchar *const *value);

GVariant *foo_igen_bar_get_unset_ag (FooiGenBar *object);
GVariant *foo_igen_bar_dup_unset_ag (FooiGenBar *object);
void foo_igen_bar_set_unset_ag (FooiGenBar *object, GVariant *value);

GVariant *foo_igen_bar_get_unset_struct (FooiGenBar *object);
GVariant *foo_igen_bar_dup_unset_struct (FooiGenBar *object);
void foo_igen_bar_set_unset_struct (FooiGenBar *object, GVariant *value);


/* ---- */

#define FOO_IGEN_TYPE_BAR_PROXY (foo_igen_bar_proxy_get_type ())
#define FOO_IGEN_BAR_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAR_PROXY, FooiGenBarProxy))
#define FOO_IGEN_BAR_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_BAR_PROXY, FooiGenBarProxyClass))
#define FOO_IGEN_BAR_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_BAR_PROXY, FooiGenBarProxyClass))
#define FOO_IGEN_IS_BAR_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAR_PROXY))
#define FOO_IGEN_IS_BAR_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_BAR_PROXY))

typedef struct _FooiGenBarProxy FooiGenBarProxy;
typedef struct _FooiGenBarProxyClass FooiGenBarProxyClass;
typedef struct _FooiGenBarProxyPrivate FooiGenBarProxyPrivate;

struct _FooiGenBarProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenBarProxyPrivate *priv;
};

struct _FooiGenBarProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_bar_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_bar_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenBar *foo_igen_bar_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenBar *foo_igen_bar_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_bar_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenBar *foo_igen_bar_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenBar *foo_igen_bar_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_BAR_SKELETON (foo_igen_bar_skeleton_get_type ())
#define FOO_IGEN_BAR_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAR_SKELETON, FooiGenBarSkeleton))
#define FOO_IGEN_BAR_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_BAR_SKELETON, FooiGenBarSkeletonClass))
#define FOO_IGEN_BAR_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_BAR_SKELETON, FooiGenBarSkeletonClass))
#define FOO_IGEN_IS_BAR_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAR_SKELETON))
#define FOO_IGEN_IS_BAR_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_BAR_SKELETON))

typedef struct _FooiGenBarSkeleton FooiGenBarSkeleton;
typedef struct _FooiGenBarSkeletonClass FooiGenBarSkeletonClass;
typedef struct _FooiGenBarSkeletonPrivate FooiGenBarSkeletonPrivate;

struct _FooiGenBarSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenBarSkeletonPrivate *priv;
};

struct _FooiGenBarSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_bar_skeleton_get_type (void) G_GNUC_CONST;

FooiGenBar *foo_igen_bar_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.project.Bar.Frobnicator */

#define FOO_IGEN_TYPE_BAR_FROBNICATOR (foo_igen_bar_frobnicator_get_type ())
#define FOO_IGEN_BAR_FROBNICATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAR_FROBNICATOR, FooiGenBarFrobnicator))
#define FOO_IGEN_IS_BAR_FROBNICATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAR_FROBNICATOR))
#define FOO_IGEN_BAR_FROBNICATOR_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_BAR_FROBNICATOR, FooiGenBarFrobnicatorIface))

struct _FooiGenBarFrobnicator;
typedef struct _FooiGenBarFrobnicator FooiGenBarFrobnicator;
typedef struct _FooiGenBarFrobnicatorIface FooiGenBarFrobnicatorIface;

struct _FooiGenBarFrobnicatorIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_random_method) (
    FooiGenBarFrobnicator *object,
    GDBusMethodInvocation *invocation);

};

GType foo_igen_bar_frobnicator_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_bar_frobnicator_interface_info (void);
guint foo_igen_bar_frobnicator_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_bar_frobnicator_complete_random_method (
    FooiGenBarFrobnicator *object,
    GDBusMethodInvocation *invocation);



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

gboolean foo_igen_bar_frobnicator_call_random_method_finish (
    FooiGenBarFrobnicator *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_bar_frobnicator_call_random_method_sync (
    FooiGenBarFrobnicator *proxy,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define FOO_IGEN_TYPE_BAR_FROBNICATOR_PROXY (foo_igen_bar_frobnicator_proxy_get_type ())
#define FOO_IGEN_BAR_FROBNICATOR_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAR_FROBNICATOR_PROXY, FooiGenBarFrobnicatorProxy))
#define FOO_IGEN_BAR_FROBNICATOR_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_BAR_FROBNICATOR_PROXY, FooiGenBarFrobnicatorProxyClass))
#define FOO_IGEN_BAR_FROBNICATOR_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_BAR_FROBNICATOR_PROXY, FooiGenBarFrobnicatorProxyClass))
#define FOO_IGEN_IS_BAR_FROBNICATOR_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAR_FROBNICATOR_PROXY))
#define FOO_IGEN_IS_BAR_FROBNICATOR_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_BAR_FROBNICATOR_PROXY))

typedef struct _FooiGenBarFrobnicatorProxy FooiGenBarFrobnicatorProxy;
typedef struct _FooiGenBarFrobnicatorProxyClass FooiGenBarFrobnicatorProxyClass;
typedef struct _FooiGenBarFrobnicatorProxyPrivate FooiGenBarFrobnicatorProxyPrivate;

struct _FooiGenBarFrobnicatorProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenBarFrobnicatorProxyPrivate *priv;
};

struct _FooiGenBarFrobnicatorProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_bar_frobnicator_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_bar_frobnicator_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenBarFrobnicator *foo_igen_bar_frobnicator_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenBarFrobnicator *foo_igen_bar_frobnicator_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_bar_frobnicator_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenBarFrobnicator *foo_igen_bar_frobnicator_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenBarFrobnicator *foo_igen_bar_frobnicator_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_BAR_FROBNICATOR_SKELETON (foo_igen_bar_frobnicator_skeleton_get_type ())
#define FOO_IGEN_BAR_FROBNICATOR_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAR_FROBNICATOR_SKELETON, FooiGenBarFrobnicatorSkeleton))
#define FOO_IGEN_BAR_FROBNICATOR_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_BAR_FROBNICATOR_SKELETON, FooiGenBarFrobnicatorSkeletonClass))
#define FOO_IGEN_BAR_FROBNICATOR_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_BAR_FROBNICATOR_SKELETON, FooiGenBarFrobnicatorSkeletonClass))
#define FOO_IGEN_IS_BAR_FROBNICATOR_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAR_FROBNICATOR_SKELETON))
#define FOO_IGEN_IS_BAR_FROBNICATOR_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_BAR_FROBNICATOR_SKELETON))

typedef struct _FooiGenBarFrobnicatorSkeleton FooiGenBarFrobnicatorSkeleton;
typedef struct _FooiGenBarFrobnicatorSkeletonClass FooiGenBarFrobnicatorSkeletonClass;
typedef struct _FooiGenBarFrobnicatorSkeletonPrivate FooiGenBarFrobnicatorSkeletonPrivate;

struct _FooiGenBarFrobnicatorSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenBarFrobnicatorSkeletonPrivate *priv;
};

struct _FooiGenBarFrobnicatorSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_bar_frobnicator_skeleton_get_type (void) G_GNUC_CONST;

FooiGenBarFrobnicator *foo_igen_bar_frobnicator_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.project.Baz */

#define FOO_IGEN_TYPE_BAZ (foo_igen_baz_get_type ())
#define FOO_IGEN_BAZ(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAZ, FooiGenBaz))
#define FOO_IGEN_IS_BAZ(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAZ))
#define FOO_IGEN_BAZ_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_BAZ, FooiGenBazIface))

struct _FooiGenBaz;
typedef struct _FooiGenBaz FooiGenBaz;
typedef struct _FooiGenBazIface FooiGenBazIface;

struct _FooiGenBazIface
{
  GTypeInterface parent_iface;
};

GType foo_igen_baz_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_baz_interface_info (void);
guint foo_igen_baz_override_properties (GObjectClass *klass, guint property_id_begin);


/* ---- */

#define FOO_IGEN_TYPE_BAZ_PROXY (foo_igen_baz_proxy_get_type ())
#define FOO_IGEN_BAZ_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAZ_PROXY, FooiGenBazProxy))
#define FOO_IGEN_BAZ_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_BAZ_PROXY, FooiGenBazProxyClass))
#define FOO_IGEN_BAZ_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_BAZ_PROXY, FooiGenBazProxyClass))
#define FOO_IGEN_IS_BAZ_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAZ_PROXY))
#define FOO_IGEN_IS_BAZ_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_BAZ_PROXY))

typedef struct _FooiGenBazProxy FooiGenBazProxy;
typedef struct _FooiGenBazProxyClass FooiGenBazProxyClass;
typedef struct _FooiGenBazProxyPrivate FooiGenBazProxyPrivate;

struct _FooiGenBazProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenBazProxyPrivate *priv;
};

struct _FooiGenBazProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_baz_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_baz_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenBaz *foo_igen_baz_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenBaz *foo_igen_baz_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_baz_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenBaz *foo_igen_baz_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenBaz *foo_igen_baz_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_BAZ_SKELETON (foo_igen_baz_skeleton_get_type ())
#define FOO_IGEN_BAZ_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAZ_SKELETON, FooiGenBazSkeleton))
#define FOO_IGEN_BAZ_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_BAZ_SKELETON, FooiGenBazSkeletonClass))
#define FOO_IGEN_BAZ_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_BAZ_SKELETON, FooiGenBazSkeletonClass))
#define FOO_IGEN_IS_BAZ_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAZ_SKELETON))
#define FOO_IGEN_IS_BAZ_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_BAZ_SKELETON))

typedef struct _FooiGenBazSkeleton FooiGenBazSkeleton;
typedef struct _FooiGenBazSkeletonClass FooiGenBazSkeletonClass;
typedef struct _FooiGenBazSkeletonPrivate FooiGenBazSkeletonPrivate;

struct _FooiGenBazSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenBazSkeletonPrivate *priv;
};

struct _FooiGenBazSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_baz_skeleton_get_type (void) G_GNUC_CONST;

FooiGenBaz *foo_igen_baz_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for com.acme.Coyote */

#define FOO_IGEN_TYPE_COM_ACME_COYOTE (foo_igen_com_acme_coyote_get_type ())
#define FOO_IGEN_COM_ACME_COYOTE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_COM_ACME_COYOTE, FooiGenComAcmeCoyote))
#define FOO_IGEN_IS_COM_ACME_COYOTE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_COM_ACME_COYOTE))
#define FOO_IGEN_COM_ACME_COYOTE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_COM_ACME_COYOTE, FooiGenComAcmeCoyoteIface))

struct _FooiGenComAcmeCoyote;
typedef struct _FooiGenComAcmeCoyote FooiGenComAcmeCoyote;
typedef struct _FooiGenComAcmeCoyoteIface FooiGenComAcmeCoyoteIface;

struct _FooiGenComAcmeCoyoteIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_attack) (
    FooiGenComAcmeCoyote *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_run) (
    FooiGenComAcmeCoyote *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_sleep) (
    FooiGenComAcmeCoyote *object,
    GDBusMethodInvocation *invocation);

  const gchar * (*get_mood) (FooiGenComAcmeCoyote *object);

  void (*surprised) (
    FooiGenComAcmeCoyote *object);

};

GType foo_igen_com_acme_coyote_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_com_acme_coyote_interface_info (void);
guint foo_igen_com_acme_coyote_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_com_acme_coyote_complete_run (
    FooiGenComAcmeCoyote *object,
    GDBusMethodInvocation *invocation);

void foo_igen_com_acme_coyote_complete_sleep (
    FooiGenComAcmeCoyote *object,
    GDBusMethodInvocation *invocation);

void foo_igen_com_acme_coyote_complete_attack (
    FooiGenComAcmeCoyote *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void foo_igen_com_acme_coyote_emit_surprised (
    FooiGenComAcmeCoyote *object);



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

gboolean foo_igen_com_acme_coyote_call_run_finish (
    FooiGenComAcmeCoyote *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_com_acme_coyote_call_run_sync (
    FooiGenComAcmeCoyote *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_com_acme_coyote_call_sleep (
    FooiGenComAcmeCoyote *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_com_acme_coyote_call_sleep_finish (
    FooiGenComAcmeCoyote *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_com_acme_coyote_call_sleep_sync (
    FooiGenComAcmeCoyote *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_com_acme_coyote_call_attack (
    FooiGenComAcmeCoyote *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_com_acme_coyote_call_attack_finish (
    FooiGenComAcmeCoyote *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_com_acme_coyote_call_attack_sync (
    FooiGenComAcmeCoyote *proxy,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
const gchar *foo_igen_com_acme_coyote_get_mood (FooiGenComAcmeCoyote *object);
gchar *foo_igen_com_acme_coyote_dup_mood (FooiGenComAcmeCoyote *object);
void foo_igen_com_acme_coyote_set_mood (FooiGenComAcmeCoyote *object, const gchar *value);


/* ---- */

#define FOO_IGEN_TYPE_COM_ACME_COYOTE_PROXY (foo_igen_com_acme_coyote_proxy_get_type ())
#define FOO_IGEN_COM_ACME_COYOTE_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_COM_ACME_COYOTE_PROXY, FooiGenComAcmeCoyoteProxy))
#define FOO_IGEN_COM_ACME_COYOTE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_COM_ACME_COYOTE_PROXY, FooiGenComAcmeCoyoteProxyClass))
#define FOO_IGEN_COM_ACME_COYOTE_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_COM_ACME_COYOTE_PROXY, FooiGenComAcmeCoyoteProxyClass))
#define FOO_IGEN_IS_COM_ACME_COYOTE_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_COM_ACME_COYOTE_PROXY))
#define FOO_IGEN_IS_COM_ACME_COYOTE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_COM_ACME_COYOTE_PROXY))

typedef struct _FooiGenComAcmeCoyoteProxy FooiGenComAcmeCoyoteProxy;
typedef struct _FooiGenComAcmeCoyoteProxyClass FooiGenComAcmeCoyoteProxyClass;
typedef struct _FooiGenComAcmeCoyoteProxyPrivate FooiGenComAcmeCoyoteProxyPrivate;

struct _FooiGenComAcmeCoyoteProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenComAcmeCoyoteProxyPrivate *priv;
};

struct _FooiGenComAcmeCoyoteProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_com_acme_coyote_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_com_acme_coyote_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenComAcmeCoyote *foo_igen_com_acme_coyote_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenComAcmeCoyote *foo_igen_com_acme_coyote_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_com_acme_coyote_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenComAcmeCoyote *foo_igen_com_acme_coyote_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenComAcmeCoyote *foo_igen_com_acme_coyote_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_COM_ACME_COYOTE_SKELETON (foo_igen_com_acme_coyote_skeleton_get_type ())
#define FOO_IGEN_COM_ACME_COYOTE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_COM_ACME_COYOTE_SKELETON, FooiGenComAcmeCoyoteSkeleton))
#define FOO_IGEN_COM_ACME_COYOTE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_COM_ACME_COYOTE_SKELETON, FooiGenComAcmeCoyoteSkeletonClass))
#define FOO_IGEN_COM_ACME_COYOTE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_COM_ACME_COYOTE_SKELETON, FooiGenComAcmeCoyoteSkeletonClass))
#define FOO_IGEN_IS_COM_ACME_COYOTE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_COM_ACME_COYOTE_SKELETON))
#define FOO_IGEN_IS_COM_ACME_COYOTE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_COM_ACME_COYOTE_SKELETON))

typedef struct _FooiGenComAcmeCoyoteSkeleton FooiGenComAcmeCoyoteSkeleton;
typedef struct _FooiGenComAcmeCoyoteSkeletonClass FooiGenComAcmeCoyoteSkeletonClass;
typedef struct _FooiGenComAcmeCoyoteSkeletonPrivate FooiGenComAcmeCoyoteSkeletonPrivate;

struct _FooiGenComAcmeCoyoteSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenComAcmeCoyoteSkeletonPrivate *priv;
};

struct _FooiGenComAcmeCoyoteSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_com_acme_coyote_skeleton_get_type (void) G_GNUC_CONST;

FooiGenComAcmeCoyote *foo_igen_com_acme_coyote_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for com.acme.Rocket */

#define FOO_IGEN_TYPE_ROCKET123 (foo_igen_rocket123_get_type ())
#define FOO_IGEN_ROCKET123(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_ROCKET123, FooiGenRocket123))
#define FOO_IGEN_IS_ROCKET123(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_ROCKET123))
#define FOO_IGEN_ROCKET123_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_ROCKET123, FooiGenRocket123Iface))

struct _FooiGenRocket123;
typedef struct _FooiGenRocket123 FooiGenRocket123;
typedef struct _FooiGenRocket123Iface FooiGenRocket123Iface;

struct _FooiGenRocket123Iface
{
  GTypeInterface parent_iface;



  gboolean (*handle_ignite_xyz) (
    FooiGenRocket123 *object,
    GDBusMethodInvocation *invocation);

  GVariant * (*get_direction) (FooiGenRocket123 *object);

  gdouble  (*get_speed_xyz) (FooiGenRocket123 *object);

  const gchar * (*get_type_) (FooiGenRocket123 *object);

  void (*exploded_xyz) (
    FooiGenRocket123 *object);

};

GType foo_igen_rocket123_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_rocket123_interface_info (void);
guint foo_igen_rocket123_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_rocket123_complete_ignite_xyz (
    FooiGenRocket123 *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void foo_igen_rocket123_emit_exploded_xyz (
    FooiGenRocket123 *object);



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

gboolean foo_igen_rocket123_call_ignite_xyz_finish (
    FooiGenRocket123 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_rocket123_call_ignite_xyz_sync (
    FooiGenRocket123 *proxy,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
gdouble foo_igen_rocket123_get_speed_xyz (FooiGenRocket123 *object);
void foo_igen_rocket123_set_speed_xyz (FooiGenRocket123 *object, gdouble value);

GVariant *foo_igen_rocket123_get_direction (FooiGenRocket123 *object);
GVariant *foo_igen_rocket123_dup_direction (FooiGenRocket123 *object);
void foo_igen_rocket123_set_direction (FooiGenRocket123 *object, GVariant *value);

const gchar *foo_igen_rocket123_get_type_ (FooiGenRocket123 *object);
gchar *foo_igen_rocket123_dup_type_ (FooiGenRocket123 *object);
void foo_igen_rocket123_set_type_ (FooiGenRocket123 *object, const gchar *value);


/* ---- */

#define FOO_IGEN_TYPE_ROCKET123_PROXY (foo_igen_rocket123_proxy_get_type ())
#define FOO_IGEN_ROCKET123_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_ROCKET123_PROXY, FooiGenRocket123Proxy))
#define FOO_IGEN_ROCKET123_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_ROCKET123_PROXY, FooiGenRocket123ProxyClass))
#define FOO_IGEN_ROCKET123_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_ROCKET123_PROXY, FooiGenRocket123ProxyClass))
#define FOO_IGEN_IS_ROCKET123_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_ROCKET123_PROXY))
#define FOO_IGEN_IS_ROCKET123_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_ROCKET123_PROXY))

typedef struct _FooiGenRocket123Proxy FooiGenRocket123Proxy;
typedef struct _FooiGenRocket123ProxyClass FooiGenRocket123ProxyClass;
typedef struct _FooiGenRocket123ProxyPrivate FooiGenRocket123ProxyPrivate;

struct _FooiGenRocket123Proxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenRocket123ProxyPrivate *priv;
};

struct _FooiGenRocket123ProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_rocket123_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_rocket123_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenRocket123 *foo_igen_rocket123_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenRocket123 *foo_igen_rocket123_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_rocket123_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenRocket123 *foo_igen_rocket123_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenRocket123 *foo_igen_rocket123_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_ROCKET123_SKELETON (foo_igen_rocket123_skeleton_get_type ())
#define FOO_IGEN_ROCKET123_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_ROCKET123_SKELETON, FooiGenRocket123Skeleton))
#define FOO_IGEN_ROCKET123_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_ROCKET123_SKELETON, FooiGenRocket123SkeletonClass))
#define FOO_IGEN_ROCKET123_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_ROCKET123_SKELETON, FooiGenRocket123SkeletonClass))
#define FOO_IGEN_IS_ROCKET123_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_ROCKET123_SKELETON))
#define FOO_IGEN_IS_ROCKET123_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_ROCKET123_SKELETON))

typedef struct _FooiGenRocket123Skeleton FooiGenRocket123Skeleton;
typedef struct _FooiGenRocket123SkeletonClass FooiGenRocket123SkeletonClass;
typedef struct _FooiGenRocket123SkeletonPrivate FooiGenRocket123SkeletonPrivate;

struct _FooiGenRocket123Skeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenRocket123SkeletonPrivate *priv;
};

struct _FooiGenRocket123SkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_rocket123_skeleton_get_type (void) G_GNUC_CONST;

FooiGenRocket123 *foo_igen_rocket123_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.project.Bat */

#define FOO_IGEN_TYPE_BAT (foo_igen_bat_get_type ())
#define FOO_IGEN_BAT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAT, FooiGenBat))
#define FOO_IGEN_IS_BAT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAT))
#define FOO_IGEN_BAT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_BAT, FooiGenBatIface))

struct _FooiGenBat;
typedef struct _FooiGenBat FooiGenBat;
typedef struct _FooiGenBatIface FooiGenBatIface;

struct _FooiGenBatIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_force_method) (
    FooiGenBat *object,
    GDBusMethodInvocation *invocation,
    GVariant *arg_force_in_i,
    GVariant *arg_force_in_s,
    GVariant *arg_force_in_ay,
    GVariant *arg_force_in_struct);

  GVariant * (*get_force_ay) (FooiGenBat *object);

  GVariant * (*get_force_i) (FooiGenBat *object);

  GVariant * (*get_force_s) (FooiGenBat *object);

  GVariant * (*get_force_struct) (FooiGenBat *object);

  void (*force_signal) (
    FooiGenBat *object,
    GVariant *arg_force_i,
    GVariant *arg_force_s,
    GVariant *arg_force_ay,
    GVariant *arg_force_struct);

};

GType foo_igen_bat_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_bat_interface_info (void);
guint foo_igen_bat_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_bat_complete_force_method (
    FooiGenBat *object,
    GDBusMethodInvocation *invocation,
    GVariant *force_out_i,
    GVariant *force_out_s,
    GVariant *force_out_ay,
    GVariant *force_out_struct);



/* D-Bus signal emissions functions: */
void foo_igen_bat_emit_force_signal (
    FooiGenBat *object,
    GVariant *arg_force_i,
    GVariant *arg_force_s,
    GVariant *arg_force_ay,
    GVariant *arg_force_struct);



/* D-Bus method calls: */
void foo_igen_bat_call_force_method (
    FooiGenBat *proxy,
    GVariant *arg_force_in_i,
    GVariant *arg_force_in_s,
    GVariant *arg_force_in_ay,
    GVariant *arg_force_in_struct,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_bat_call_force_method_finish (
    FooiGenBat *proxy,
    GVariant **out_force_out_i,
    GVariant **out_force_out_s,
    GVariant **out_force_out_ay,
    GVariant **out_force_out_struct,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_bat_call_force_method_sync (
    FooiGenBat *proxy,
    GVariant *arg_force_in_i,
    GVariant *arg_force_in_s,
    GVariant *arg_force_in_ay,
    GVariant *arg_force_in_struct,
    GVariant **out_force_out_i,
    GVariant **out_force_out_s,
    GVariant **out_force_out_ay,
    GVariant **out_force_out_struct,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
GVariant *foo_igen_bat_get_force_i (FooiGenBat *object);
GVariant *foo_igen_bat_dup_force_i (FooiGenBat *object);
void foo_igen_bat_set_force_i (FooiGenBat *object, GVariant *value);

GVariant *foo_igen_bat_get_force_s (FooiGenBat *object);
GVariant *foo_igen_bat_dup_force_s (FooiGenBat *object);
void foo_igen_bat_set_force_s (FooiGenBat *object, GVariant *value);

GVariant *foo_igen_bat_get_force_ay (FooiGenBat *object);
GVariant *foo_igen_bat_dup_force_ay (FooiGenBat *object);
void foo_igen_bat_set_force_ay (FooiGenBat *object, GVariant *value);

GVariant *foo_igen_bat_get_force_struct (FooiGenBat *object);
GVariant *foo_igen_bat_dup_force_struct (FooiGenBat *object);
void foo_igen_bat_set_force_struct (FooiGenBat *object, GVariant *value);


/* ---- */

#define FOO_IGEN_TYPE_BAT_PROXY (foo_igen_bat_proxy_get_type ())
#define FOO_IGEN_BAT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAT_PROXY, FooiGenBatProxy))
#define FOO_IGEN_BAT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_BAT_PROXY, FooiGenBatProxyClass))
#define FOO_IGEN_BAT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_BAT_PROXY, FooiGenBatProxyClass))
#define FOO_IGEN_IS_BAT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAT_PROXY))
#define FOO_IGEN_IS_BAT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_BAT_PROXY))

typedef struct _FooiGenBatProxy FooiGenBatProxy;
typedef struct _FooiGenBatProxyClass FooiGenBatProxyClass;
typedef struct _FooiGenBatProxyPrivate FooiGenBatProxyPrivate;

struct _FooiGenBatProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenBatProxyPrivate *priv;
};

struct _FooiGenBatProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_bat_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_bat_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenBat *foo_igen_bat_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenBat *foo_igen_bat_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_bat_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenBat *foo_igen_bat_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenBat *foo_igen_bat_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_BAT_SKELETON (foo_igen_bat_skeleton_get_type ())
#define FOO_IGEN_BAT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_BAT_SKELETON, FooiGenBatSkeleton))
#define FOO_IGEN_BAT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_BAT_SKELETON, FooiGenBatSkeletonClass))
#define FOO_IGEN_BAT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_BAT_SKELETON, FooiGenBatSkeletonClass))
#define FOO_IGEN_IS_BAT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_BAT_SKELETON))
#define FOO_IGEN_IS_BAT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_BAT_SKELETON))

typedef struct _FooiGenBatSkeleton FooiGenBatSkeleton;
typedef struct _FooiGenBatSkeletonClass FooiGenBatSkeletonClass;
typedef struct _FooiGenBatSkeletonPrivate FooiGenBatSkeletonPrivate;

struct _FooiGenBatSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenBatSkeletonPrivate *priv;
};

struct _FooiGenBatSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_bat_skeleton_get_type (void) G_GNUC_CONST;

FooiGenBat *foo_igen_bat_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.project.Authorize */

#define FOO_IGEN_TYPE_AUTHORIZE (foo_igen_authorize_get_type ())
#define FOO_IGEN_AUTHORIZE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_AUTHORIZE, FooiGenAuthorize))
#define FOO_IGEN_IS_AUTHORIZE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_AUTHORIZE))
#define FOO_IGEN_AUTHORIZE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_AUTHORIZE, FooiGenAuthorizeIface))

struct _FooiGenAuthorize;
typedef struct _FooiGenAuthorize FooiGenAuthorize;
typedef struct _FooiGenAuthorizeIface FooiGenAuthorizeIface;

struct _FooiGenAuthorizeIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_check_authorized) (
    FooiGenAuthorize *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_check_not_authorized) (
    FooiGenAuthorize *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_check_not_authorized_from_object) (
    FooiGenAuthorize *object,
    GDBusMethodInvocation *invocation);

};

GType foo_igen_authorize_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_authorize_interface_info (void);
guint foo_igen_authorize_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_authorize_complete_check_not_authorized (
    FooiGenAuthorize *object,
    GDBusMethodInvocation *invocation);

void foo_igen_authorize_complete_check_authorized (
    FooiGenAuthorize *object,
    GDBusMethodInvocation *invocation);

void foo_igen_authorize_complete_check_not_authorized_from_object (
    FooiGenAuthorize *object,
    GDBusMethodInvocation *invocation);



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

gboolean foo_igen_authorize_call_check_not_authorized_finish (
    FooiGenAuthorize *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_authorize_call_check_not_authorized_sync (
    FooiGenAuthorize *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_authorize_call_check_authorized (
    FooiGenAuthorize *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_authorize_call_check_authorized_finish (
    FooiGenAuthorize *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_authorize_call_check_authorized_sync (
    FooiGenAuthorize *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_authorize_call_check_not_authorized_from_object (
    FooiGenAuthorize *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_authorize_call_check_not_authorized_from_object_finish (
    FooiGenAuthorize *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_authorize_call_check_not_authorized_from_object_sync (
    FooiGenAuthorize *proxy,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define FOO_IGEN_TYPE_AUTHORIZE_PROXY (foo_igen_authorize_proxy_get_type ())
#define FOO_IGEN_AUTHORIZE_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_AUTHORIZE_PROXY, FooiGenAuthorizeProxy))
#define FOO_IGEN_AUTHORIZE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_AUTHORIZE_PROXY, FooiGenAuthorizeProxyClass))
#define FOO_IGEN_AUTHORIZE_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_AUTHORIZE_PROXY, FooiGenAuthorizeProxyClass))
#define FOO_IGEN_IS_AUTHORIZE_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_AUTHORIZE_PROXY))
#define FOO_IGEN_IS_AUTHORIZE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_AUTHORIZE_PROXY))

typedef struct _FooiGenAuthorizeProxy FooiGenAuthorizeProxy;
typedef struct _FooiGenAuthorizeProxyClass FooiGenAuthorizeProxyClass;
typedef struct _FooiGenAuthorizeProxyPrivate FooiGenAuthorizeProxyPrivate;

struct _FooiGenAuthorizeProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenAuthorizeProxyPrivate *priv;
};

struct _FooiGenAuthorizeProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_authorize_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_authorize_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenAuthorize *foo_igen_authorize_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenAuthorize *foo_igen_authorize_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_authorize_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenAuthorize *foo_igen_authorize_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenAuthorize *foo_igen_authorize_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_AUTHORIZE_SKELETON (foo_igen_authorize_skeleton_get_type ())
#define FOO_IGEN_AUTHORIZE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_AUTHORIZE_SKELETON, FooiGenAuthorizeSkeleton))
#define FOO_IGEN_AUTHORIZE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_AUTHORIZE_SKELETON, FooiGenAuthorizeSkeletonClass))
#define FOO_IGEN_AUTHORIZE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_AUTHORIZE_SKELETON, FooiGenAuthorizeSkeletonClass))
#define FOO_IGEN_IS_AUTHORIZE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_AUTHORIZE_SKELETON))
#define FOO_IGEN_IS_AUTHORIZE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_AUTHORIZE_SKELETON))

typedef struct _FooiGenAuthorizeSkeleton FooiGenAuthorizeSkeleton;
typedef struct _FooiGenAuthorizeSkeletonClass FooiGenAuthorizeSkeletonClass;
typedef struct _FooiGenAuthorizeSkeletonPrivate FooiGenAuthorizeSkeletonPrivate;

struct _FooiGenAuthorizeSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenAuthorizeSkeletonPrivate *priv;
};

struct _FooiGenAuthorizeSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_authorize_skeleton_get_type (void) G_GNUC_CONST;

FooiGenAuthorize *foo_igen_authorize_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.project.MethodThreads */

#define FOO_IGEN_TYPE_METHOD_THREADS (foo_igen_method_threads_get_type ())
#define FOO_IGEN_METHOD_THREADS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_METHOD_THREADS, FooiGenMethodThreads))
#define FOO_IGEN_IS_METHOD_THREADS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_METHOD_THREADS))
#define FOO_IGEN_METHOD_THREADS_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_METHOD_THREADS, FooiGenMethodThreadsIface))

struct _FooiGenMethodThreads;
typedef struct _FooiGenMethodThreads FooiGenMethodThreads;
typedef struct _FooiGenMethodThreadsIface FooiGenMethodThreadsIface;

struct _FooiGenMethodThreadsIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_get_self) (
    FooiGenMethodThreads *object,
    GDBusMethodInvocation *invocation);

};

GType foo_igen_method_threads_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_method_threads_interface_info (void);
guint foo_igen_method_threads_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_method_threads_complete_get_self (
    FooiGenMethodThreads *object,
    GDBusMethodInvocation *invocation,
    const gchar *self_pointer);



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

gboolean foo_igen_method_threads_call_get_self_finish (
    FooiGenMethodThreads *proxy,
    gchar **out_self_pointer,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_method_threads_call_get_self_sync (
    FooiGenMethodThreads *proxy,
    gchar **out_self_pointer,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define FOO_IGEN_TYPE_METHOD_THREADS_PROXY (foo_igen_method_threads_proxy_get_type ())
#define FOO_IGEN_METHOD_THREADS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_METHOD_THREADS_PROXY, FooiGenMethodThreadsProxy))
#define FOO_IGEN_METHOD_THREADS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_METHOD_THREADS_PROXY, FooiGenMethodThreadsProxyClass))
#define FOO_IGEN_METHOD_THREADS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_METHOD_THREADS_PROXY, FooiGenMethodThreadsProxyClass))
#define FOO_IGEN_IS_METHOD_THREADS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_METHOD_THREADS_PROXY))
#define FOO_IGEN_IS_METHOD_THREADS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_METHOD_THREADS_PROXY))

typedef struct _FooiGenMethodThreadsProxy FooiGenMethodThreadsProxy;
typedef struct _FooiGenMethodThreadsProxyClass FooiGenMethodThreadsProxyClass;
typedef struct _FooiGenMethodThreadsProxyPrivate FooiGenMethodThreadsProxyPrivate;

struct _FooiGenMethodThreadsProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenMethodThreadsProxyPrivate *priv;
};

struct _FooiGenMethodThreadsProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_method_threads_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_method_threads_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenMethodThreads *foo_igen_method_threads_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenMethodThreads *foo_igen_method_threads_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_method_threads_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenMethodThreads *foo_igen_method_threads_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenMethodThreads *foo_igen_method_threads_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_METHOD_THREADS_SKELETON (foo_igen_method_threads_skeleton_get_type ())
#define FOO_IGEN_METHOD_THREADS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_METHOD_THREADS_SKELETON, FooiGenMethodThreadsSkeleton))
#define FOO_IGEN_METHOD_THREADS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_METHOD_THREADS_SKELETON, FooiGenMethodThreadsSkeletonClass))
#define FOO_IGEN_METHOD_THREADS_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_METHOD_THREADS_SKELETON, FooiGenMethodThreadsSkeletonClass))
#define FOO_IGEN_IS_METHOD_THREADS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_METHOD_THREADS_SKELETON))
#define FOO_IGEN_IS_METHOD_THREADS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_METHOD_THREADS_SKELETON))

typedef struct _FooiGenMethodThreadsSkeleton FooiGenMethodThreadsSkeleton;
typedef struct _FooiGenMethodThreadsSkeletonClass FooiGenMethodThreadsSkeletonClass;
typedef struct _FooiGenMethodThreadsSkeletonPrivate FooiGenMethodThreadsSkeletonPrivate;

struct _FooiGenMethodThreadsSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenMethodThreadsSkeletonPrivate *priv;
};

struct _FooiGenMethodThreadsSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_method_threads_skeleton_get_type (void) G_GNUC_CONST;

FooiGenMethodThreads *foo_igen_method_threads_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.project.InlineDocs */

#define FOO_IGEN_TYPE_INLINE_DOCS (foo_igen_inline_docs_get_type ())
#define FOO_IGEN_INLINE_DOCS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_INLINE_DOCS, FooiGenInlineDocs))
#define FOO_IGEN_IS_INLINE_DOCS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_INLINE_DOCS))
#define FOO_IGEN_INLINE_DOCS_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_INLINE_DOCS, FooiGenInlineDocsIface))

struct _FooiGenInlineDocs;
typedef struct _FooiGenInlineDocs FooiGenInlineDocs;
typedef struct _FooiGenInlineDocsIface FooiGenInlineDocsIface;

struct _FooiGenInlineDocsIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_foo_method) (
    FooiGenInlineDocs *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_greeting);

  gboolean (*handle_method2) (
    FooiGenInlineDocs *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_greeting);

  const gchar * (*get_baz_property) (FooiGenInlineDocs *object);

  const gchar * (*get_fancy_property) (FooiGenInlineDocs *object);

  const gchar * (*get_property2) (FooiGenInlineDocs *object);

  const gchar * (*get_property3) (FooiGenInlineDocs *object);

  const gchar * (*get_property4) (FooiGenInlineDocs *object);

  const gchar * (*get_property5) (FooiGenInlineDocs *object);

  void (*bar_signal) (
    FooiGenInlineDocs *object,
    const gchar *arg_blah,
    const gchar *arg_boo);

};

GType foo_igen_inline_docs_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_inline_docs_interface_info (void);
guint foo_igen_inline_docs_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_inline_docs_complete_foo_method (
    FooiGenInlineDocs *object,
    GDBusMethodInvocation *invocation,
    const gchar *response);

void foo_igen_inline_docs_complete_method2 (
    FooiGenInlineDocs *object,
    GDBusMethodInvocation *invocation,
    const gchar *response);



/* D-Bus signal emissions functions: */
void foo_igen_inline_docs_emit_bar_signal (
    FooiGenInlineDocs *object,
    const gchar *arg_blah,
    const gchar *arg_boo);



/* D-Bus method calls: */
void foo_igen_inline_docs_call_foo_method (
    FooiGenInlineDocs *proxy,
    const gchar *arg_greeting,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_inline_docs_call_foo_method_finish (
    FooiGenInlineDocs *proxy,
    gchar **out_response,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_inline_docs_call_foo_method_sync (
    FooiGenInlineDocs *proxy,
    const gchar *arg_greeting,
    gchar **out_response,
    GCancellable *cancellable,
    GError **error);

void foo_igen_inline_docs_call_method2 (
    FooiGenInlineDocs *proxy,
    const gchar *arg_greeting,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_inline_docs_call_method2_finish (
    FooiGenInlineDocs *proxy,
    gchar **out_response,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_inline_docs_call_method2_sync (
    FooiGenInlineDocs *proxy,
    const gchar *arg_greeting,
    gchar **out_response,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
const gchar *foo_igen_inline_docs_get_baz_property (FooiGenInlineDocs *object);
gchar *foo_igen_inline_docs_dup_baz_property (FooiGenInlineDocs *object);
void foo_igen_inline_docs_set_baz_property (FooiGenInlineDocs *object, const gchar *value);

const gchar *foo_igen_inline_docs_get_property2 (FooiGenInlineDocs *object);
gchar *foo_igen_inline_docs_dup_property2 (FooiGenInlineDocs *object);
void foo_igen_inline_docs_set_property2 (FooiGenInlineDocs *object, const gchar *value);

const gchar *foo_igen_inline_docs_get_property3 (FooiGenInlineDocs *object);
gchar *foo_igen_inline_docs_dup_property3 (FooiGenInlineDocs *object);
void foo_igen_inline_docs_set_property3 (FooiGenInlineDocs *object, const gchar *value);

const gchar *foo_igen_inline_docs_get_property4 (FooiGenInlineDocs *object);
gchar *foo_igen_inline_docs_dup_property4 (FooiGenInlineDocs *object);
void foo_igen_inline_docs_set_property4 (FooiGenInlineDocs *object, const gchar *value);

const gchar *foo_igen_inline_docs_get_property5 (FooiGenInlineDocs *object);
gchar *foo_igen_inline_docs_dup_property5 (FooiGenInlineDocs *object);
void foo_igen_inline_docs_set_property5 (FooiGenInlineDocs *object, const gchar *value);

const gchar *foo_igen_inline_docs_get_fancy_property (FooiGenInlineDocs *object);
gchar *foo_igen_inline_docs_dup_fancy_property (FooiGenInlineDocs *object);
void foo_igen_inline_docs_set_fancy_property (FooiGenInlineDocs *object, const gchar *value);


/* ---- */

#define FOO_IGEN_TYPE_INLINE_DOCS_PROXY (foo_igen_inline_docs_proxy_get_type ())
#define FOO_IGEN_INLINE_DOCS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_INLINE_DOCS_PROXY, FooiGenInlineDocsProxy))
#define FOO_IGEN_INLINE_DOCS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_INLINE_DOCS_PROXY, FooiGenInlineDocsProxyClass))
#define FOO_IGEN_INLINE_DOCS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_INLINE_DOCS_PROXY, FooiGenInlineDocsProxyClass))
#define FOO_IGEN_IS_INLINE_DOCS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_INLINE_DOCS_PROXY))
#define FOO_IGEN_IS_INLINE_DOCS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_INLINE_DOCS_PROXY))

typedef struct _FooiGenInlineDocsProxy FooiGenInlineDocsProxy;
typedef struct _FooiGenInlineDocsProxyClass FooiGenInlineDocsProxyClass;
typedef struct _FooiGenInlineDocsProxyPrivate FooiGenInlineDocsProxyPrivate;

struct _FooiGenInlineDocsProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenInlineDocsProxyPrivate *priv;
};

struct _FooiGenInlineDocsProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_inline_docs_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_inline_docs_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenInlineDocs *foo_igen_inline_docs_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenInlineDocs *foo_igen_inline_docs_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_inline_docs_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenInlineDocs *foo_igen_inline_docs_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenInlineDocs *foo_igen_inline_docs_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_INLINE_DOCS_SKELETON (foo_igen_inline_docs_skeleton_get_type ())
#define FOO_IGEN_INLINE_DOCS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_INLINE_DOCS_SKELETON, FooiGenInlineDocsSkeleton))
#define FOO_IGEN_INLINE_DOCS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_INLINE_DOCS_SKELETON, FooiGenInlineDocsSkeletonClass))
#define FOO_IGEN_INLINE_DOCS_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_INLINE_DOCS_SKELETON, FooiGenInlineDocsSkeletonClass))
#define FOO_IGEN_IS_INLINE_DOCS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_INLINE_DOCS_SKELETON))
#define FOO_IGEN_IS_INLINE_DOCS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_INLINE_DOCS_SKELETON))

typedef struct _FooiGenInlineDocsSkeleton FooiGenInlineDocsSkeleton;
typedef struct _FooiGenInlineDocsSkeletonClass FooiGenInlineDocsSkeletonClass;
typedef struct _FooiGenInlineDocsSkeletonPrivate FooiGenInlineDocsSkeletonPrivate;

struct _FooiGenInlineDocsSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenInlineDocsSkeletonPrivate *priv;
};

struct _FooiGenInlineDocsSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_inline_docs_skeleton_get_type (void) G_GNUC_CONST;

FooiGenInlineDocs *foo_igen_inline_docs_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for ChangingInterfaceV1 */

#define FOO_IGEN_TYPE_CHANGING_INTERFACE_V1 (foo_igen_changing_interface_v1_get_type ())
#define FOO_IGEN_CHANGING_INTERFACE_V1(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1, FooiGenChangingInterfaceV1))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V1(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1))
#define FOO_IGEN_CHANGING_INTERFACE_V1_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1, FooiGenChangingInterfaceV1Iface))

struct _FooiGenChangingInterfaceV1;
typedef struct _FooiGenChangingInterfaceV1 FooiGenChangingInterfaceV1;
typedef struct _FooiGenChangingInterfaceV1Iface FooiGenChangingInterfaceV1Iface;

struct _FooiGenChangingInterfaceV1Iface
{
  GTypeInterface parent_iface;


  gboolean (*handle_bar_method) (
    FooiGenChangingInterfaceV1 *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_baz_method) (
    FooiGenChangingInterfaceV1 *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_foo_method) (
    FooiGenChangingInterfaceV1 *object,
    GDBusMethodInvocation *invocation);

  void (*bar_signal) (
    FooiGenChangingInterfaceV1 *object);

  void (*baz_signal) (
    FooiGenChangingInterfaceV1 *object);

  void (*foo_signal) (
    FooiGenChangingInterfaceV1 *object);

};

GType foo_igen_changing_interface_v1_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_changing_interface_v1_interface_info (void);
guint foo_igen_changing_interface_v1_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_changing_interface_v1_complete_foo_method (
    FooiGenChangingInterfaceV1 *object,
    GDBusMethodInvocation *invocation);

void foo_igen_changing_interface_v1_complete_bar_method (
    FooiGenChangingInterfaceV1 *object,
    GDBusMethodInvocation *invocation);

void foo_igen_changing_interface_v1_complete_baz_method (
    FooiGenChangingInterfaceV1 *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void foo_igen_changing_interface_v1_emit_foo_signal (
    FooiGenChangingInterfaceV1 *object);

void foo_igen_changing_interface_v1_emit_bar_signal (
    FooiGenChangingInterfaceV1 *object);

void foo_igen_changing_interface_v1_emit_baz_signal (
    FooiGenChangingInterfaceV1 *object);



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

gboolean foo_igen_changing_interface_v1_call_foo_method_finish (
    FooiGenChangingInterfaceV1 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v1_call_foo_method_sync (
    FooiGenChangingInterfaceV1 *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_changing_interface_v1_call_bar_method (
    FooiGenChangingInterfaceV1 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_changing_interface_v1_call_bar_method_finish (
    FooiGenChangingInterfaceV1 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v1_call_bar_method_sync (
    FooiGenChangingInterfaceV1 *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_changing_interface_v1_call_baz_method (
    FooiGenChangingInterfaceV1 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_changing_interface_v1_call_baz_method_finish (
    FooiGenChangingInterfaceV1 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v1_call_baz_method_sync (
    FooiGenChangingInterfaceV1 *proxy,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_PROXY (foo_igen_changing_interface_v1_proxy_get_type ())
#define FOO_IGEN_CHANGING_INTERFACE_V1_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_PROXY, FooiGenChangingInterfaceV1Proxy))
#define FOO_IGEN_CHANGING_INTERFACE_V1_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_PROXY, FooiGenChangingInterfaceV1ProxyClass))
#define FOO_IGEN_CHANGING_INTERFACE_V1_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_PROXY, FooiGenChangingInterfaceV1ProxyClass))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V1_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_PROXY))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V1_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_PROXY))

typedef struct _FooiGenChangingInterfaceV1Proxy FooiGenChangingInterfaceV1Proxy;
typedef struct _FooiGenChangingInterfaceV1ProxyClass FooiGenChangingInterfaceV1ProxyClass;
typedef struct _FooiGenChangingInterfaceV1ProxyPrivate FooiGenChangingInterfaceV1ProxyPrivate;

struct _FooiGenChangingInterfaceV1Proxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenChangingInterfaceV1ProxyPrivate *priv;
};

struct _FooiGenChangingInterfaceV1ProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_changing_interface_v1_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_changing_interface_v1_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenChangingInterfaceV1 *foo_igen_changing_interface_v1_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenChangingInterfaceV1 *foo_igen_changing_interface_v1_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_changing_interface_v1_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenChangingInterfaceV1 *foo_igen_changing_interface_v1_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenChangingInterfaceV1 *foo_igen_changing_interface_v1_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_SKELETON (foo_igen_changing_interface_v1_skeleton_get_type ())
#define FOO_IGEN_CHANGING_INTERFACE_V1_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_SKELETON, FooiGenChangingInterfaceV1Skeleton))
#define FOO_IGEN_CHANGING_INTERFACE_V1_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_SKELETON, FooiGenChangingInterfaceV1SkeletonClass))
#define FOO_IGEN_CHANGING_INTERFACE_V1_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_SKELETON, FooiGenChangingInterfaceV1SkeletonClass))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V1_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_SKELETON))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V1_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V1_SKELETON))

typedef struct _FooiGenChangingInterfaceV1Skeleton FooiGenChangingInterfaceV1Skeleton;
typedef struct _FooiGenChangingInterfaceV1SkeletonClass FooiGenChangingInterfaceV1SkeletonClass;
typedef struct _FooiGenChangingInterfaceV1SkeletonPrivate FooiGenChangingInterfaceV1SkeletonPrivate;

struct _FooiGenChangingInterfaceV1Skeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenChangingInterfaceV1SkeletonPrivate *priv;
};

struct _FooiGenChangingInterfaceV1SkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_changing_interface_v1_skeleton_get_type (void) G_GNUC_CONST;

FooiGenChangingInterfaceV1 *foo_igen_changing_interface_v1_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for ChangingInterfaceV2 */

#define FOO_IGEN_TYPE_CHANGING_INTERFACE_V2 (foo_igen_changing_interface_v2_get_type ())
#define FOO_IGEN_CHANGING_INTERFACE_V2(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2, FooiGenChangingInterfaceV2))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V2(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2))
#define FOO_IGEN_CHANGING_INTERFACE_V2_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2, FooiGenChangingInterfaceV2Iface))

struct _FooiGenChangingInterfaceV2;
typedef struct _FooiGenChangingInterfaceV2 FooiGenChangingInterfaceV2;
typedef struct _FooiGenChangingInterfaceV2Iface FooiGenChangingInterfaceV2Iface;

struct _FooiGenChangingInterfaceV2Iface
{
  GTypeInterface parent_iface;


  gboolean (*handle_bar_method) (
    FooiGenChangingInterfaceV2 *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_baz_method) (
    FooiGenChangingInterfaceV2 *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_foo_method) (
    FooiGenChangingInterfaceV2 *object,
    GDBusMethodInvocation *invocation);

  void (*bar_signal) (
    FooiGenChangingInterfaceV2 *object);

  void (*baz_signal) (
    FooiGenChangingInterfaceV2 *object);

  void (*foo_signal) (
    FooiGenChangingInterfaceV2 *object);

  gboolean (*handle_new_method_in2) (
    FooiGenChangingInterfaceV2 *object,
    GDBusMethodInvocation *invocation);

  void (*new_signal_in2) (
    FooiGenChangingInterfaceV2 *object);

};

GType foo_igen_changing_interface_v2_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_changing_interface_v2_interface_info (void);
guint foo_igen_changing_interface_v2_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_changing_interface_v2_complete_new_method_in2 (
    FooiGenChangingInterfaceV2 *object,
    GDBusMethodInvocation *invocation);

void foo_igen_changing_interface_v2_complete_baz_method (
    FooiGenChangingInterfaceV2 *object,
    GDBusMethodInvocation *invocation);

void foo_igen_changing_interface_v2_complete_bar_method (
    FooiGenChangingInterfaceV2 *object,
    GDBusMethodInvocation *invocation);

void foo_igen_changing_interface_v2_complete_foo_method (
    FooiGenChangingInterfaceV2 *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void foo_igen_changing_interface_v2_emit_new_signal_in2 (
    FooiGenChangingInterfaceV2 *object);

void foo_igen_changing_interface_v2_emit_baz_signal (
    FooiGenChangingInterfaceV2 *object);

void foo_igen_changing_interface_v2_emit_bar_signal (
    FooiGenChangingInterfaceV2 *object);

void foo_igen_changing_interface_v2_emit_foo_signal (
    FooiGenChangingInterfaceV2 *object);



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

gboolean foo_igen_changing_interface_v2_call_new_method_in2_finish (
    FooiGenChangingInterfaceV2 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v2_call_new_method_in2_sync (
    FooiGenChangingInterfaceV2 *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_changing_interface_v2_call_baz_method (
    FooiGenChangingInterfaceV2 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_changing_interface_v2_call_baz_method_finish (
    FooiGenChangingInterfaceV2 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v2_call_baz_method_sync (
    FooiGenChangingInterfaceV2 *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_changing_interface_v2_call_bar_method (
    FooiGenChangingInterfaceV2 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_changing_interface_v2_call_bar_method_finish (
    FooiGenChangingInterfaceV2 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v2_call_bar_method_sync (
    FooiGenChangingInterfaceV2 *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_changing_interface_v2_call_foo_method (
    FooiGenChangingInterfaceV2 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_changing_interface_v2_call_foo_method_finish (
    FooiGenChangingInterfaceV2 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v2_call_foo_method_sync (
    FooiGenChangingInterfaceV2 *proxy,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_PROXY (foo_igen_changing_interface_v2_proxy_get_type ())
#define FOO_IGEN_CHANGING_INTERFACE_V2_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_PROXY, FooiGenChangingInterfaceV2Proxy))
#define FOO_IGEN_CHANGING_INTERFACE_V2_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_PROXY, FooiGenChangingInterfaceV2ProxyClass))
#define FOO_IGEN_CHANGING_INTERFACE_V2_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_PROXY, FooiGenChangingInterfaceV2ProxyClass))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V2_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_PROXY))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V2_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_PROXY))

typedef struct _FooiGenChangingInterfaceV2Proxy FooiGenChangingInterfaceV2Proxy;
typedef struct _FooiGenChangingInterfaceV2ProxyClass FooiGenChangingInterfaceV2ProxyClass;
typedef struct _FooiGenChangingInterfaceV2ProxyPrivate FooiGenChangingInterfaceV2ProxyPrivate;

struct _FooiGenChangingInterfaceV2Proxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenChangingInterfaceV2ProxyPrivate *priv;
};

struct _FooiGenChangingInterfaceV2ProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_changing_interface_v2_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_changing_interface_v2_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenChangingInterfaceV2 *foo_igen_changing_interface_v2_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenChangingInterfaceV2 *foo_igen_changing_interface_v2_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_changing_interface_v2_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenChangingInterfaceV2 *foo_igen_changing_interface_v2_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenChangingInterfaceV2 *foo_igen_changing_interface_v2_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_SKELETON (foo_igen_changing_interface_v2_skeleton_get_type ())
#define FOO_IGEN_CHANGING_INTERFACE_V2_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_SKELETON, FooiGenChangingInterfaceV2Skeleton))
#define FOO_IGEN_CHANGING_INTERFACE_V2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_SKELETON, FooiGenChangingInterfaceV2SkeletonClass))
#define FOO_IGEN_CHANGING_INTERFACE_V2_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_SKELETON, FooiGenChangingInterfaceV2SkeletonClass))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V2_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_SKELETON))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V2_SKELETON))

typedef struct _FooiGenChangingInterfaceV2Skeleton FooiGenChangingInterfaceV2Skeleton;
typedef struct _FooiGenChangingInterfaceV2SkeletonClass FooiGenChangingInterfaceV2SkeletonClass;
typedef struct _FooiGenChangingInterfaceV2SkeletonPrivate FooiGenChangingInterfaceV2SkeletonPrivate;

struct _FooiGenChangingInterfaceV2Skeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenChangingInterfaceV2SkeletonPrivate *priv;
};

struct _FooiGenChangingInterfaceV2SkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_changing_interface_v2_skeleton_get_type (void) G_GNUC_CONST;

FooiGenChangingInterfaceV2 *foo_igen_changing_interface_v2_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for ChangingInterfaceV10 */

#define FOO_IGEN_TYPE_CHANGING_INTERFACE_V10 (foo_igen_changing_interface_v10_get_type ())
#define FOO_IGEN_CHANGING_INTERFACE_V10(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10, FooiGenChangingInterfaceV10))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V10(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10))
#define FOO_IGEN_CHANGING_INTERFACE_V10_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10, FooiGenChangingInterfaceV10Iface))

struct _FooiGenChangingInterfaceV10;
typedef struct _FooiGenChangingInterfaceV10 FooiGenChangingInterfaceV10;
typedef struct _FooiGenChangingInterfaceV10Iface FooiGenChangingInterfaceV10Iface;

struct _FooiGenChangingInterfaceV10Iface
{
  GTypeInterface parent_iface;


  gboolean (*handle_bar_method) (
    FooiGenChangingInterfaceV10 *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_baz_method) (
    FooiGenChangingInterfaceV10 *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_foo_method) (
    FooiGenChangingInterfaceV10 *object,
    GDBusMethodInvocation *invocation);

  void (*bar_signal) (
    FooiGenChangingInterfaceV10 *object);

  void (*baz_signal) (
    FooiGenChangingInterfaceV10 *object);

  void (*foo_signal) (
    FooiGenChangingInterfaceV10 *object);

  gboolean (*handle_new_method_in2) (
    FooiGenChangingInterfaceV10 *object,
    GDBusMethodInvocation *invocation);

  void (*new_signal_in2) (
    FooiGenChangingInterfaceV10 *object);

  gboolean (*handle_added_method_in10) (
    FooiGenChangingInterfaceV10 *object,
    GDBusMethodInvocation *invocation);

  void (*added_signal_in10) (
    FooiGenChangingInterfaceV10 *object);

};

GType foo_igen_changing_interface_v10_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_changing_interface_v10_interface_info (void);
guint foo_igen_changing_interface_v10_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_changing_interface_v10_complete_added_method_in10 (
    FooiGenChangingInterfaceV10 *object,
    GDBusMethodInvocation *invocation);

void foo_igen_changing_interface_v10_complete_new_method_in2 (
    FooiGenChangingInterfaceV10 *object,
    GDBusMethodInvocation *invocation);

void foo_igen_changing_interface_v10_complete_baz_method (
    FooiGenChangingInterfaceV10 *object,
    GDBusMethodInvocation *invocation);

void foo_igen_changing_interface_v10_complete_bar_method (
    FooiGenChangingInterfaceV10 *object,
    GDBusMethodInvocation *invocation);

void foo_igen_changing_interface_v10_complete_foo_method (
    FooiGenChangingInterfaceV10 *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void foo_igen_changing_interface_v10_emit_added_signal_in10 (
    FooiGenChangingInterfaceV10 *object);

void foo_igen_changing_interface_v10_emit_new_signal_in2 (
    FooiGenChangingInterfaceV10 *object);

void foo_igen_changing_interface_v10_emit_baz_signal (
    FooiGenChangingInterfaceV10 *object);

void foo_igen_changing_interface_v10_emit_bar_signal (
    FooiGenChangingInterfaceV10 *object);

void foo_igen_changing_interface_v10_emit_foo_signal (
    FooiGenChangingInterfaceV10 *object);



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

gboolean foo_igen_changing_interface_v10_call_added_method_in10_finish (
    FooiGenChangingInterfaceV10 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v10_call_added_method_in10_sync (
    FooiGenChangingInterfaceV10 *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_changing_interface_v10_call_new_method_in2 (
    FooiGenChangingInterfaceV10 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_changing_interface_v10_call_new_method_in2_finish (
    FooiGenChangingInterfaceV10 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v10_call_new_method_in2_sync (
    FooiGenChangingInterfaceV10 *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_changing_interface_v10_call_baz_method (
    FooiGenChangingInterfaceV10 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_changing_interface_v10_call_baz_method_finish (
    FooiGenChangingInterfaceV10 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v10_call_baz_method_sync (
    FooiGenChangingInterfaceV10 *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_changing_interface_v10_call_bar_method (
    FooiGenChangingInterfaceV10 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_changing_interface_v10_call_bar_method_finish (
    FooiGenChangingInterfaceV10 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v10_call_bar_method_sync (
    FooiGenChangingInterfaceV10 *proxy,
    GCancellable *cancellable,
    GError **error);

void foo_igen_changing_interface_v10_call_foo_method (
    FooiGenChangingInterfaceV10 *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_changing_interface_v10_call_foo_method_finish (
    FooiGenChangingInterfaceV10 *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_changing_interface_v10_call_foo_method_sync (
    FooiGenChangingInterfaceV10 *proxy,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_PROXY (foo_igen_changing_interface_v10_proxy_get_type ())
#define FOO_IGEN_CHANGING_INTERFACE_V10_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_PROXY, FooiGenChangingInterfaceV10Proxy))
#define FOO_IGEN_CHANGING_INTERFACE_V10_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_PROXY, FooiGenChangingInterfaceV10ProxyClass))
#define FOO_IGEN_CHANGING_INTERFACE_V10_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_PROXY, FooiGenChangingInterfaceV10ProxyClass))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V10_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_PROXY))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V10_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_PROXY))

typedef struct _FooiGenChangingInterfaceV10Proxy FooiGenChangingInterfaceV10Proxy;
typedef struct _FooiGenChangingInterfaceV10ProxyClass FooiGenChangingInterfaceV10ProxyClass;
typedef struct _FooiGenChangingInterfaceV10ProxyPrivate FooiGenChangingInterfaceV10ProxyPrivate;

struct _FooiGenChangingInterfaceV10Proxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenChangingInterfaceV10ProxyPrivate *priv;
};

struct _FooiGenChangingInterfaceV10ProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_changing_interface_v10_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_changing_interface_v10_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenChangingInterfaceV10 *foo_igen_changing_interface_v10_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenChangingInterfaceV10 *foo_igen_changing_interface_v10_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_changing_interface_v10_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenChangingInterfaceV10 *foo_igen_changing_interface_v10_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenChangingInterfaceV10 *foo_igen_changing_interface_v10_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_SKELETON (foo_igen_changing_interface_v10_skeleton_get_type ())
#define FOO_IGEN_CHANGING_INTERFACE_V10_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_SKELETON, FooiGenChangingInterfaceV10Skeleton))
#define FOO_IGEN_CHANGING_INTERFACE_V10_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_SKELETON, FooiGenChangingInterfaceV10SkeletonClass))
#define FOO_IGEN_CHANGING_INTERFACE_V10_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_SKELETON, FooiGenChangingInterfaceV10SkeletonClass))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V10_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_SKELETON))
#define FOO_IGEN_IS_CHANGING_INTERFACE_V10_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_CHANGING_INTERFACE_V10_SKELETON))

typedef struct _FooiGenChangingInterfaceV10Skeleton FooiGenChangingInterfaceV10Skeleton;
typedef struct _FooiGenChangingInterfaceV10SkeletonClass FooiGenChangingInterfaceV10SkeletonClass;
typedef struct _FooiGenChangingInterfaceV10SkeletonPrivate FooiGenChangingInterfaceV10SkeletonPrivate;

struct _FooiGenChangingInterfaceV10Skeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenChangingInterfaceV10SkeletonPrivate *priv;
};

struct _FooiGenChangingInterfaceV10SkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_changing_interface_v10_skeleton_get_type (void) G_GNUC_CONST;

FooiGenChangingInterfaceV10 *foo_igen_changing_interface_v10_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for TestUglyCaseInterface */

#define FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE (foo_igen_test_ugly_case_interface_get_type ())
#define FOO_IGEN_TEST_UGLY_CASE_INTERFACE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE, FooiGenTesTuglyCASEInterface))
#define FOO_IGEN_IS_TEST_UGLY_CASE_INTERFACE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE))
#define FOO_IGEN_TEST_UGLY_CASE_INTERFACE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE, FooiGenTesTuglyCASEInterfaceIface))

struct _FooiGenTesTuglyCASEInterface;
typedef struct _FooiGenTesTuglyCASEInterface FooiGenTesTuglyCASEInterface;
typedef struct _FooiGenTesTuglyCASEInterfaceIface FooiGenTesTuglyCASEInterfaceIface;

struct _FooiGenTesTuglyCASEInterfaceIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_get_iscsi_servers) (
    FooiGenTesTuglyCASEInterface *object,
    GDBusMethodInvocation *invocation);

  gint  (*get_ugly_name) (FooiGenTesTuglyCASEInterface *object);

  void (*servers_updated_now) (
    FooiGenTesTuglyCASEInterface *object);

};

GType foo_igen_test_ugly_case_interface_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_test_ugly_case_interface_interface_info (void);
guint foo_igen_test_ugly_case_interface_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_test_ugly_case_interface_complete_get_iscsi_servers (
    FooiGenTesTuglyCASEInterface *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void foo_igen_test_ugly_case_interface_emit_servers_updated_now (
    FooiGenTesTuglyCASEInterface *object);



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

gboolean foo_igen_test_ugly_case_interface_call_get_iscsi_servers_finish (
    FooiGenTesTuglyCASEInterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_test_ugly_case_interface_call_get_iscsi_servers_sync (
    FooiGenTesTuglyCASEInterface *proxy,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
gint foo_igen_test_ugly_case_interface_get_ugly_name (FooiGenTesTuglyCASEInterface *object);
void foo_igen_test_ugly_case_interface_set_ugly_name (FooiGenTesTuglyCASEInterface *object, gint value);


/* ---- */

#define FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_PROXY (foo_igen_test_ugly_case_interface_proxy_get_type ())
#define FOO_IGEN_TEST_UGLY_CASE_INTERFACE_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_PROXY, FooiGenTesTuglyCASEInterfaceProxy))
#define FOO_IGEN_TEST_UGLY_CASE_INTERFACE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_PROXY, FooiGenTesTuglyCASEInterfaceProxyClass))
#define FOO_IGEN_TEST_UGLY_CASE_INTERFACE_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_PROXY, FooiGenTesTuglyCASEInterfaceProxyClass))
#define FOO_IGEN_IS_TEST_UGLY_CASE_INTERFACE_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_PROXY))
#define FOO_IGEN_IS_TEST_UGLY_CASE_INTERFACE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_PROXY))

typedef struct _FooiGenTesTuglyCASEInterfaceProxy FooiGenTesTuglyCASEInterfaceProxy;
typedef struct _FooiGenTesTuglyCASEInterfaceProxyClass FooiGenTesTuglyCASEInterfaceProxyClass;
typedef struct _FooiGenTesTuglyCASEInterfaceProxyPrivate FooiGenTesTuglyCASEInterfaceProxyPrivate;

struct _FooiGenTesTuglyCASEInterfaceProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenTesTuglyCASEInterfaceProxyPrivate *priv;
};

struct _FooiGenTesTuglyCASEInterfaceProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_test_ugly_case_interface_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_test_ugly_case_interface_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenTesTuglyCASEInterface *foo_igen_test_ugly_case_interface_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenTesTuglyCASEInterface *foo_igen_test_ugly_case_interface_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_test_ugly_case_interface_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenTesTuglyCASEInterface *foo_igen_test_ugly_case_interface_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenTesTuglyCASEInterface *foo_igen_test_ugly_case_interface_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_SKELETON (foo_igen_test_ugly_case_interface_skeleton_get_type ())
#define FOO_IGEN_TEST_UGLY_CASE_INTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_SKELETON, FooiGenTesTuglyCASEInterfaceSkeleton))
#define FOO_IGEN_TEST_UGLY_CASE_INTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_SKELETON, FooiGenTesTuglyCASEInterfaceSkeletonClass))
#define FOO_IGEN_TEST_UGLY_CASE_INTERFACE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_SKELETON, FooiGenTesTuglyCASEInterfaceSkeletonClass))
#define FOO_IGEN_IS_TEST_UGLY_CASE_INTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_SKELETON))
#define FOO_IGEN_IS_TEST_UGLY_CASE_INTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_TEST_UGLY_CASE_INTERFACE_SKELETON))

typedef struct _FooiGenTesTuglyCASEInterfaceSkeleton FooiGenTesTuglyCASEInterfaceSkeleton;
typedef struct _FooiGenTesTuglyCASEInterfaceSkeletonClass FooiGenTesTuglyCASEInterfaceSkeletonClass;
typedef struct _FooiGenTesTuglyCASEInterfaceSkeletonPrivate FooiGenTesTuglyCASEInterfaceSkeletonPrivate;

struct _FooiGenTesTuglyCASEInterfaceSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenTesTuglyCASEInterfaceSkeletonPrivate *priv;
};

struct _FooiGenTesTuglyCASEInterfaceSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_test_ugly_case_interface_skeleton_get_type (void) G_GNUC_CONST;

FooiGenTesTuglyCASEInterface *foo_igen_test_ugly_case_interface_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for OldieInterface */

#define FOO_IGEN_TYPE_OLDIE_INTERFACE (foo_igen_oldie_interface_get_type ())
#define FOO_IGEN_OLDIE_INTERFACE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_OLDIE_INTERFACE, FooiGenOldieInterface))
#define FOO_IGEN_IS_OLDIE_INTERFACE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_OLDIE_INTERFACE))
#define FOO_IGEN_OLDIE_INTERFACE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_OLDIE_INTERFACE, FooiGenOldieInterfaceIface))

struct _FooiGenOldieInterface;
typedef struct _FooiGenOldieInterface FooiGenOldieInterface;
typedef struct _FooiGenOldieInterfaceIface FooiGenOldieInterfaceIface;

struct _FooiGenOldieInterfaceIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_foo) (
    FooiGenOldieInterface *object,
    GDBusMethodInvocation *invocation);

  gint  (*get_bat) (FooiGenOldieInterface *object);

  void (*bar) (
    FooiGenOldieInterface *object);

};

GType foo_igen_oldie_interface_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_oldie_interface_interface_info (void);
guint foo_igen_oldie_interface_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
G_GNUC_DEPRECATED void foo_igen_oldie_interface_complete_foo (
    FooiGenOldieInterface *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
G_GNUC_DEPRECATED void foo_igen_oldie_interface_emit_bar (
    FooiGenOldieInterface *object);



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

G_GNUC_DEPRECATED gboolean foo_igen_oldie_interface_call_foo_finish (
    FooiGenOldieInterface *proxy,
    GAsyncResult *res,
    GError **error);

G_GNUC_DEPRECATED gboolean foo_igen_oldie_interface_call_foo_sync (
    FooiGenOldieInterface *proxy,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
G_GNUC_DEPRECATED gint foo_igen_oldie_interface_get_bat (FooiGenOldieInterface *object);
G_GNUC_DEPRECATED void foo_igen_oldie_interface_set_bat (FooiGenOldieInterface *object, gint value);


/* ---- */

#define FOO_IGEN_TYPE_OLDIE_INTERFACE_PROXY (foo_igen_oldie_interface_proxy_get_type ())
#define FOO_IGEN_OLDIE_INTERFACE_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_OLDIE_INTERFACE_PROXY, FooiGenOldieInterfaceProxy))
#define FOO_IGEN_OLDIE_INTERFACE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_OLDIE_INTERFACE_PROXY, FooiGenOldieInterfaceProxyClass))
#define FOO_IGEN_OLDIE_INTERFACE_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_OLDIE_INTERFACE_PROXY, FooiGenOldieInterfaceProxyClass))
#define FOO_IGEN_IS_OLDIE_INTERFACE_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_OLDIE_INTERFACE_PROXY))
#define FOO_IGEN_IS_OLDIE_INTERFACE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_OLDIE_INTERFACE_PROXY))

typedef struct _FooiGenOldieInterfaceProxy FooiGenOldieInterfaceProxy;
typedef struct _FooiGenOldieInterfaceProxyClass FooiGenOldieInterfaceProxyClass;
typedef struct _FooiGenOldieInterfaceProxyPrivate FooiGenOldieInterfaceProxyPrivate;

struct _FooiGenOldieInterfaceProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenOldieInterfaceProxyPrivate *priv;
};

struct _FooiGenOldieInterfaceProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_oldie_interface_proxy_get_type (void) G_GNUC_CONST;

G_GNUC_DEPRECATED void foo_igen_oldie_interface_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
G_GNUC_DEPRECATED FooiGenOldieInterface *foo_igen_oldie_interface_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
G_GNUC_DEPRECATED FooiGenOldieInterface *foo_igen_oldie_interface_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

G_GNUC_DEPRECATED void foo_igen_oldie_interface_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
G_GNUC_DEPRECATED FooiGenOldieInterface *foo_igen_oldie_interface_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
G_GNUC_DEPRECATED FooiGenOldieInterface *foo_igen_oldie_interface_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_OLDIE_INTERFACE_SKELETON (foo_igen_oldie_interface_skeleton_get_type ())
#define FOO_IGEN_OLDIE_INTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_OLDIE_INTERFACE_SKELETON, FooiGenOldieInterfaceSkeleton))
#define FOO_IGEN_OLDIE_INTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_OLDIE_INTERFACE_SKELETON, FooiGenOldieInterfaceSkeletonClass))
#define FOO_IGEN_OLDIE_INTERFACE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_OLDIE_INTERFACE_SKELETON, FooiGenOldieInterfaceSkeletonClass))
#define FOO_IGEN_IS_OLDIE_INTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_OLDIE_INTERFACE_SKELETON))
#define FOO_IGEN_IS_OLDIE_INTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_OLDIE_INTERFACE_SKELETON))

typedef struct _FooiGenOldieInterfaceSkeleton FooiGenOldieInterfaceSkeleton;
typedef struct _FooiGenOldieInterfaceSkeletonClass FooiGenOldieInterfaceSkeletonClass;
typedef struct _FooiGenOldieInterfaceSkeletonPrivate FooiGenOldieInterfaceSkeletonPrivate;

struct _FooiGenOldieInterfaceSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenOldieInterfaceSkeletonPrivate *priv;
};

struct _FooiGenOldieInterfaceSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_oldie_interface_skeleton_get_type (void) G_GNUC_CONST;

G_GNUC_DEPRECATED FooiGenOldieInterface *foo_igen_oldie_interface_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for UnknownXmlTags */

#define FOO_IGEN_TYPE_UNKNOWN_XML_TAGS (foo_igen_unknown_xml_tags_get_type ())
#define FOO_IGEN_UNKNOWN_XML_TAGS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS, FooiGenUnknownXmlTags))
#define FOO_IGEN_IS_UNKNOWN_XML_TAGS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS))
#define FOO_IGEN_UNKNOWN_XML_TAGS_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS, FooiGenUnknownXmlTagsIface))

struct _FooiGenUnknownXmlTags;
typedef struct _FooiGenUnknownXmlTags FooiGenUnknownXmlTags;
typedef struct _FooiGenUnknownXmlTagsIface FooiGenUnknownXmlTagsIface;

struct _FooiGenUnknownXmlTagsIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_can_set_timezone) (
    FooiGenUnknownXmlTags *object,
    GDBusMethodInvocation *invocation);

  const gchar * (*get_some_property) (FooiGenUnknownXmlTags *object);

  void (*some_signal) (
    FooiGenUnknownXmlTags *object);

};

GType foo_igen_unknown_xml_tags_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_unknown_xml_tags_interface_info (void);
guint foo_igen_unknown_xml_tags_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_unknown_xml_tags_complete_can_set_timezone (
    FooiGenUnknownXmlTags *object,
    GDBusMethodInvocation *invocation,
    gint value);



/* D-Bus signal emissions functions: */
void foo_igen_unknown_xml_tags_emit_some_signal (
    FooiGenUnknownXmlTags *object);



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

gboolean foo_igen_unknown_xml_tags_call_can_set_timezone_finish (
    FooiGenUnknownXmlTags *proxy,
    gint *out_value,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_unknown_xml_tags_call_can_set_timezone_sync (
    FooiGenUnknownXmlTags *proxy,
    gint *out_value,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
const gchar *foo_igen_unknown_xml_tags_get_some_property (FooiGenUnknownXmlTags *object);
gchar *foo_igen_unknown_xml_tags_dup_some_property (FooiGenUnknownXmlTags *object);
void foo_igen_unknown_xml_tags_set_some_property (FooiGenUnknownXmlTags *object, const gchar *value);


/* ---- */

#define FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_PROXY (foo_igen_unknown_xml_tags_proxy_get_type ())
#define FOO_IGEN_UNKNOWN_XML_TAGS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_PROXY, FooiGenUnknownXmlTagsProxy))
#define FOO_IGEN_UNKNOWN_XML_TAGS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_PROXY, FooiGenUnknownXmlTagsProxyClass))
#define FOO_IGEN_UNKNOWN_XML_TAGS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_PROXY, FooiGenUnknownXmlTagsProxyClass))
#define FOO_IGEN_IS_UNKNOWN_XML_TAGS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_PROXY))
#define FOO_IGEN_IS_UNKNOWN_XML_TAGS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_PROXY))

typedef struct _FooiGenUnknownXmlTagsProxy FooiGenUnknownXmlTagsProxy;
typedef struct _FooiGenUnknownXmlTagsProxyClass FooiGenUnknownXmlTagsProxyClass;
typedef struct _FooiGenUnknownXmlTagsProxyPrivate FooiGenUnknownXmlTagsProxyPrivate;

struct _FooiGenUnknownXmlTagsProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenUnknownXmlTagsProxyPrivate *priv;
};

struct _FooiGenUnknownXmlTagsProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_unknown_xml_tags_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_unknown_xml_tags_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenUnknownXmlTags *foo_igen_unknown_xml_tags_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenUnknownXmlTags *foo_igen_unknown_xml_tags_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_unknown_xml_tags_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenUnknownXmlTags *foo_igen_unknown_xml_tags_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenUnknownXmlTags *foo_igen_unknown_xml_tags_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_SKELETON (foo_igen_unknown_xml_tags_skeleton_get_type ())
#define FOO_IGEN_UNKNOWN_XML_TAGS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_SKELETON, FooiGenUnknownXmlTagsSkeleton))
#define FOO_IGEN_UNKNOWN_XML_TAGS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_SKELETON, FooiGenUnknownXmlTagsSkeletonClass))
#define FOO_IGEN_UNKNOWN_XML_TAGS_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_SKELETON, FooiGenUnknownXmlTagsSkeletonClass))
#define FOO_IGEN_IS_UNKNOWN_XML_TAGS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_SKELETON))
#define FOO_IGEN_IS_UNKNOWN_XML_TAGS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_UNKNOWN_XML_TAGS_SKELETON))

typedef struct _FooiGenUnknownXmlTagsSkeleton FooiGenUnknownXmlTagsSkeleton;
typedef struct _FooiGenUnknownXmlTagsSkeletonClass FooiGenUnknownXmlTagsSkeletonClass;
typedef struct _FooiGenUnknownXmlTagsSkeletonPrivate FooiGenUnknownXmlTagsSkeletonPrivate;

struct _FooiGenUnknownXmlTagsSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenUnknownXmlTagsSkeletonPrivate *priv;
};

struct _FooiGenUnknownXmlTagsSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_unknown_xml_tags_skeleton_get_type (void) G_GNUC_CONST;

FooiGenUnknownXmlTags *foo_igen_unknown_xml_tags_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for FDPassing */

#define FOO_IGEN_TYPE_FDPASSING (foo_igen_fdpassing_get_type ())
#define FOO_IGEN_FDPASSING(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_FDPASSING, FooiGenFDPassing))
#define FOO_IGEN_IS_FDPASSING(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_FDPASSING))
#define FOO_IGEN_FDPASSING_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_FDPASSING, FooiGenFDPassingIface))

struct _FooiGenFDPassing;
typedef struct _FooiGenFDPassing FooiGenFDPassing;
typedef struct _FooiGenFDPassingIface FooiGenFDPassingIface;

struct _FooiGenFDPassingIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_hello_fd) (
    FooiGenFDPassing *object,
    GDBusMethodInvocation *invocation,
    GUnixFDList *fd_list,
    const gchar *arg_greeting);

};

GType foo_igen_fdpassing_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *foo_igen_fdpassing_interface_info (void);
guint foo_igen_fdpassing_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void foo_igen_fdpassing_complete_hello_fd (
    FooiGenFDPassing *object,
    GDBusMethodInvocation *invocation,
    GUnixFDList *fd_list,
    const gchar *response);



/* D-Bus method calls: */
void foo_igen_fdpassing_call_hello_fd (
    FooiGenFDPassing *proxy,
    const gchar *arg_greeting,
    GUnixFDList *fd_list,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean foo_igen_fdpassing_call_hello_fd_finish (
    FooiGenFDPassing *proxy,
    gchar **out_response,
    GUnixFDList **out_fd_list,
    GAsyncResult *res,
    GError **error);

gboolean foo_igen_fdpassing_call_hello_fd_sync (
    FooiGenFDPassing *proxy,
    const gchar *arg_greeting,
    GUnixFDList  *fd_list,
    gchar **out_response,
    GUnixFDList **out_fd_list,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define FOO_IGEN_TYPE_FDPASSING_PROXY (foo_igen_fdpassing_proxy_get_type ())
#define FOO_IGEN_FDPASSING_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_FDPASSING_PROXY, FooiGenFDPassingProxy))
#define FOO_IGEN_FDPASSING_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_FDPASSING_PROXY, FooiGenFDPassingProxyClass))
#define FOO_IGEN_FDPASSING_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_FDPASSING_PROXY, FooiGenFDPassingProxyClass))
#define FOO_IGEN_IS_FDPASSING_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_FDPASSING_PROXY))
#define FOO_IGEN_IS_FDPASSING_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_FDPASSING_PROXY))

typedef struct _FooiGenFDPassingProxy FooiGenFDPassingProxy;
typedef struct _FooiGenFDPassingProxyClass FooiGenFDPassingProxyClass;
typedef struct _FooiGenFDPassingProxyPrivate FooiGenFDPassingProxyPrivate;

struct _FooiGenFDPassingProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  FooiGenFDPassingProxyPrivate *priv;
};

struct _FooiGenFDPassingProxyClass
{
  GDBusProxyClass parent_class;
};

GType foo_igen_fdpassing_proxy_get_type (void) G_GNUC_CONST;

void foo_igen_fdpassing_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenFDPassing *foo_igen_fdpassing_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenFDPassing *foo_igen_fdpassing_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void foo_igen_fdpassing_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
FooiGenFDPassing *foo_igen_fdpassing_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
FooiGenFDPassing *foo_igen_fdpassing_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define FOO_IGEN_TYPE_FDPASSING_SKELETON (foo_igen_fdpassing_skeleton_get_type ())
#define FOO_IGEN_FDPASSING_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_FDPASSING_SKELETON, FooiGenFDPassingSkeleton))
#define FOO_IGEN_FDPASSING_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_FDPASSING_SKELETON, FooiGenFDPassingSkeletonClass))
#define FOO_IGEN_FDPASSING_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_FDPASSING_SKELETON, FooiGenFDPassingSkeletonClass))
#define FOO_IGEN_IS_FDPASSING_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_FDPASSING_SKELETON))
#define FOO_IGEN_IS_FDPASSING_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_FDPASSING_SKELETON))

typedef struct _FooiGenFDPassingSkeleton FooiGenFDPassingSkeleton;
typedef struct _FooiGenFDPassingSkeletonClass FooiGenFDPassingSkeletonClass;
typedef struct _FooiGenFDPassingSkeletonPrivate FooiGenFDPassingSkeletonPrivate;

struct _FooiGenFDPassingSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  FooiGenFDPassingSkeletonPrivate *priv;
};

struct _FooiGenFDPassingSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType foo_igen_fdpassing_skeleton_get_type (void) G_GNUC_CONST;

FooiGenFDPassing *foo_igen_fdpassing_skeleton_new (void);


/* ---- */

#define FOO_IGEN_TYPE_OBJECT (foo_igen_object_get_type ())
#define FOO_IGEN_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_OBJECT, FooiGenObject))
#define FOO_IGEN_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_OBJECT))
#define FOO_IGEN_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), FOO_IGEN_TYPE_OBJECT, FooiGenObject))

struct _FooiGenObject;
typedef struct _FooiGenObject FooiGenObject;
typedef struct _FooiGenObjectIface FooiGenObjectIface;

struct _FooiGenObjectIface
{
  GTypeInterface parent_iface;
};

GType foo_igen_object_get_type (void) G_GNUC_CONST;

FooiGenBar *foo_igen_object_get_bar (FooiGenObject *object);
FooiGenBarFrobnicator *foo_igen_object_get_bar_frobnicator (FooiGenObject *object);
FooiGenBaz *foo_igen_object_get_baz (FooiGenObject *object);
FooiGenComAcmeCoyote *foo_igen_object_get_com_acme_coyote (FooiGenObject *object);
FooiGenRocket123 *foo_igen_object_get_rocket123 (FooiGenObject *object);
FooiGenBat *foo_igen_object_get_bat (FooiGenObject *object);
FooiGenAuthorize *foo_igen_object_get_authorize (FooiGenObject *object);
FooiGenMethodThreads *foo_igen_object_get_method_threads (FooiGenObject *object);
FooiGenInlineDocs *foo_igen_object_get_inline_docs (FooiGenObject *object);
FooiGenChangingInterfaceV1 *foo_igen_object_get_changing_interface_v1 (FooiGenObject *object);
FooiGenChangingInterfaceV2 *foo_igen_object_get_changing_interface_v2 (FooiGenObject *object);
FooiGenChangingInterfaceV10 *foo_igen_object_get_changing_interface_v10 (FooiGenObject *object);
FooiGenTesTuglyCASEInterface *foo_igen_object_get_test_ugly_case_interface (FooiGenObject *object);
G_GNUC_DEPRECATED FooiGenOldieInterface *foo_igen_object_get_oldie_interface (FooiGenObject *object);
FooiGenUnknownXmlTags *foo_igen_object_get_unknown_xml_tags (FooiGenObject *object);
FooiGenFDPassing *foo_igen_object_get_fdpassing (FooiGenObject *object);
FooiGenBar *foo_igen_object_peek_bar (FooiGenObject *object);
FooiGenBarFrobnicator *foo_igen_object_peek_bar_frobnicator (FooiGenObject *object);
FooiGenBaz *foo_igen_object_peek_baz (FooiGenObject *object);
FooiGenComAcmeCoyote *foo_igen_object_peek_com_acme_coyote (FooiGenObject *object);
FooiGenRocket123 *foo_igen_object_peek_rocket123 (FooiGenObject *object);
FooiGenBat *foo_igen_object_peek_bat (FooiGenObject *object);
FooiGenAuthorize *foo_igen_object_peek_authorize (FooiGenObject *object);
FooiGenMethodThreads *foo_igen_object_peek_method_threads (FooiGenObject *object);
FooiGenInlineDocs *foo_igen_object_peek_inline_docs (FooiGenObject *object);
FooiGenChangingInterfaceV1 *foo_igen_object_peek_changing_interface_v1 (FooiGenObject *object);
FooiGenChangingInterfaceV2 *foo_igen_object_peek_changing_interface_v2 (FooiGenObject *object);
FooiGenChangingInterfaceV10 *foo_igen_object_peek_changing_interface_v10 (FooiGenObject *object);
FooiGenTesTuglyCASEInterface *foo_igen_object_peek_test_ugly_case_interface (FooiGenObject *object);
G_GNUC_DEPRECATED FooiGenOldieInterface *foo_igen_object_peek_oldie_interface (FooiGenObject *object);
FooiGenUnknownXmlTags *foo_igen_object_peek_unknown_xml_tags (FooiGenObject *object);
FooiGenFDPassing *foo_igen_object_peek_fdpassing (FooiGenObject *object);

#define FOO_IGEN_TYPE_OBJECT_PROXY (foo_igen_object_proxy_get_type ())
#define FOO_IGEN_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_OBJECT_PROXY, FooiGenObjectProxy))
#define FOO_IGEN_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_OBJECT_PROXY, FooiGenObjectProxyClass))
#define FOO_IGEN_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_OBJECT_PROXY, FooiGenObjectProxyClass))
#define FOO_IGEN_IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_OBJECT_PROXY))
#define FOO_IGEN_IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_OBJECT_PROXY))

typedef struct _FooiGenObjectProxy FooiGenObjectProxy;
typedef struct _FooiGenObjectProxyClass FooiGenObjectProxyClass;
typedef struct _FooiGenObjectProxyPrivate FooiGenObjectProxyPrivate;

struct _FooiGenObjectProxy
{
  /*< private >*/
  GDBusObjectProxy parent_instance;
  FooiGenObjectProxyPrivate *priv;
};

struct _FooiGenObjectProxyClass
{
  GDBusObjectProxyClass parent_class;
};

GType foo_igen_object_proxy_get_type (void) G_GNUC_CONST;
FooiGenObjectProxy *foo_igen_object_proxy_new (GDBusConnection *connection, const gchar *object_path);

#define FOO_IGEN_TYPE_OBJECT_SKELETON (foo_igen_object_skeleton_get_type ())
#define FOO_IGEN_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_OBJECT_SKELETON, FooiGenObjectSkeleton))
#define FOO_IGEN_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_OBJECT_SKELETON, FooiGenObjectSkeletonClass))
#define FOO_IGEN_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_OBJECT_SKELETON, FooiGenObjectSkeletonClass))
#define FOO_IGEN_IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_OBJECT_SKELETON))
#define FOO_IGEN_IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_OBJECT_SKELETON))

typedef struct _FooiGenObjectSkeleton FooiGenObjectSkeleton;
typedef struct _FooiGenObjectSkeletonClass FooiGenObjectSkeletonClass;
typedef struct _FooiGenObjectSkeletonPrivate FooiGenObjectSkeletonPrivate;

struct _FooiGenObjectSkeleton
{
  /*< private >*/
  GDBusObjectSkeleton parent_instance;
  FooiGenObjectSkeletonPrivate *priv;
};

struct _FooiGenObjectSkeletonClass
{
  GDBusObjectSkeletonClass parent_class;
};

GType foo_igen_object_skeleton_get_type (void) G_GNUC_CONST;
FooiGenObjectSkeleton *foo_igen_object_skeleton_new (const gchar *object_path);
void foo_igen_object_skeleton_set_bar (FooiGenObjectSkeleton *object, FooiGenBar *interface_);
void foo_igen_object_skeleton_set_bar_frobnicator (FooiGenObjectSkeleton *object, FooiGenBarFrobnicator *interface_);
void foo_igen_object_skeleton_set_baz (FooiGenObjectSkeleton *object, FooiGenBaz *interface_);
void foo_igen_object_skeleton_set_com_acme_coyote (FooiGenObjectSkeleton *object, FooiGenComAcmeCoyote *interface_);
void foo_igen_object_skeleton_set_rocket123 (FooiGenObjectSkeleton *object, FooiGenRocket123 *interface_);
void foo_igen_object_skeleton_set_bat (FooiGenObjectSkeleton *object, FooiGenBat *interface_);
void foo_igen_object_skeleton_set_authorize (FooiGenObjectSkeleton *object, FooiGenAuthorize *interface_);
void foo_igen_object_skeleton_set_method_threads (FooiGenObjectSkeleton *object, FooiGenMethodThreads *interface_);
void foo_igen_object_skeleton_set_inline_docs (FooiGenObjectSkeleton *object, FooiGenInlineDocs *interface_);
void foo_igen_object_skeleton_set_changing_interface_v1 (FooiGenObjectSkeleton *object, FooiGenChangingInterfaceV1 *interface_);
void foo_igen_object_skeleton_set_changing_interface_v2 (FooiGenObjectSkeleton *object, FooiGenChangingInterfaceV2 *interface_);
void foo_igen_object_skeleton_set_changing_interface_v10 (FooiGenObjectSkeleton *object, FooiGenChangingInterfaceV10 *interface_);
void foo_igen_object_skeleton_set_test_ugly_case_interface (FooiGenObjectSkeleton *object, FooiGenTesTuglyCASEInterface *interface_);
G_GNUC_DEPRECATED void foo_igen_object_skeleton_set_oldie_interface (FooiGenObjectSkeleton *object, FooiGenOldieInterface *interface_);
void foo_igen_object_skeleton_set_unknown_xml_tags (FooiGenObjectSkeleton *object, FooiGenUnknownXmlTags *interface_);
void foo_igen_object_skeleton_set_fdpassing (FooiGenObjectSkeleton *object, FooiGenFDPassing *interface_);

/* ---- */

#define FOO_IGEN_TYPE_OBJECT_MANAGER_CLIENT (foo_igen_object_manager_client_get_type ())
#define FOO_IGEN_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), FOO_IGEN_TYPE_OBJECT_MANAGER_CLIENT, FooiGenObjectManagerClient))
#define FOO_IGEN_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), FOO_IGEN_TYPE_OBJECT_MANAGER_CLIENT, FooiGenObjectManagerClientClass))
#define FOO_IGEN_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), FOO_IGEN_TYPE_OBJECT_MANAGER_CLIENT, FooiGenObjectManagerClientClass))
#define FOO_IGEN_IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), FOO_IGEN_TYPE_OBJECT_MANAGER_CLIENT))
#define FOO_IGEN_IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), FOO_IGEN_TYPE_OBJECT_MANAGER_CLIENT))

typedef struct _FooiGenObjectManagerClient FooiGenObjectManagerClient;
typedef struct _FooiGenObjectManagerClientClass FooiGenObjectManagerClientClass;
typedef struct _FooiGenObjectManagerClientPrivate FooiGenObjectManagerClientPrivate;

struct _FooiGenObjectManagerClient
{
  /*< private >*/
  GDBusObjectManagerClient parent_instance;
  FooiGenObjectManagerClientPrivate *priv;
};

struct _FooiGenObjectManagerClientClass
{
  GDBusObjectManagerClientClass parent_class;
};

GType foo_igen_object_manager_client_get_type (void) G_GNUC_CONST;

GType foo_igen_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data);

void foo_igen_object_manager_client_new (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data);
GDBusObjectManager *foo_igen_object_manager_client_new_finish (
    GAsyncResult        *res,
    GError             **error);
GDBusObjectManager *foo_igen_object_manager_client_new_sync (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error);

void foo_igen_object_manager_client_new_for_bus (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data);
GDBusObjectManager *foo_igen_object_manager_client_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GDBusObjectManager *foo_igen_object_manager_client_new_for_bus_sync (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error);


G_END_DECLS

#endif /* __GDBUS_TEST_CODEGEN_GENERATED_H__ */
