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

#ifndef __AUDIO_MANAGER_INTERFACE_H__
#define __AUDIO_MANAGER_INTERFACE_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.genivi.audiomanager.commandinterface */

#define TYPE_AUDIOMANAGER_COMMANDINTERFACE (audiomanager_commandinterface_get_type ())
#define AUDIOMANAGER_COMMANDINTERFACE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_AUDIOMANAGER_COMMANDINTERFACE, AudiomanagerCommandinterface))
#define IS_AUDIOMANAGER_COMMANDINTERFACE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_AUDIOMANAGER_COMMANDINTERFACE))
#define AUDIOMANAGER_COMMANDINTERFACE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TYPE_AUDIOMANAGER_COMMANDINTERFACE, AudiomanagerCommandinterfaceIface))

struct _AudiomanagerCommandinterface;
typedef struct _AudiomanagerCommandinterface AudiomanagerCommandinterface;
typedef struct _AudiomanagerCommandinterfaceIface AudiomanagerCommandinterfaceIface;

struct _AudiomanagerCommandinterfaceIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_connect) (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_sourceID,
    guint16 arg_sinkID);

  gboolean (*handle_disconnect) (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_mainConnectionID);

  gboolean (*handle_get_list_main_connections) (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_list_main_sinks) (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_list_main_sources) (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_set_sink_mute_state) (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_sinkID,
    gint16 arg_muteState);

  gboolean (*handle_set_volume) (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_sinkID,
    gint16 arg_volume);

  gboolean (*handle_volume_step) (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_sinkID,
    gint16 arg_volumeStep);

  void (*main_connection_state_changed) (
    AudiomanagerCommandinterface *object,
    guint16 arg_connectionID,
    gint16 arg_connectionState);

  void (*new_main_connection) (
    AudiomanagerCommandinterface *object,
    GVariant *arg_mainConnection);

  void (*removed_main_connection) (
    AudiomanagerCommandinterface *object,
    guint16 arg_mainConnectionId);

  void (*sink_mute_state_changed) (
    AudiomanagerCommandinterface *object,
    guint16 arg_sinkID,
    gint16 arg_muteState);

  void (*system_property_changed) (
    AudiomanagerCommandinterface *object,
    GVariant *arg_SystemProperty);

  void (*volume_changed) (
    AudiomanagerCommandinterface *object,
    guint16 arg_sinkID,
    gint16 arg_volume);

};

GType audiomanager_commandinterface_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *audiomanager_commandinterface_interface_info (void);
guint audiomanager_commandinterface_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void audiomanager_commandinterface_complete_connect (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    gint16 result,
    guint16 mainConnectionID);

void audiomanager_commandinterface_complete_disconnect (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    gint16 result);

void audiomanager_commandinterface_complete_set_volume (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    gint16 result);

void audiomanager_commandinterface_complete_volume_step (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    gint16 result);

void audiomanager_commandinterface_complete_set_sink_mute_state (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    gint16 result);

void audiomanager_commandinterface_complete_get_list_main_connections (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    gint16 result,
    GVariant *listConnections);

void audiomanager_commandinterface_complete_get_list_main_sinks (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    gint16 result,
    GVariant *listMainSinks);

void audiomanager_commandinterface_complete_get_list_main_sources (
    AudiomanagerCommandinterface *object,
    GDBusMethodInvocation *invocation,
    gint16 result,
    GVariant *listMainSources);



/* D-Bus signal emissions functions: */
void audiomanager_commandinterface_emit_new_main_connection (
    AudiomanagerCommandinterface *object,
    GVariant *arg_mainConnection);

void audiomanager_commandinterface_emit_removed_main_connection (
    AudiomanagerCommandinterface *object,
    guint16 arg_mainConnectionId);

void audiomanager_commandinterface_emit_main_connection_state_changed (
    AudiomanagerCommandinterface *object,
    guint16 arg_connectionID,
    gint16 arg_connectionState);

void audiomanager_commandinterface_emit_volume_changed (
    AudiomanagerCommandinterface *object,
    guint16 arg_sinkID,
    gint16 arg_volume);

void audiomanager_commandinterface_emit_sink_mute_state_changed (
    AudiomanagerCommandinterface *object,
    guint16 arg_sinkID,
    gint16 arg_muteState);

void audiomanager_commandinterface_emit_system_property_changed (
    AudiomanagerCommandinterface *object,
    GVariant *arg_SystemProperty);



