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

#ifndef _____SRC_COMMON_MOCK_DBUS_TESTS_H__
#define _____SRC_COMMON_MOCK_DBUS_TESTS_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for com.redhat.Cockpit.DBusTests.Alpha */

#define TEST_TYPE_ALPHA (test_alpha_get_type ())
#define TEST_ALPHA(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_ALPHA, TestAlpha))
#define TEST_IS_ALPHA(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_ALPHA))
#define TEST_ALPHA_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TEST_TYPE_ALPHA, TestAlphaIface))

struct _TestAlpha;
typedef struct _TestAlpha TestAlpha;
typedef struct _TestAlphaIface TestAlphaIface;

struct _TestAlphaIface
{
  GTypeInterface parent_iface;
};

GType test_alpha_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *test_alpha_interface_info (void);
guint test_alpha_override_properties (GObjectClass *klass, guint property_id_begin);


/* ---- */

#define TEST_TYPE_ALPHA_PROXY (test_alpha_proxy_get_type ())
#define TEST_ALPHA_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_ALPHA_PROXY, TestAlphaProxy))
#define TEST_ALPHA_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_ALPHA_PROXY, TestAlphaProxyClass))
#define TEST_ALPHA_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_ALPHA_PROXY, TestAlphaProxyClass))
#define TEST_IS_ALPHA_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_ALPHA_PROXY))
#define TEST_IS_ALPHA_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_ALPHA_PROXY))

typedef struct _TestAlphaProxy TestAlphaProxy;
typedef struct _TestAlphaProxyClass TestAlphaProxyClass;
typedef struct _TestAlphaProxyPrivate TestAlphaProxyPrivate;

struct _TestAlphaProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  TestAlphaProxyPrivate *priv;
};

struct _TestAlphaProxyClass
{
  GDBusProxyClass parent_class;
};

GType test_alpha_proxy_get_type (void) G_GNUC_CONST;

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

void test_alpha_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
TestAlpha *test_alpha_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
TestAlpha *test_alpha_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void test_alpha_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
TestAlpha *test_alpha_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
TestAlpha *test_alpha_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define TEST_TYPE_ALPHA_SKELETON (test_alpha_skeleton_get_type ())
#define TEST_ALPHA_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_ALPHA_SKELETON, TestAlphaSkeleton))
#define TEST_ALPHA_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_ALPHA_SKELETON, TestAlphaSkeletonClass))
#define TEST_ALPHA_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_ALPHA_SKELETON, TestAlphaSkeletonClass))
#define TEST_IS_ALPHA_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_ALPHA_SKELETON))
#define TEST_IS_ALPHA_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_ALPHA_SKELETON))

typedef struct _TestAlphaSkeleton TestAlphaSkeleton;
typedef struct _TestAlphaSkeletonClass TestAlphaSkeletonClass;
typedef struct _TestAlphaSkeletonPrivate TestAlphaSkeletonPrivate;

struct _TestAlphaSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  TestAlphaSkeletonPrivate *priv;
};

struct _TestAlphaSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType test_alpha_skeleton_get_type (void) G_GNUC_CONST;

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

TestAlpha *test_alpha_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for com.redhat.Cockpit.DBusTests.Frobber */

#define TEST_TYPE_FROBBER (test_frobber_get_type ())
#define TEST_FROBBER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_FROBBER, TestFrobber))
#define TEST_IS_FROBBER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_FROBBER))
#define TEST_FROBBER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TEST_TYPE_FROBBER, TestFrobberIface))

struct _TestFrobber;
typedef struct _TestFrobber TestFrobber;
typedef struct _TestFrobberIface TestFrobberIface;