/* D-Bus method calls: */
void audiomanager_commandinterface_call_connect (
    AudiomanagerCommandinterface *proxy,
    guint16 arg_sourceID,
    guint16 arg_sinkID,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_commandinterface_call_connect_finish (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    guint16 *out_mainConnectionID,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_commandinterface_call_connect_sync (
    AudiomanagerCommandinterface *proxy,
    guint16 arg_sourceID,
    guint16 arg_sinkID,
    gint16 *out_result,
    guint16 *out_mainConnectionID,
    GCancellable *cancellable,
    GError **error);

void audiomanager_commandinterface_call_disconnect (
    AudiomanagerCommandinterface *proxy,
    guint16 arg_mainConnectionID,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_commandinterface_call_disconnect_finish (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_commandinterface_call_disconnect_sync (
    AudiomanagerCommandinterface *proxy,
    guint16 arg_mainConnectionID,
    gint16 *out_result,
    GCancellable *cancellable,
    GError **error);

void audiomanager_commandinterface_call_set_volume (
    AudiomanagerCommandinterface *proxy,
    guint16 arg_sinkID,
    gint16 arg_volume,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_commandinterface_call_set_volume_finish (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_commandinterface_call_set_volume_sync (
    AudiomanagerCommandinterface *proxy,
    guint16 arg_sinkID,
    gint16 arg_volume,
    gint16 *out_result,
    GCancellable *cancellable,
    GError **error);

void audiomanager_commandinterface_call_volume_step (
    AudiomanagerCommandinterface *proxy,
    guint16 arg_sinkID,
    gint16 arg_volumeStep,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_commandinterface_call_volume_step_finish (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_commandinterface_call_volume_step_sync (
    AudiomanagerCommandinterface *proxy,
    guint16 arg_sinkID,
    gint16 arg_volumeStep,
    gint16 *out_result,
    GCancellable *cancellable,
    GError **error);

void audiomanager_commandinterface_call_set_sink_mute_state (
    AudiomanagerCommandinterface *proxy,
    guint16 arg_sinkID,
    gint16 arg_muteState,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_commandinterface_call_set_sink_mute_state_finish (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_commandinterface_call_set_sink_mute_state_sync (
    AudiomanagerCommandinterface *proxy,
    guint16 arg_sinkID,
    gint16 arg_muteState,
    gint16 *out_result,
    GCancellable *cancellable,
    GError **error);

void audiomanager_commandinterface_call_get_list_main_connections (
    AudiomanagerCommandinterface *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_commandinterface_call_get_list_main_connections_finish (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    GVariant **out_listConnections,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_commandinterface_call_get_list_main_connections_sync (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    GVariant **out_listConnections,
    GCancellable *cancellable,
    GError **error);

void audiomanager_commandinterface_call_get_list_main_sinks (
    AudiomanagerCommandinterface *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_commandinterface_call_get_list_main_sinks_finish (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    GVariant **out_listMainSinks,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_commandinterface_call_get_list_main_sinks_sync (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    GVariant **out_listMainSinks,
    GCancellable *cancellable,
    GError **error);

void audiomanager_commandinterface_call_get_list_main_sources (
    AudiomanagerCommandinterface *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_commandinterface_call_get_list_main_sources_finish (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    GVariant **out_listMainSources,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_commandinterface_call_get_list_main_sources_sync (
    AudiomanagerCommandinterface *proxy,
    gint16 *out_result,
    GVariant **out_listMainSources,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define TYPE_AUDIOMANAGER_COMMANDINTERFACE_PROXY (audiomanager_commandinterface_proxy_get_type ())
#define AUDIOMANAGER_COMMANDINTERFACE_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_AUDIOMANAGER_COMMANDINTERFACE_PROXY, AudiomanagerCommandinterfaceProxy))
#define AUDIOMANAGER_COMMANDINTERFACE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_AUDIOMANAGER_COMMANDINTERFACE_PROXY, AudiomanagerCommandinterfaceProxyClass))
#define AUDIOMANAGER_COMMANDINTERFACE_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_AUDIOMANAGER_COMMANDINTERFACE_PROXY, AudiomanagerCommandinterfaceProxyClass))
#define IS_AUDIOMANAGER_COMMANDINTERFACE_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_AUDIOMANAGER_COMMANDINTERFACE_PROXY))
#define IS_AUDIOMANAGER_COMMANDINTERFACE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_AUDIOMANAGER_COMMANDINTERFACE_PROXY))

typedef struct _AudiomanagerCommandinterfaceProxy AudiomanagerCommandinterfaceProxy;
typedef struct _AudiomanagerCommandinterfaceProxyClass AudiomanagerCommandinterfaceProxyClass;
typedef struct _AudiomanagerCommandinterfaceProxyPrivate AudiomanagerCommandinterfaceProxyPrivate;

struct _AudiomanagerCommandinterfaceProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  AudiomanagerCommandinterfaceProxyPrivate *priv;
};

struct _AudiomanagerCommandinterfaceProxyClass
{
  GDBusProxyClass parent_class;
};

GType audiomanager_commandinterface_proxy_get_type (void) G_GNUC_CONST;

void audiomanager_commandinterface_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
AudiomanagerCommandinterface *audiomanager_commandinterface_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
AudiomanagerCommandinterface *audiomanager_commandinterface_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void audiomanager_commandinterface_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
AudiomanagerCommandinterface *audiomanager_commandinterface_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
AudiomanagerCommandinterface *audiomanager_commandinterface_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define TYPE_AUDIOMANAGER_COMMANDINTERFACE_SKELETON (audiomanager_commandinterface_skeleton_get_type ())
#define AUDIOMANAGER_COMMANDINTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_AUDIOMANAGER_COMMANDINTERFACE_SKELETON, AudiomanagerCommandinterfaceSkeleton))
#define AUDIOMANAGER_COMMANDINTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_AUDIOMANAGER_COMMANDINTERFACE_SKELETON, AudiomanagerCommandinterfaceSkeletonClass))
#define AUDIOMANAGER_COMMANDINTERFACE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_AUDIOMANAGER_COMMANDINTERFACE_SKELETON, AudiomanagerCommandinterfaceSkeletonClass))
#define IS_AUDIOMANAGER_COMMANDINTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_AUDIOMANAGER_COMMANDINTERFACE_SKELETON))
#define IS_AUDIOMANAGER_COMMANDINTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_AUDIOMANAGER_COMMANDINTERFACE_SKELETON))

typedef struct _AudiomanagerCommandinterfaceSkeleton AudiomanagerCommandinterfaceSkeleton;
typedef struct _AudiomanagerCommandinterfaceSkeletonClass AudiomanagerCommandinterfaceSkeletonClass;
typedef struct _AudiomanagerCommandinterfaceSkeletonPrivate AudiomanagerCommandinterfaceSkeletonPrivate;

struct _AudiomanagerCommandinterfaceSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  AudiomanagerCommandinterfaceSkeletonPrivate *priv;
};

struct _AudiomanagerCommandinterfaceSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType audiomanager_commandinterface_skeleton_get_type (void) G_GNUC_CONST;

AudiomanagerCommandinterface *audiomanager_commandinterface_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.genivi.audiomanager.routinginterface */

#define TYPE_AUDIOMANAGER_ROUTINGINTERFACE (audiomanager_routinginterface_get_type ())
#define AUDIOMANAGER_ROUTINGINTERFACE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_AUDIOMANAGER_ROUTINGINTERFACE, AudiomanagerRoutinginterface))
#define IS_AUDIOMANAGER_ROUTINGINTERFACE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_AUDIOMANAGER_ROUTINGINTERFACE))
#define AUDIOMANAGER_ROUTINGINTERFACE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TYPE_AUDIOMANAGER_ROUTINGINTERFACE, AudiomanagerRoutinginterfaceIface))

struct _AudiomanagerRoutinginterface;
typedef struct _AudiomanagerRoutinginterface AudiomanagerRoutinginterface;
typedef struct _AudiomanagerRoutinginterfaceIface AudiomanagerRoutinginterfaceIface;

struct _AudiomanagerRoutinginterfaceIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_ack_connect) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    guint16 arg_connectionID,
    guint16 arg_error);

  gboolean (*handle_ack_disconnect) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    guint16 arg_connectionID,
    guint16 arg_error);

  gboolean (*handle_ack_set_sink_volume) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    gint16 arg_volume,
    guint16 arg_error);

  gboolean (*handle_ack_set_source_state) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    guint16 arg_error);

  gboolean (*handle_ack_set_volumes) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    GVariant *arg_listvolumes,
    guint16 arg_error);

  gboolean (*handle_ack_sink_notification_configuration) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    guint16 arg_error);

  gboolean (*handle_ack_source_notification_configuration) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    guint16 arg_error);

  gboolean (*handle_confirm_routing_ready) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_domainID);

  gboolean (*handle_confirm_routing_rundown) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_domainID);

  gboolean (*handle_deregister_sink) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_sinkID);

  gboolean (*handle_deregister_source) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_sourceID);

  gboolean (*handle_hook_interrupt_status_change) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_sourceID,
    guint16 arg_interruptState);

  gboolean (*handle_hook_source_availablity_status_change) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_sourceID,
    GVariant *arg_availability);

  gboolean (*handle_register_domain) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    GVariant *arg_domaindata,
    const gchar *arg_returnBusname,
    const gchar *arg_returnPath,
    const gchar *arg_returnInterface);

  gboolean (*handle_register_sink) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    GVariant *arg_sinkData);

  gboolean (*handle_register_source) (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    GVariant *arg_sourceData);

  void (*set_routing_ready) (
    AudiomanagerRoutinginterface *object);

  void (*set_routing_rundown) (
    AudiomanagerRoutinginterface *object);

};