struct _TestFrobberIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_add_alpha) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_claim_other_name) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_name);

  gboolean (*handle_create_clique) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_name);

  gboolean (*handle_create_object) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_at_path);

  gboolean (*handle_delete_all_objects) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_delete_object) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_path);

  gboolean (*handle_emit_hidden) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_name);

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

  gboolean (*handle_make_test_fd) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_type);

  gboolean (*handle_never_return) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

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

  gboolean (*handle_release_other_name) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_name);

  gboolean (*handle_remove_alpha) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

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

  gboolean (*handle_request_property_mods) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

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

  gboolean (*handle_tell_me_your_name) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_test_asv) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    GVariant *arg_asv);

  gboolean (*handle_test_non_primitive_types) (
    TestFrobber *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) (
    TestFrobber *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_test_variant) (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    GVariant *arg_v);

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

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

  GVariant * (*get_ag) (TestFrobber *object);

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

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

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

  gboolean  (*get_b) (TestFrobber *object);

  gdouble  (*get_d) (TestFrobber *object);

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

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

  gint  (*get_i) (TestFrobber *object);

  gint16  (*get_n) (TestFrobber *object);

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

  guint16  (*get_q) (TestFrobber *object);

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

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

  guint64  (*get_t) (TestFrobber *object);

  guint  (*get_u) (TestFrobber *object);

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

  gint64  (*get_x) (TestFrobber *object);

  guchar  (*get_y) (TestFrobber *object);

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

  void (*test_signal) (
    TestFrobber *object,
    gint arg_val_int32,
    const gchar *const *arg_array_of_strings,
    const gchar *const *arg_array_of_objpaths,
    GVariant *arg_dict_s_to_pairs);

};

GType test_frobber_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *test_frobber_interface_info (void);
guint test_frobber_override_properties (GObjectClass *klass, guint property_id_begin);


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

void test_frobber_complete_never_return (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_test_primitive_types (
    TestFrobber *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 test_frobber_complete_test_non_primitive_types (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *result);

void test_frobber_complete_test_asv (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *result);

void test_frobber_complete_test_variant (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_request_signal_emission (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_request_property_mods (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_request_multi_property_mods (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_unimplemented_method (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_property_cancellation (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_delete_all_objects (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_create_object (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_delete_object (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_add_alpha (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_remove_alpha (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_create_clique (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *member);

void test_frobber_complete_emit_hidden (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_claim_other_name (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_release_other_name (
    TestFrobber *object,
    GDBusMethodInvocation *invocation);

void test_frobber_complete_tell_me_your_name (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    const gchar *name);

void test_frobber_complete_make_test_fd (
    TestFrobber *object,
    GDBusMethodInvocation *invocation,
    GVariant *fd);



/* D-Bus signal emissions functions: */
void test_frobber_emit_test_signal (
    TestFrobber *object,
    gint arg_val_int32,
    const gchar *const *arg_array_of_strings,
    const gchar *const *arg_array_of_objpaths,
    GVariant *arg_dict_s_to_pairs);

void test_frobber_emit_another_signal (
    TestFrobber *object,
    const gchar *arg_word);



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

gboolean test_frobber_call_hello_world_finish (
    TestFrobber *proxy,
    gchar **out_response,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_hello_world_sync (
    TestFrobber *proxy,
    const gchar *arg_greeting,
    gchar **out_response,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_never_return (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_never_return_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_never_return_sync (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_test_primitive_types (
    TestFrobber *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 test_frobber_call_test_primitive_types_finish (
    TestFrobber *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 test_frobber_call_test_primitive_types_sync (
    TestFrobber *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 test_frobber_call_test_non_primitive_types (
    TestFrobber *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 test_frobber_call_test_non_primitive_types_finish (
    TestFrobber *proxy,
    gchar **out_result,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_test_non_primitive_types_sync (
    TestFrobber *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 test_frobber_call_test_asv (
    TestFrobber *proxy,
    GVariant *arg_asv,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_test_asv_finish (
    TestFrobber *proxy,
    gchar **out_result,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_test_asv_sync (
    TestFrobber *proxy,
    GVariant *arg_asv,
    gchar **out_result,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_test_variant (
    TestFrobber *proxy,
    GVariant *arg_v,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_test_variant_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_test_variant_sync (
    TestFrobber *proxy,
    GVariant *arg_v,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_request_signal_emission (
    TestFrobber *proxy,
    gint arg_which_one,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_request_signal_emission_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_request_signal_emission_sync (
    TestFrobber *proxy,
    gint arg_which_one,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_request_property_mods (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_request_property_mods_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_request_property_mods_sync (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_request_multi_property_mods (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_request_multi_property_mods_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_request_multi_property_mods_sync (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_unimplemented_method (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_unimplemented_method_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_unimplemented_method_sync (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_property_cancellation (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_property_cancellation_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_property_cancellation_sync (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_delete_all_objects (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_delete_all_objects_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_delete_all_objects_sync (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_create_object (
    TestFrobber *proxy,
    const gchar *arg_at_path,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_create_object_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_create_object_sync (
    TestFrobber *proxy,
    const gchar *arg_at_path,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_delete_object (
    TestFrobber *proxy,
    const gchar *arg_path,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_delete_object_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_delete_object_sync (
    TestFrobber *proxy,
    const gchar *arg_path,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_add_alpha (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_add_alpha_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_add_alpha_sync (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_remove_alpha (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_remove_alpha_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_remove_alpha_sync (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_create_clique (
    TestFrobber *proxy,
    const gchar *arg_name,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_create_clique_finish (
    TestFrobber *proxy,
    gchar **out_member,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_create_clique_sync (
    TestFrobber *proxy,
    const gchar *arg_name,
    gchar **out_member,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_emit_hidden (
    TestFrobber *proxy,
    const gchar *arg_name,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_emit_hidden_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_emit_hidden_sync (
    TestFrobber *proxy,
    const gchar *arg_name,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_claim_other_name (
    TestFrobber *proxy,
    const gchar *arg_name,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_claim_other_name_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_claim_other_name_sync (
    TestFrobber *proxy,
    const gchar *arg_name,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_release_other_name (
    TestFrobber *proxy,
    const gchar *arg_name,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_release_other_name_finish (
    TestFrobber *proxy,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_release_other_name_sync (
    TestFrobber *proxy,
    const gchar *arg_name,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_tell_me_your_name (
    TestFrobber *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_tell_me_your_name_finish (
    TestFrobber *proxy,
    gchar **out_name,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_tell_me_your_name_sync (
    TestFrobber *proxy,
    gchar **out_name,
    GCancellable *cancellable,
    GError **error);

void test_frobber_call_make_test_fd (
    TestFrobber *proxy,
    const gchar *arg_type,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean test_frobber_call_make_test_fd_finish (
    TestFrobber *proxy,
    GVariant **out_fd,
    GAsyncResult *res,
    GError **error);

gboolean test_frobber_call_make_test_fd_sync (
    TestFrobber *proxy,
    const gchar *arg_type,
    GVariant **out_fd,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
guchar test_frobber_get_y (TestFrobber *object);
void test_frobber_set_y (TestFrobber *object, guchar value);

gboolean test_frobber_get_b (TestFrobber *object);
void test_frobber_set_b (TestFrobber *object, gboolean value);

gint16 test_frobber_get_n (TestFrobber *object);
void test_frobber_set_n (TestFrobber *object, gint16 value);

guint16 test_frobber_get_q (TestFrobber *object);
void test_frobber_set_q (TestFrobber *object, guint16 value);

gint test_frobber_get_i (TestFrobber *object);
void test_frobber_set_i (TestFrobber *object, gint value);

guint test_frobber_get_u (TestFrobber *object);
void test_frobber_set_u (TestFrobber *object, guint value);

gint64 test_frobber_get_x (TestFrobber *object);
void test_frobber_set_x (TestFrobber *object, gint64 value);

guint64 test_frobber_get_t (TestFrobber *object);
void test_frobber_set_t (TestFrobber *object, guint64 value);

gdouble test_frobber_get_d (TestFrobber *object);
void test_frobber_set_d (TestFrobber *object, gdouble value);

const gchar *test_frobber_get_s (TestFrobber *object);
gchar *test_frobber_dup_s (TestFrobber *object);
void test_frobber_set_s (TestFrobber *object, const gchar *value);

const gchar *test_frobber_get_o (TestFrobber *object);
gchar *test_frobber_dup_o (TestFrobber *object);
void test_frobber_set_o (TestFrobber *object, const gchar *value);

const gchar *test_frobber_get_g (TestFrobber *object);
gchar *test_frobber_dup_g (TestFrobber *object);
void test_frobber_set_g (TestFrobber *object, const gchar *value);

const gchar *test_frobber_get_ay (TestFrobber *object);
gchar *test_frobber_dup_ay (TestFrobber *object);
void test_frobber_set_ay (TestFrobber *object, const gchar *value);

const gchar *const *test_frobber_get_as (TestFrobber *object);
gchar **test_frobber_dup_as (TestFrobber *object);
void test_frobber_set_as (TestFrobber *object, const gchar *const *value);

const gchar *const *test_frobber_get_aay (TestFrobber *object);
gchar **test_frobber_dup_aay (TestFrobber *object);
void test_frobber_set_aay (TestFrobber *object, const gchar *const *value);

const gchar *const *test_frobber_get_ao (TestFrobber *object);
gchar **test_frobber_dup_ao (TestFrobber *object);
void test_frobber_set_ao (TestFrobber *object, const gchar *const *value);

GVariant *test_frobber_get_ag (TestFrobber *object);
GVariant *test_frobber_dup_ag (TestFrobber *object);
void test_frobber_set_ag (TestFrobber *object, GVariant *value);

const gchar *test_frobber_get_finally_normal_name (TestFrobber *object);
gchar *test_frobber_dup_finally_normal_name (TestFrobber *object);
void test_frobber_set_finally_normal_name (TestFrobber *object, const gchar *value);

const gchar *test_frobber_get_readonly_property (TestFrobber *object);
gchar *test_frobber_dup_readonly_property (TestFrobber *object);
void test_frobber_set_readonly_property (TestFrobber *object, const gchar *value);

const gchar *test_frobber_get_writeonly_property (TestFrobber *object);
gchar *test_frobber_dup_writeonly_property (TestFrobber *object);
void test_frobber_set_writeonly_property (TestFrobber *object, const gchar *value);


/* ---- */

#define TEST_TYPE_FROBBER_PROXY (test_frobber_proxy_get_type ())
#define TEST_FROBBER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_FROBBER_PROXY, TestFrobberProxy))
#define TEST_FROBBER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_FROBBER_PROXY, TestFrobberProxyClass))
#define TEST_FROBBER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_FROBBER_PROXY, TestFrobberProxyClass))
#define TEST_IS_FROBBER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_FROBBER_PROXY))
#define TEST_IS_FROBBER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_FROBBER_PROXY))

typedef struct _TestFrobberProxy TestFrobberProxy;
typedef struct _TestFrobberProxyClass TestFrobberProxyClass;
typedef struct _TestFrobberProxyPrivate TestFrobberProxyPrivate;

struct _TestFrobberProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  TestFrobberProxyPrivate *priv;
};

struct _TestFrobberProxyClass
{
  GDBusProxyClass parent_class;
};

GType test_frobber_proxy_get_type (void) G_GNUC_CONST;

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

void test_frobber_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
TestFrobber *test_frobber_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
TestFrobber *test_frobber_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void test_frobber_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
TestFrobber *test_frobber_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
TestFrobber *test_frobber_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define TEST_TYPE_FROBBER_SKELETON (test_frobber_skeleton_get_type ())
#define TEST_FROBBER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_FROBBER_SKELETON, TestFrobberSkeleton))
#define TEST_FROBBER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_FROBBER_SKELETON, TestFrobberSkeletonClass))
#define TEST_FROBBER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_FROBBER_SKELETON, TestFrobberSkeletonClass))
#define TEST_IS_FROBBER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_FROBBER_SKELETON))
#define TEST_IS_FROBBER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_FROBBER_SKELETON))

typedef struct _TestFrobberSkeleton TestFrobberSkeleton;
typedef struct _TestFrobberSkeletonClass TestFrobberSkeletonClass;
typedef struct _TestFrobberSkeletonPrivate TestFrobberSkeletonPrivate;

struct _TestFrobberSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  TestFrobberSkeletonPrivate *priv;
};

struct _TestFrobberSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType test_frobber_skeleton_get_type (void) G_GNUC_CONST;

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

TestFrobber *test_frobber_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for com.redhat.Cockpit.DBusTests.Clique */

#define TEST_TYPE_CLIQUE (test_clique_get_type ())
#define TEST_CLIQUE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_CLIQUE, TestClique))
#define TEST_IS_CLIQUE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_CLIQUE))
#define TEST_CLIQUE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TEST_TYPE_CLIQUE, TestCliqueIface))

struct _TestClique;
typedef struct _TestClique TestClique;
typedef struct _TestCliqueIface TestCliqueIface;

struct _TestCliqueIface
{
  GTypeInterface parent_iface;

  const gchar * (*get_friend) (TestClique *object);

};

GType test_clique_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *test_clique_interface_info (void);
guint test_clique_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus property accessors: */
const gchar *test_clique_get_friend (TestClique *object);
gchar *test_clique_dup_friend (TestClique *object);
void test_clique_set_friend (TestClique *object, const gchar *value);


/* ---- */

#define TEST_TYPE_CLIQUE_PROXY (test_clique_proxy_get_type ())
#define TEST_CLIQUE_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_CLIQUE_PROXY, TestCliqueProxy))
#define TEST_CLIQUE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_CLIQUE_PROXY, TestCliqueProxyClass))
#define TEST_CLIQUE_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_CLIQUE_PROXY, TestCliqueProxyClass))
#define TEST_IS_CLIQUE_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_CLIQUE_PROXY))
#define TEST_IS_CLIQUE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_CLIQUE_PROXY))

typedef struct _TestCliqueProxy TestCliqueProxy;
typedef struct _TestCliqueProxyClass TestCliqueProxyClass;
typedef struct _TestCliqueProxyPrivate TestCliqueProxyPrivate;

struct _TestCliqueProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  TestCliqueProxyPrivate *priv;
};

struct _TestCliqueProxyClass
{
  GDBusProxyClass parent_class;
};

GType test_clique_proxy_get_type (void) G_GNUC_CONST;

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

void test_clique_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
TestClique *test_clique_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
TestClique *test_clique_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void test_clique_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
TestClique *test_clique_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
TestClique *test_clique_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define TEST_TYPE_CLIQUE_SKELETON (test_clique_skeleton_get_type ())
#define TEST_CLIQUE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_CLIQUE_SKELETON, TestCliqueSkeleton))
#define TEST_CLIQUE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_CLIQUE_SKELETON, TestCliqueSkeletonClass))
#define TEST_CLIQUE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_CLIQUE_SKELETON, TestCliqueSkeletonClass))
#define TEST_IS_CLIQUE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_CLIQUE_SKELETON))
#define TEST_IS_CLIQUE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_CLIQUE_SKELETON))

typedef struct _TestCliqueSkeleton TestCliqueSkeleton;
typedef struct _TestCliqueSkeletonClass TestCliqueSkeletonClass;
typedef struct _TestCliqueSkeletonPrivate TestCliqueSkeletonPrivate;

struct _TestCliqueSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  TestCliqueSkeletonPrivate *priv;
};

struct _TestCliqueSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType test_clique_skeleton_get_type (void) G_GNUC_CONST;

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

TestClique *test_clique_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for com.redhat.Cockpit.DBusTests.Hidden */

#define TEST_TYPE_HIDDEN (test_hidden_get_type ())
#define TEST_HIDDEN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_HIDDEN, TestHidden))
#define TEST_IS_HIDDEN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_HIDDEN))
#define TEST_HIDDEN_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TEST_TYPE_HIDDEN, TestHiddenIface))

struct _TestHidden;
typedef struct _TestHidden TestHidden;
typedef struct _TestHiddenIface TestHiddenIface;

struct _TestHiddenIface
{
  GTypeInterface parent_iface;

  const gchar * (*get_name) (TestHidden *object);

};

GType test_hidden_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *test_hidden_interface_info (void);
guint test_hidden_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus property accessors: */
const gchar *test_hidden_get_name (TestHidden *object);
gchar *test_hidden_dup_name (TestHidden *object);
void test_hidden_set_name (TestHidden *object, const gchar *value);


/* ---- */

#define TEST_TYPE_HIDDEN_PROXY (test_hidden_proxy_get_type ())
#define TEST_HIDDEN_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_HIDDEN_PROXY, TestHiddenProxy))
#define TEST_HIDDEN_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_HIDDEN_PROXY, TestHiddenProxyClass))
#define TEST_HIDDEN_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_HIDDEN_PROXY, TestHiddenProxyClass))
#define TEST_IS_HIDDEN_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_HIDDEN_PROXY))
#define TEST_IS_HIDDEN_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_HIDDEN_PROXY))

typedef struct _TestHiddenProxy TestHiddenProxy;
typedef struct _TestHiddenProxyClass TestHiddenProxyClass;
typedef struct _TestHiddenProxyPrivate TestHiddenProxyPrivate;

struct _TestHiddenProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  TestHiddenProxyPrivate *priv;
};

struct _TestHiddenProxyClass
{
  GDBusProxyClass parent_class;
};

GType test_hidden_proxy_get_type (void) G_GNUC_CONST;

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

void test_hidden_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
TestHidden *test_hidden_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
TestHidden *test_hidden_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void test_hidden_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
TestHidden *test_hidden_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
TestHidden *test_hidden_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define TEST_TYPE_HIDDEN_SKELETON (test_hidden_skeleton_get_type ())
#define TEST_HIDDEN_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_HIDDEN_SKELETON, TestHiddenSkeleton))
#define TEST_HIDDEN_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_HIDDEN_SKELETON, TestHiddenSkeletonClass))
#define TEST_HIDDEN_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_HIDDEN_SKELETON, TestHiddenSkeletonClass))
#define TEST_IS_HIDDEN_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_HIDDEN_SKELETON))
#define TEST_IS_HIDDEN_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_HIDDEN_SKELETON))

typedef struct _TestHiddenSkeleton TestHiddenSkeleton;
typedef struct _TestHiddenSkeletonClass TestHiddenSkeletonClass;
typedef struct _TestHiddenSkeletonPrivate TestHiddenSkeletonPrivate;

struct _TestHiddenSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  TestHiddenSkeletonPrivate *priv;
};

struct _TestHiddenSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType test_hidden_skeleton_get_type (void) G_GNUC_CONST;

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

TestHidden *test_hidden_skeleton_new (void);


/* ---- */

#define TEST_TYPE_OBJECT (test_object_get_type ())
#define TEST_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_OBJECT, TestObject))
#define TEST_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_OBJECT))
#define TEST_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TEST_TYPE_OBJECT, TestObject))

struct _TestObject;
typedef struct _TestObject TestObject;
typedef struct _TestObjectIface TestObjectIface;

struct _TestObjectIface
{
  GTypeInterface parent_iface;
};

GType test_object_get_type (void) G_GNUC_CONST;

TestAlpha *test_object_get_alpha (TestObject *object);
TestFrobber *test_object_get_frobber (TestObject *object);
TestClique *test_object_get_clique (TestObject *object);
TestHidden *test_object_get_hidden (TestObject *object);
TestAlpha *test_object_peek_alpha (TestObject *object);
TestFrobber *test_object_peek_frobber (TestObject *object);
TestClique *test_object_peek_clique (TestObject *object);
TestHidden *test_object_peek_hidden (TestObject *object);

#define TEST_TYPE_OBJECT_PROXY (test_object_proxy_get_type ())
#define TEST_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_OBJECT_PROXY, TestObjectProxy))
#define TEST_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_OBJECT_PROXY, TestObjectProxyClass))
#define TEST_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_OBJECT_PROXY, TestObjectProxyClass))
#define TEST_IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_OBJECT_PROXY))
#define TEST_IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_OBJECT_PROXY))

typedef struct _TestObjectProxy TestObjectProxy;
typedef struct _TestObjectProxyClass TestObjectProxyClass;
typedef struct _TestObjectProxyPrivate TestObjectProxyPrivate;

struct _TestObjectProxy
{
  /*< private >*/
  GDBusObjectProxy parent_instance;
  TestObjectProxyPrivate *priv;
};

struct _TestObjectProxyClass
{
  GDBusObjectProxyClass parent_class;
};

GType test_object_proxy_get_type (void) G_GNUC_CONST;

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

TestObjectProxy *test_object_proxy_new (GDBusConnection *connection, const gchar *object_path);

#define TEST_TYPE_OBJECT_SKELETON (test_object_skeleton_get_type ())
#define TEST_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_OBJECT_SKELETON, TestObjectSkeleton))
#define TEST_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_OBJECT_SKELETON, TestObjectSkeletonClass))
#define TEST_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_OBJECT_SKELETON, TestObjectSkeletonClass))
#define TEST_IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_OBJECT_SKELETON))
#define TEST_IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_OBJECT_SKELETON))

typedef struct _TestObjectSkeleton TestObjectSkeleton;
typedef struct _TestObjectSkeletonClass TestObjectSkeletonClass;
typedef struct _TestObjectSkeletonPrivate TestObjectSkeletonPrivate;

struct _TestObjectSkeleton
{
  /*< private >*/
  GDBusObjectSkeleton parent_instance;
  TestObjectSkeletonPrivate *priv;
};

struct _TestObjectSkeletonClass
{
  GDBusObjectSkeletonClass parent_class;
};

GType test_object_skeleton_get_type (void) G_GNUC_CONST;

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

TestObjectSkeleton *test_object_skeleton_new (const gchar *object_path);
void test_object_skeleton_set_alpha (TestObjectSkeleton *object, TestAlpha *interface_);
void test_object_skeleton_set_frobber (TestObjectSkeleton *object, TestFrobber *interface_);
void test_object_skeleton_set_clique (TestObjectSkeleton *object, TestClique *interface_);
void test_object_skeleton_set_hidden (TestObjectSkeleton *object, TestHidden *interface_);

/* ---- */

#define TEST_TYPE_OBJECT_MANAGER_CLIENT (test_object_manager_client_get_type ())
#define TEST_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TEST_TYPE_OBJECT_MANAGER_CLIENT, TestObjectManagerClient))
#define TEST_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TEST_TYPE_OBJECT_MANAGER_CLIENT, TestObjectManagerClientClass))
#define TEST_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TEST_TYPE_OBJECT_MANAGER_CLIENT, TestObjectManagerClientClass))
#define TEST_IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TEST_TYPE_OBJECT_MANAGER_CLIENT))
#define TEST_IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TEST_TYPE_OBJECT_MANAGER_CLIENT))

typedef struct _TestObjectManagerClient TestObjectManagerClient;
typedef struct _TestObjectManagerClientClass TestObjectManagerClientClass;
typedef struct _TestObjectManagerClientPrivate TestObjectManagerClientPrivate;

struct _TestObjectManagerClient
{
  /*< private >*/
  GDBusObjectManagerClient parent_instance;
  TestObjectManagerClientPrivate *priv;
};

struct _TestObjectManagerClientClass
{
  GDBusObjectManagerClientClass parent_class;
};

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

GType test_object_manager_client_get_type (void) G_GNUC_CONST;

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

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

void test_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 *test_object_manager_client_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GDBusObjectManager *test_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 /* _____SRC_COMMON_MOCK_DBUS_TESTS_H__ */