GType audiomanager_routinginterface_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *audiomanager_routinginterface_interface_info (void);
guint audiomanager_routinginterface_override_properties (GObjectClass *klass, guint property_id_begin);


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

void audiomanager_routinginterface_complete_ack_disconnect (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routinginterface_complete_ack_set_source_state (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routinginterface_complete_ack_set_sink_volume (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routinginterface_complete_register_sink (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 sinkID,
    guint16 error);

void audiomanager_routinginterface_complete_deregister_sink (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    gint error);

void audiomanager_routinginterface_complete_register_source (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 sourceID,
    guint16 error);

void audiomanager_routinginterface_complete_deregister_source (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 error);

void audiomanager_routinginterface_complete_hook_interrupt_status_change (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routinginterface_complete_hook_source_availablity_status_change (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routinginterface_complete_confirm_routing_ready (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routinginterface_complete_confirm_routing_rundown (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routinginterface_complete_ack_set_volumes (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routinginterface_complete_ack_sink_notification_configuration (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routinginterface_complete_ack_source_notification_configuration (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routinginterface_complete_register_domain (
    AudiomanagerRoutinginterface *object,
    GDBusMethodInvocation *invocation,
    guint16 domainid,
    guint16 error);



/* D-Bus signal emissions functions: */
void audiomanager_routinginterface_emit_set_routing_ready (
    AudiomanagerRoutinginterface *object);

void audiomanager_routinginterface_emit_set_routing_rundown (
    AudiomanagerRoutinginterface *object);



/* D-Bus method calls: */
void audiomanager_routinginterface_call_ack_connect (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    guint16 arg_connectionID,
    guint16 arg_error,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_ack_connect_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_ack_connect_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    guint16 arg_connectionID,
    guint16 arg_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_ack_disconnect (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    guint16 arg_connectionID,
    guint16 arg_error,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_ack_disconnect_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_ack_disconnect_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    guint16 arg_connectionID,
    guint16 arg_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_ack_set_source_state (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    guint16 arg_error,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_ack_set_source_state_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_ack_set_source_state_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    guint16 arg_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_ack_set_sink_volume (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    gint16 arg_volume,
    guint16 arg_error,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_ack_set_sink_volume_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_ack_set_sink_volume_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    gint16 arg_volume,
    guint16 arg_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_register_sink (
    AudiomanagerRoutinginterface *proxy,
    GVariant *arg_sinkData,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_register_sink_finish (
    AudiomanagerRoutinginterface *proxy,
    guint16 *out_sinkID,
    guint16 *out_error,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_register_sink_sync (
    AudiomanagerRoutinginterface *proxy,
    GVariant *arg_sinkData,
    guint16 *out_sinkID,
    guint16 *out_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_deregister_sink (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_sinkID,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_deregister_sink_finish (
    AudiomanagerRoutinginterface *proxy,
    gint *out_error,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_deregister_sink_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_sinkID,
    gint *out_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_register_source (
    AudiomanagerRoutinginterface *proxy,
    GVariant *arg_sourceData,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_register_source_finish (
    AudiomanagerRoutinginterface *proxy,
    guint16 *out_sourceID,
    guint16 *out_error,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_register_source_sync (
    AudiomanagerRoutinginterface *proxy,
    GVariant *arg_sourceData,
    guint16 *out_sourceID,
    guint16 *out_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_deregister_source (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_sourceID,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_deregister_source_finish (
    AudiomanagerRoutinginterface *proxy,
    guint16 *out_error,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_deregister_source_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_sourceID,
    guint16 *out_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_hook_interrupt_status_change (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_sourceID,
    guint16 arg_interruptState,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_hook_interrupt_status_change_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_hook_interrupt_status_change_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_sourceID,
    guint16 arg_interruptState,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_hook_source_availablity_status_change (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_sourceID,
    GVariant *arg_availability,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_hook_source_availablity_status_change_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_hook_source_availablity_status_change_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_sourceID,
    GVariant *arg_availability,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_confirm_routing_ready (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_domainID,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_confirm_routing_ready_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_confirm_routing_ready_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_domainID,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_confirm_routing_rundown (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_domainID,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_confirm_routing_rundown_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_confirm_routing_rundown_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_domainID,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_ack_set_volumes (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    GVariant *arg_listvolumes,
    guint16 arg_error,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_ack_set_volumes_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_ack_set_volumes_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    GVariant *arg_listvolumes,
    guint16 arg_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_ack_sink_notification_configuration (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    guint16 arg_error,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_ack_sink_notification_configuration_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_ack_sink_notification_configuration_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    guint16 arg_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_ack_source_notification_configuration (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    guint16 arg_error,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_ack_source_notification_configuration_finish (
    AudiomanagerRoutinginterface *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_ack_source_notification_configuration_sync (
    AudiomanagerRoutinginterface *proxy,
    guint16 arg_handle,
    guint16 arg_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routinginterface_call_register_domain (
    AudiomanagerRoutinginterface *proxy,
    GVariant *arg_domaindata,
    const gchar *arg_returnBusname,
    const gchar *arg_returnPath,
    const gchar *arg_returnInterface,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routinginterface_call_register_domain_finish (
    AudiomanagerRoutinginterface *proxy,
    guint16 *out_domainid,
    guint16 *out_error,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routinginterface_call_register_domain_sync (
    AudiomanagerRoutinginterface *proxy,
    GVariant *arg_domaindata,
    const gchar *arg_returnBusname,
    const gchar *arg_returnPath,
    const gchar *arg_returnInterface,
    guint16 *out_domainid,
    guint16 *out_error,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define TYPE_AUDIOMANAGER_ROUTINGINTERFACE_PROXY (audiomanager_routinginterface_proxy_get_type ())
#define AUDIOMANAGER_ROUTINGINTERFACE_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_AUDIOMANAGER_ROUTINGINTERFACE_PROXY, AudiomanagerRoutinginterfaceProxy))
#define AUDIOMANAGER_ROUTINGINTERFACE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_AUDIOMANAGER_ROUTINGINTERFACE_PROXY, AudiomanagerRoutinginterfaceProxyClass))
#define AUDIOMANAGER_ROUTINGINTERFACE_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_AUDIOMANAGER_ROUTINGINTERFACE_PROXY, AudiomanagerRoutinginterfaceProxyClass))
#define IS_AUDIOMANAGER_ROUTINGINTERFACE_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_AUDIOMANAGER_ROUTINGINTERFACE_PROXY))
#define IS_AUDIOMANAGER_ROUTINGINTERFACE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_AUDIOMANAGER_ROUTINGINTERFACE_PROXY))

typedef struct _AudiomanagerRoutinginterfaceProxy AudiomanagerRoutinginterfaceProxy;
typedef struct _AudiomanagerRoutinginterfaceProxyClass AudiomanagerRoutinginterfaceProxyClass;
typedef struct _AudiomanagerRoutinginterfaceProxyPrivate AudiomanagerRoutinginterfaceProxyPrivate;

struct _AudiomanagerRoutinginterfaceProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  AudiomanagerRoutinginterfaceProxyPrivate *priv;
};

struct _AudiomanagerRoutinginterfaceProxyClass
{
  GDBusProxyClass parent_class;
};

GType audiomanager_routinginterface_proxy_get_type (void) G_GNUC_CONST;

void audiomanager_routinginterface_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
AudiomanagerRoutinginterface *audiomanager_routinginterface_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
AudiomanagerRoutinginterface *audiomanager_routinginterface_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void audiomanager_routinginterface_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
AudiomanagerRoutinginterface *audiomanager_routinginterface_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
AudiomanagerRoutinginterface *audiomanager_routinginterface_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define TYPE_AUDIOMANAGER_ROUTINGINTERFACE_SKELETON (audiomanager_routinginterface_skeleton_get_type ())
#define AUDIOMANAGER_ROUTINGINTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_AUDIOMANAGER_ROUTINGINTERFACE_SKELETON, AudiomanagerRoutinginterfaceSkeleton))
#define AUDIOMANAGER_ROUTINGINTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_AUDIOMANAGER_ROUTINGINTERFACE_SKELETON, AudiomanagerRoutinginterfaceSkeletonClass))
#define AUDIOMANAGER_ROUTINGINTERFACE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_AUDIOMANAGER_ROUTINGINTERFACE_SKELETON, AudiomanagerRoutinginterfaceSkeletonClass))
#define IS_AUDIOMANAGER_ROUTINGINTERFACE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_AUDIOMANAGER_ROUTINGINTERFACE_SKELETON))
#define IS_AUDIOMANAGER_ROUTINGINTERFACE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_AUDIOMANAGER_ROUTINGINTERFACE_SKELETON))

typedef struct _AudiomanagerRoutinginterfaceSkeleton AudiomanagerRoutinginterfaceSkeleton;
typedef struct _AudiomanagerRoutinginterfaceSkeletonClass AudiomanagerRoutinginterfaceSkeletonClass;
typedef struct _AudiomanagerRoutinginterfaceSkeletonPrivate AudiomanagerRoutinginterfaceSkeletonPrivate;

struct _AudiomanagerRoutinginterfaceSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  AudiomanagerRoutinginterfaceSkeletonPrivate *priv;
};

struct _AudiomanagerRoutinginterfaceSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType audiomanager_routinginterface_skeleton_get_type (void) G_GNUC_CONST;

AudiomanagerRoutinginterface *audiomanager_routinginterface_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.genivi.audiomanager.routing.soundmanager */

#define TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER (audiomanager_routing_soundmanager_get_type ())
#define AUDIOMANAGER_ROUTING_SOUNDMANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER, AudiomanagerRoutingSoundmanager))
#define IS_AUDIOMANAGER_ROUTING_SOUNDMANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER))
#define AUDIOMANAGER_ROUTING_SOUNDMANAGER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER, AudiomanagerRoutingSoundmanagerIface))

struct _AudiomanagerRoutingSoundmanager;
typedef struct _AudiomanagerRoutingSoundmanager AudiomanagerRoutingSoundmanager;
typedef struct _AudiomanagerRoutingSoundmanagerIface AudiomanagerRoutingSoundmanagerIface;

struct _AudiomanagerRoutingSoundmanagerIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_async_abort) (
    AudiomanagerRoutingSoundmanager *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle);

  gboolean (*handle_async_connect) (
    AudiomanagerRoutingSoundmanager *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    guint16 arg_connectionID,
    guint16 arg_sourceID,
    guint16 arg_sinkID,
    gint arg_connectionFormat);

  gboolean (*handle_async_disconnect) (
    AudiomanagerRoutingSoundmanager *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    guint16 arg_connectionID);

  gboolean (*handle_async_set_sink_volume) (
    AudiomanagerRoutingSoundmanager *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    guint16 arg_sinkID,
    gint16 arg_volume,
    gint16 arg_ramp,
    guint16 arg_time);

  gboolean (*handle_async_set_source_state) (
    AudiomanagerRoutingSoundmanager *object,
    GDBusMethodInvocation *invocation,
    guint16 arg_handle,
    guint16 arg_sourceID,
    gint arg_sourceState);

};

GType audiomanager_routing_soundmanager_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *audiomanager_routing_soundmanager_interface_info (void);
guint audiomanager_routing_soundmanager_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void audiomanager_routing_soundmanager_complete_async_abort (
    AudiomanagerRoutingSoundmanager *object,
    GDBusMethodInvocation *invocation,
    gint16 error);

void audiomanager_routing_soundmanager_complete_async_connect (
    AudiomanagerRoutingSoundmanager *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routing_soundmanager_complete_async_disconnect (
    AudiomanagerRoutingSoundmanager *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routing_soundmanager_complete_async_set_sink_volume (
    AudiomanagerRoutingSoundmanager *object,
    GDBusMethodInvocation *invocation);

void audiomanager_routing_soundmanager_complete_async_set_source_state (
    AudiomanagerRoutingSoundmanager *object,
    GDBusMethodInvocation *invocation);



/* D-Bus method calls: */
void audiomanager_routing_soundmanager_call_async_abort (
    AudiomanagerRoutingSoundmanager *proxy,
    guint16 arg_handle,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routing_soundmanager_call_async_abort_finish (
    AudiomanagerRoutingSoundmanager *proxy,
    gint16 *out_error,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routing_soundmanager_call_async_abort_sync (
    AudiomanagerRoutingSoundmanager *proxy,
    guint16 arg_handle,
    gint16 *out_error,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routing_soundmanager_call_async_connect (
    AudiomanagerRoutingSoundmanager *proxy,
    guint16 arg_handle,
    guint16 arg_connectionID,
    guint16 arg_sourceID,
    guint16 arg_sinkID,
    gint arg_connectionFormat,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routing_soundmanager_call_async_connect_finish (
    AudiomanagerRoutingSoundmanager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routing_soundmanager_call_async_connect_sync (
    AudiomanagerRoutingSoundmanager *proxy,
    guint16 arg_handle,
    guint16 arg_connectionID,
    guint16 arg_sourceID,
    guint16 arg_sinkID,
    gint arg_connectionFormat,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routing_soundmanager_call_async_disconnect (
    AudiomanagerRoutingSoundmanager *proxy,
    guint16 arg_handle,
    guint16 arg_connectionID,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routing_soundmanager_call_async_disconnect_finish (
    AudiomanagerRoutingSoundmanager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routing_soundmanager_call_async_disconnect_sync (
    AudiomanagerRoutingSoundmanager *proxy,
    guint16 arg_handle,
    guint16 arg_connectionID,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routing_soundmanager_call_async_set_sink_volume (
    AudiomanagerRoutingSoundmanager *proxy,
    guint16 arg_handle,
    guint16 arg_sinkID,
    gint16 arg_volume,
    gint16 arg_ramp,
    guint16 arg_time,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routing_soundmanager_call_async_set_sink_volume_finish (
    AudiomanagerRoutingSoundmanager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routing_soundmanager_call_async_set_sink_volume_sync (
    AudiomanagerRoutingSoundmanager *proxy,
    guint16 arg_handle,
    guint16 arg_sinkID,
    gint16 arg_volume,
    gint16 arg_ramp,
    guint16 arg_time,
    GCancellable *cancellable,
    GError **error);

void audiomanager_routing_soundmanager_call_async_set_source_state (
    AudiomanagerRoutingSoundmanager *proxy,
    guint16 arg_handle,
    guint16 arg_sourceID,
    gint arg_sourceState,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean audiomanager_routing_soundmanager_call_async_set_source_state_finish (
    AudiomanagerRoutingSoundmanager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean audiomanager_routing_soundmanager_call_async_set_source_state_sync (
    AudiomanagerRoutingSoundmanager *proxy,
    guint16 arg_handle,
    guint16 arg_sourceID,
    gint arg_sourceState,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY (audiomanager_routing_soundmanager_proxy_get_type ())
#define AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY, AudiomanagerRoutingSoundmanagerProxy))
#define AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY, AudiomanagerRoutingSoundmanagerProxyClass))
#define AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY, AudiomanagerRoutingSoundmanagerProxyClass))
#define IS_AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY))
#define IS_AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_PROXY))

typedef struct _AudiomanagerRoutingSoundmanagerProxy AudiomanagerRoutingSoundmanagerProxy;
typedef struct _AudiomanagerRoutingSoundmanagerProxyClass AudiomanagerRoutingSoundmanagerProxyClass;
typedef struct _AudiomanagerRoutingSoundmanagerProxyPrivate AudiomanagerRoutingSoundmanagerProxyPrivate;

struct _AudiomanagerRoutingSoundmanagerProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  AudiomanagerRoutingSoundmanagerProxyPrivate *priv;
};

struct _AudiomanagerRoutingSoundmanagerProxyClass
{
  GDBusProxyClass parent_class;
};

GType audiomanager_routing_soundmanager_proxy_get_type (void) G_GNUC_CONST;

void audiomanager_routing_soundmanager_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
AudiomanagerRoutingSoundmanager *audiomanager_routing_soundmanager_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
AudiomanagerRoutingSoundmanager *audiomanager_routing_soundmanager_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void audiomanager_routing_soundmanager_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
AudiomanagerRoutingSoundmanager *audiomanager_routing_soundmanager_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
AudiomanagerRoutingSoundmanager *audiomanager_routing_soundmanager_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON (audiomanager_routing_soundmanager_skeleton_get_type ())
#define AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON, AudiomanagerRoutingSoundmanagerSkeleton))
#define AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON, AudiomanagerRoutingSoundmanagerSkeletonClass))
#define AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON, AudiomanagerRoutingSoundmanagerSkeletonClass))
#define IS_AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON))
#define IS_AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_AUDIOMANAGER_ROUTING_SOUNDMANAGER_SKELETON))

typedef struct _AudiomanagerRoutingSoundmanagerSkeleton AudiomanagerRoutingSoundmanagerSkeleton;
typedef struct _AudiomanagerRoutingSoundmanagerSkeletonClass AudiomanagerRoutingSoundmanagerSkeletonClass;
typedef struct _AudiomanagerRoutingSoundmanagerSkeletonPrivate AudiomanagerRoutingSoundmanagerSkeletonPrivate;

struct _AudiomanagerRoutingSoundmanagerSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  AudiomanagerRoutingSoundmanagerSkeletonPrivate *priv;
};

struct _AudiomanagerRoutingSoundmanagerSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType audiomanager_routing_soundmanager_skeleton_get_type (void) G_GNUC_CONST;

AudiomanagerRoutingSoundmanager *audiomanager_routing_soundmanager_skeleton_new (void);


/* ---- */

#define TYPE_OBJECT (object_get_type ())
#define OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_OBJECT, Object))
#define IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_OBJECT))
#define OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TYPE_OBJECT, Object))

struct _Object;
typedef struct _Object Object;
typedef struct _ObjectIface ObjectIface;

struct _ObjectIface
{
  GTypeInterface parent_iface;
};

GType object_get_type (void) G_GNUC_CONST;

AudiomanagerCommandinterface *object_get_audiomanager_commandinterface (Object *object);
AudiomanagerRoutinginterface *object_get_audiomanager_routinginterface (Object *object);
AudiomanagerRoutingSoundmanager *object_get_audiomanager_routing_soundmanager (Object *object);
AudiomanagerCommandinterface *object_peek_audiomanager_commandinterface (Object *object);
AudiomanagerRoutinginterface *object_peek_audiomanager_routinginterface (Object *object);
AudiomanagerRoutingSoundmanager *object_peek_audiomanager_routing_soundmanager (Object *object);

#define TYPE_OBJECT_PROXY (object_proxy_get_type ())
#define OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_OBJECT_PROXY, ObjectProxy))
#define OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_OBJECT_PROXY, ObjectProxyClass))
#define OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_OBJECT_PROXY, ObjectProxyClass))
#define IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_OBJECT_PROXY))
#define IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_OBJECT_PROXY))

typedef struct _ObjectProxy ObjectProxy;
typedef struct _ObjectProxyClass ObjectProxyClass;
typedef struct _ObjectProxyPrivate ObjectProxyPrivate;

struct _ObjectProxy
{
  /*< private >*/
  GDBusObjectProxy parent_instance;
  ObjectProxyPrivate *priv;
};

struct _ObjectProxyClass
{
  GDBusObjectProxyClass parent_class;
};

GType object_proxy_get_type (void) G_GNUC_CONST;
ObjectProxy *object_proxy_new (GDBusConnection *connection, const gchar *object_path);

#define TYPE_OBJECT_SKELETON (object_skeleton_get_type ())
#define OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_OBJECT_SKELETON, ObjectSkeleton))
#define OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_OBJECT_SKELETON, ObjectSkeletonClass))
#define OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_OBJECT_SKELETON, ObjectSkeletonClass))
#define IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_OBJECT_SKELETON))
#define IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_OBJECT_SKELETON))

typedef struct _ObjectSkeleton ObjectSkeleton;
typedef struct _ObjectSkeletonClass ObjectSkeletonClass;
typedef struct _ObjectSkeletonPrivate ObjectSkeletonPrivate;

struct _ObjectSkeleton
{
  /*< private >*/
  GDBusObjectSkeleton parent_instance;
  ObjectSkeletonPrivate *priv;
};

struct _ObjectSkeletonClass
{
  GDBusObjectSkeletonClass parent_class;
};

GType object_skeleton_get_type (void) G_GNUC_CONST;
ObjectSkeleton *object_skeleton_new (const gchar *object_path);
void object_skeleton_set_audiomanager_commandinterface (ObjectSkeleton *object, AudiomanagerCommandinterface *interface_);
void object_skeleton_set_audiomanager_routinginterface (ObjectSkeleton *object, AudiomanagerRoutinginterface *interface_);
void object_skeleton_set_audiomanager_routing_soundmanager (ObjectSkeleton *object, AudiomanagerRoutingSoundmanager *interface_);

/* ---- */

#define TYPE_OBJECT_MANAGER_CLIENT (object_manager_client_get_type ())
#define OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_OBJECT_MANAGER_CLIENT, ObjectManagerClient))
#define OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_OBJECT_MANAGER_CLIENT, ObjectManagerClientClass))
#define OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_OBJECT_MANAGER_CLIENT, ObjectManagerClientClass))
#define IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_OBJECT_MANAGER_CLIENT))
#define IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_OBJECT_MANAGER_CLIENT))

typedef struct _ObjectManagerClient ObjectManagerClient;
typedef struct _ObjectManagerClientClass ObjectManagerClientClass;
typedef struct _ObjectManagerClientPrivate ObjectManagerClientPrivate;

struct _ObjectManagerClient
{
  /*< private >*/
  GDBusObjectManagerClient parent_instance;
  ObjectManagerClientPrivate *priv;
};

struct _ObjectManagerClientClass
{
  GDBusObjectManagerClientClass parent_class;
};

GType object_manager_client_get_type (void) G_GNUC_CONST;

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

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

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