/*
 * This file is generated by gdbus-codegen, do not modify it.
 *
 * The license of this code is the same as for the D-Bus interface description
 * it was derived from. Note that it links to GLib, so must comply with the
 * LGPL linking clauses.
 */

#ifndef __AUD_DBUS_H__
#define __AUD_DBUS_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.atheme.audacious */

#define OBJ_TYPE_AUDACIOUS (obj_audacious_get_type ())
#define OBJ_AUDACIOUS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), OBJ_TYPE_AUDACIOUS, ObjAudacious))
#define OBJ_IS_AUDACIOUS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), OBJ_TYPE_AUDACIOUS))
#define OBJ_AUDACIOUS_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), OBJ_TYPE_AUDACIOUS, ObjAudaciousIface))

struct _ObjAudacious;
typedef struct _ObjAudacious ObjAudacious;
typedef struct _ObjAudaciousIface ObjAudaciousIface;

struct _ObjAudaciousIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_add) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_file);

  gboolean (*handle_add_list) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_filenames);

  gboolean (*handle_add_url) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_url);

  gboolean (*handle_advance) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_advance_album) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_auto_advance) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_balance) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_clear) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_config_get) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_section,
    const gchar *arg_name);

  gboolean (*handle_config_set) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_section,
    const gchar *arg_name,
    const gchar *arg_value);

  gboolean (*handle_delete) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint arg_pos);

  gboolean (*handle_delete_active_playlist) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_eject) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_equalizer_activate) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_active);

  gboolean (*handle_get_active_playlist) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_active_playlist_name) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_eq) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_eq_band) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint arg_band);

  gboolean (*handle_get_eq_preamp) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_info) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_playqueue_length) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_tuple_fields) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_info) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_jump) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint arg_pos);

  gboolean (*handle_length) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_main_win_visible) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_new_playlist) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_number_of_playlists) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_open_list) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_filenames);

  gboolean (*handle_open_list_to_temp) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_filenames);

  gboolean (*handle_pause) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_paused) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_play) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_play_active_playlist) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_play_pause) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_playing) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_playlist_add) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_list);

  gboolean (*handle_playlist_enqueue_to_temp) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_url);

  gboolean (*handle_playlist_ins_url_string) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_url,
    gint arg_pos);

  gboolean (*handle_playlist_save) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_url);

  gboolean (*handle_playqueue_add) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint arg_pos);

  gboolean (*handle_playqueue_clear) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_playqueue_is_queued) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint arg_pos);

  gboolean (*handle_playqueue_remove) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint arg_pos);

  gboolean (*handle_plugin_enable) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_plugin,
    gboolean arg_enable);

  gboolean (*handle_plugin_is_enabled) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_plugin);

  gboolean (*handle_position) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_queue_get_list_pos) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint arg_qpos);

  gboolean (*handle_queue_get_queue_pos) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint arg_pos);

  gboolean (*handle_quit) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_record) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_recording) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_repeat) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_reverse) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_reverse_album) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_seek) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint arg_pos);

  gboolean (*handle_select_displayed_playlist) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_select_playing_playlist) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_set_active_playlist) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint arg_plnum);

  gboolean (*handle_set_active_playlist_name) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_plname);

  gboolean (*handle_set_eq) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gdouble arg_preamp,
    GVariant *arg_bands);

  gboolean (*handle_set_eq_band) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint arg_band,
    gdouble arg_value);

  gboolean (*handle_set_eq_preamp) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gdouble arg_preamp);

  gboolean (*handle_set_volume) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint arg_vl,
    gint arg_vr);

  gboolean (*handle_show_about_box) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_show);

  gboolean (*handle_show_filebrowser) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_show);

  gboolean (*handle_show_jtf_box) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_show);

  gboolean (*handle_show_main_win) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_show);

  gboolean (*handle_show_prefs_box) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_show);

  gboolean (*handle_shuffle) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_song_filename) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint arg_pos);

  gboolean (*handle_song_frames) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint arg_pos);

  gboolean (*handle_song_length) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint arg_pos);

  gboolean (*handle_song_title) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint arg_pos);

  gboolean (*handle_song_tuple) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint arg_pos,
    const gchar *arg_tuple);

  gboolean (*handle_startup_notify) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_id);

  gboolean (*handle_status) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_stop) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_stop_after) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_stopped) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_time) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_toggle_auto_advance) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_toggle_repeat) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_toggle_shuffle) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_toggle_stop_after) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_version) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_volume) (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

};

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

GType obj_audacious_get_type (void);

GDBusInterfaceInfo *obj_audacious_interface_info (void);
guint obj_audacious_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void obj_audacious_complete_version (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *version);

void obj_audacious_complete_plugin_is_enabled (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean enabled);

void obj_audacious_complete_plugin_enable (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_config_get (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *value);

void obj_audacious_complete_config_set (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_quit (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_show_filebrowser (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_eject (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_main_win_visible (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean is_main_win);

void obj_audacious_complete_show_main_win (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_show_prefs_box (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_show_about_box (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_show_jtf_box (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_startup_notify (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_get_tuple_fields (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *fields);

void obj_audacious_complete_play (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_pause (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_play_pause (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_stop (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_playing (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean is_playing);

void obj_audacious_complete_paused (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean is_paused);

void obj_audacious_complete_stopped (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean is_stopped);

void obj_audacious_complete_status (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *status);

void obj_audacious_complete_record (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_recording (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean is_recording);

void obj_audacious_complete_info (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint rate,
    gint freq,
    gint nch);

void obj_audacious_complete_get_info (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint rate,
    gint freq,
    gint nch);

void obj_audacious_complete_time (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint time);

void obj_audacious_complete_seek (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_volume (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint vl,
    gint vr);

void obj_audacious_complete_set_volume (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_balance (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint balance);

void obj_audacious_complete_get_eq (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gdouble preamp,
    GVariant *bands);

void obj_audacious_complete_get_eq_preamp (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gdouble preamp);

void obj_audacious_complete_get_eq_band (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gdouble value);

void obj_audacious_complete_set_eq (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_set_eq_preamp (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_set_eq_band (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_equalizer_activate (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_select_displayed_playlist (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_select_playing_playlist (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_position (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint pos);

void obj_audacious_complete_advance (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_advance_album (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_reverse (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_reverse_album (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_length (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint length);

void obj_audacious_complete_song_title (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *title);

void obj_audacious_complete_song_filename (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *filename);

void obj_audacious_complete_song_length (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint length);

void obj_audacious_complete_song_frames (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint length);

void obj_audacious_complete_song_tuple (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    GVariant *value);

void obj_audacious_complete_jump (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_add (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_add_url (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_playlist_add (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_playlist_ins_url_string (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_add_list (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_open_list (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_playlist_enqueue_to_temp (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_open_list_to_temp (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_delete (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_playlist_save (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean success);

void obj_audacious_complete_clear (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_auto_advance (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean is_advance);

void obj_audacious_complete_toggle_auto_advance (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_repeat (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean is_repeat);

void obj_audacious_complete_toggle_repeat (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_shuffle (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean is_shuffle);

void obj_audacious_complete_toggle_shuffle (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_stop_after (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean is_stopping);

void obj_audacious_complete_toggle_stop_after (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_queue_get_list_pos (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint pos);

void obj_audacious_complete_queue_get_queue_pos (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    guint qpos);

void obj_audacious_complete_get_playqueue_length (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint length);

void obj_audacious_complete_playqueue_add (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_playqueue_remove (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_playqueue_clear (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_playqueue_is_queued (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gboolean is_queued);

void obj_audacious_complete_number_of_playlists (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint count);

void obj_audacious_complete_get_active_playlist (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    gint plnum);

void obj_audacious_complete_set_active_playlist (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_get_active_playlist_name (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation,
    const gchar *plname);

void obj_audacious_complete_set_active_playlist_name (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_new_playlist (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_delete_active_playlist (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);

void obj_audacious_complete_play_active_playlist (
    ObjAudacious *object,
    GDBusMethodInvocation *invocation);



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

gboolean obj_audacious_call_version_finish (
    ObjAudacious *proxy,
    gchar ** out_version,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_version_sync (
    ObjAudacious *proxy,
    gchar ** out_version,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_plugin_is_enabled (
    ObjAudacious *proxy,
    const gchar *arg_plugin,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_plugin_is_enabled_finish (
    ObjAudacious *proxy,
    gboolean* out_enabled,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_plugin_is_enabled_sync (
    ObjAudacious *proxy,
    const gchar *arg_plugin,
    gboolean* out_enabled,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_plugin_enable (
    ObjAudacious *proxy,
    const gchar *arg_plugin,
    gboolean arg_enable,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_plugin_enable_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_plugin_enable_sync (
    ObjAudacious *proxy,
    const gchar *arg_plugin,
    gboolean arg_enable,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_config_get (
    ObjAudacious *proxy,
    const gchar *arg_section,
    const gchar *arg_name,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_config_get_finish (
    ObjAudacious *proxy,
    gchar ** out_value,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_config_get_sync (
    ObjAudacious *proxy,
    const gchar *arg_section,
    const gchar *arg_name,
    gchar ** out_value,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_config_set (
    ObjAudacious *proxy,
    const gchar *arg_section,
    const gchar *arg_name,
    const gchar *arg_value,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_config_set_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_config_set_sync (
    ObjAudacious *proxy,
    const gchar *arg_section,
    const gchar *arg_name,
    const gchar *arg_value,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_quit (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_quit_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_quit_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_show_filebrowser (
    ObjAudacious *proxy,
    gboolean arg_show,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_show_filebrowser_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_show_filebrowser_sync (
    ObjAudacious *proxy,
    gboolean arg_show,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_eject (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_eject_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_eject_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_main_win_visible (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_main_win_visible_finish (
    ObjAudacious *proxy,
    gboolean* out_is_main_win,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_main_win_visible_sync (
    ObjAudacious *proxy,
    gboolean* out_is_main_win,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_show_main_win (
    ObjAudacious *proxy,
    gboolean arg_show,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_show_main_win_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_show_main_win_sync (
    ObjAudacious *proxy,
    gboolean arg_show,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_show_prefs_box (
    ObjAudacious *proxy,
    gboolean arg_show,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_show_prefs_box_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_show_prefs_box_sync (
    ObjAudacious *proxy,
    gboolean arg_show,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_show_about_box (
    ObjAudacious *proxy,
    gboolean arg_show,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_show_about_box_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_show_about_box_sync (
    ObjAudacious *proxy,
    gboolean arg_show,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_show_jtf_box (
    ObjAudacious *proxy,
    gboolean arg_show,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_show_jtf_box_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_show_jtf_box_sync (
    ObjAudacious *proxy,
    gboolean arg_show,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_startup_notify (
    ObjAudacious *proxy,
    const gchar *arg_id,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_startup_notify_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_startup_notify_sync (
    ObjAudacious *proxy,
    const gchar *arg_id,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_get_tuple_fields (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_get_tuple_fields_finish (
    ObjAudacious *proxy,
    gchar *** out_fields,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_get_tuple_fields_sync (
    ObjAudacious *proxy,
    gchar *** out_fields,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_play (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_play_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_play_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_pause (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_pause_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_pause_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_play_pause (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_play_pause_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_play_pause_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_stop (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_stop_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_stop_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_playing (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_playing_finish (
    ObjAudacious *proxy,
    gboolean* out_is_playing,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_playing_sync (
    ObjAudacious *proxy,
    gboolean* out_is_playing,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_paused (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_paused_finish (
    ObjAudacious *proxy,
    gboolean* out_is_paused,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_paused_sync (
    ObjAudacious *proxy,
    gboolean* out_is_paused,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_stopped (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_stopped_finish (
    ObjAudacious *proxy,
    gboolean* out_is_stopped,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_stopped_sync (
    ObjAudacious *proxy,
    gboolean* out_is_stopped,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_status (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_status_finish (
    ObjAudacious *proxy,
    gchar ** out_status,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_status_sync (
    ObjAudacious *proxy,
    gchar ** out_status,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_record (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_record_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_record_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_recording (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_recording_finish (
    ObjAudacious *proxy,
    gboolean* out_is_recording,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_recording_sync (
    ObjAudacious *proxy,
    gboolean* out_is_recording,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_info (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_info_finish (
    ObjAudacious *proxy,
    gint* out_rate,
    gint* out_freq,
    gint* out_nch,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_info_sync (
    ObjAudacious *proxy,
    gint* out_rate,
    gint* out_freq,
    gint* out_nch,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_get_info (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_get_info_finish (
    ObjAudacious *proxy,
    gint* out_rate,
    gint* out_freq,
    gint* out_nch,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_get_info_sync (
    ObjAudacious *proxy,
    gint* out_rate,
    gint* out_freq,
    gint* out_nch,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_time (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_time_finish (
    ObjAudacious *proxy,
    guint* out_time,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_time_sync (
    ObjAudacious *proxy,
    guint* out_time,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_seek (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_seek_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_seek_sync (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_volume (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_volume_finish (
    ObjAudacious *proxy,
    gint* out_vl,
    gint* out_vr,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_volume_sync (
    ObjAudacious *proxy,
    gint* out_vl,
    gint* out_vr,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_set_volume (
    ObjAudacious *proxy,
    gint arg_vl,
    gint arg_vr,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_set_volume_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_set_volume_sync (
    ObjAudacious *proxy,
    gint arg_vl,
    gint arg_vr,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_balance (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_balance_finish (
    ObjAudacious *proxy,
    gint* out_balance,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_balance_sync (
    ObjAudacious *proxy,
    gint* out_balance,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_get_eq (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_get_eq_finish (
    ObjAudacious *proxy,
    gdouble* out_preamp,
    GVariant ** out_bands,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_get_eq_sync (
    ObjAudacious *proxy,
    gdouble* out_preamp,
    GVariant ** out_bands,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_get_eq_preamp (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_get_eq_preamp_finish (
    ObjAudacious *proxy,
    gdouble* out_preamp,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_get_eq_preamp_sync (
    ObjAudacious *proxy,
    gdouble* out_preamp,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_get_eq_band (
    ObjAudacious *proxy,
    gint arg_band,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_get_eq_band_finish (
    ObjAudacious *proxy,
    gdouble* out_value,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_get_eq_band_sync (
    ObjAudacious *proxy,
    gint arg_band,
    gdouble* out_value,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_set_eq (
    ObjAudacious *proxy,
    gdouble arg_preamp,
    GVariant *arg_bands,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_set_eq_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_set_eq_sync (
    ObjAudacious *proxy,
    gdouble arg_preamp,
    GVariant *arg_bands,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_set_eq_preamp (
    ObjAudacious *proxy,
    gdouble arg_preamp,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_set_eq_preamp_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_set_eq_preamp_sync (
    ObjAudacious *proxy,
    gdouble arg_preamp,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_set_eq_band (
    ObjAudacious *proxy,
    gint arg_band,
    gdouble arg_value,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_set_eq_band_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_set_eq_band_sync (
    ObjAudacious *proxy,
    gint arg_band,
    gdouble arg_value,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_equalizer_activate (
    ObjAudacious *proxy,
    gboolean arg_active,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_equalizer_activate_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_equalizer_activate_sync (
    ObjAudacious *proxy,
    gboolean arg_active,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_select_displayed_playlist (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_select_displayed_playlist_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_select_displayed_playlist_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_select_playing_playlist (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_select_playing_playlist_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_select_playing_playlist_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_position (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_position_finish (
    ObjAudacious *proxy,
    guint* out_pos,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_position_sync (
    ObjAudacious *proxy,
    guint* out_pos,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_advance (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_advance_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_advance_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_advance_album (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_advance_album_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_advance_album_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_reverse (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_reverse_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_reverse_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_reverse_album (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_reverse_album_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_reverse_album_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_length (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_length_finish (
    ObjAudacious *proxy,
    gint* out_length,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_length_sync (
    ObjAudacious *proxy,
    gint* out_length,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_song_title (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_song_title_finish (
    ObjAudacious *proxy,
    gchar ** out_title,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_song_title_sync (
    ObjAudacious *proxy,
    guint arg_pos,
    gchar ** out_title,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_song_filename (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_song_filename_finish (
    ObjAudacious *proxy,
    gchar ** out_filename,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_song_filename_sync (
    ObjAudacious *proxy,
    guint arg_pos,
    gchar ** out_filename,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_song_length (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_song_length_finish (
    ObjAudacious *proxy,
    gint* out_length,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_song_length_sync (
    ObjAudacious *proxy,
    guint arg_pos,
    gint* out_length,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_song_frames (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_song_frames_finish (
    ObjAudacious *proxy,
    gint* out_length,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_song_frames_sync (
    ObjAudacious *proxy,
    guint arg_pos,
    gint* out_length,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_song_tuple (
    ObjAudacious *proxy,
    guint arg_pos,
    const gchar *arg_tuple,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_song_tuple_finish (
    ObjAudacious *proxy,
    GVariant ** out_value,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_song_tuple_sync (
    ObjAudacious *proxy,
    guint arg_pos,
    const gchar *arg_tuple,
    GVariant ** out_value,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_jump (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_jump_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_jump_sync (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_add (
    ObjAudacious *proxy,
    const gchar *arg_file,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_add_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_add_sync (
    ObjAudacious *proxy,
    const gchar *arg_file,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_add_url (
    ObjAudacious *proxy,
    const gchar *arg_url,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_add_url_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_add_url_sync (
    ObjAudacious *proxy,
    const gchar *arg_url,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_playlist_add (
    ObjAudacious *proxy,
    const gchar *arg_list,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_playlist_add_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_playlist_add_sync (
    ObjAudacious *proxy,
    const gchar *arg_list,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_playlist_ins_url_string (
    ObjAudacious *proxy,
    const gchar *arg_url,
    gint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_playlist_ins_url_string_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_playlist_ins_url_string_sync (
    ObjAudacious *proxy,
    const gchar *arg_url,
    gint arg_pos,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_add_list (
    ObjAudacious *proxy,
    const gchar *const *arg_filenames,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_add_list_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_add_list_sync (
    ObjAudacious *proxy,
    const gchar *const *arg_filenames,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_open_list (
    ObjAudacious *proxy,
    const gchar *const *arg_filenames,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_open_list_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_open_list_sync (
    ObjAudacious *proxy,
    const gchar *const *arg_filenames,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_playlist_enqueue_to_temp (
    ObjAudacious *proxy,
    const gchar *arg_url,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_playlist_enqueue_to_temp_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_playlist_enqueue_to_temp_sync (
    ObjAudacious *proxy,
    const gchar *arg_url,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_open_list_to_temp (
    ObjAudacious *proxy,
    const gchar *const *arg_filenames,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_open_list_to_temp_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_open_list_to_temp_sync (
    ObjAudacious *proxy,
    const gchar *const *arg_filenames,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_delete (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_delete_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_delete_sync (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_playlist_save (
    ObjAudacious *proxy,
    const gchar *arg_url,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_playlist_save_finish (
    ObjAudacious *proxy,
    gboolean* out_success,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_playlist_save_sync (
    ObjAudacious *proxy,
    const gchar *arg_url,
    gboolean* out_success,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_clear (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_clear_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_clear_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_auto_advance (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_auto_advance_finish (
    ObjAudacious *proxy,
    gboolean* out_is_advance,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_auto_advance_sync (
    ObjAudacious *proxy,
    gboolean* out_is_advance,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_toggle_auto_advance (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_toggle_auto_advance_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_toggle_auto_advance_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_repeat (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_repeat_finish (
    ObjAudacious *proxy,
    gboolean* out_is_repeat,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_repeat_sync (
    ObjAudacious *proxy,
    gboolean* out_is_repeat,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_toggle_repeat (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_toggle_repeat_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_toggle_repeat_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_shuffle (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_shuffle_finish (
    ObjAudacious *proxy,
    gboolean* out_is_shuffle,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_shuffle_sync (
    ObjAudacious *proxy,
    gboolean* out_is_shuffle,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_toggle_shuffle (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_toggle_shuffle_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_toggle_shuffle_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_stop_after (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_stop_after_finish (
    ObjAudacious *proxy,
    gboolean* out_is_stopping,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_stop_after_sync (
    ObjAudacious *proxy,
    gboolean* out_is_stopping,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_toggle_stop_after (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_toggle_stop_after_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_toggle_stop_after_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_queue_get_list_pos (
    ObjAudacious *proxy,
    guint arg_qpos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_queue_get_list_pos_finish (
    ObjAudacious *proxy,
    guint* out_pos,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_queue_get_list_pos_sync (
    ObjAudacious *proxy,
    guint arg_qpos,
    guint* out_pos,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_queue_get_queue_pos (
    ObjAudacious *proxy,
    guint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_queue_get_queue_pos_finish (
    ObjAudacious *proxy,
    guint* out_qpos,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_queue_get_queue_pos_sync (
    ObjAudacious *proxy,
    guint arg_pos,
    guint* out_qpos,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_get_playqueue_length (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_get_playqueue_length_finish (
    ObjAudacious *proxy,
    gint* out_length,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_get_playqueue_length_sync (
    ObjAudacious *proxy,
    gint* out_length,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_playqueue_add (
    ObjAudacious *proxy,
    gint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_playqueue_add_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_playqueue_add_sync (
    ObjAudacious *proxy,
    gint arg_pos,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_playqueue_remove (
    ObjAudacious *proxy,
    gint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_playqueue_remove_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_playqueue_remove_sync (
    ObjAudacious *proxy,
    gint arg_pos,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_playqueue_clear (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_playqueue_clear_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_playqueue_clear_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_playqueue_is_queued (
    ObjAudacious *proxy,
    gint arg_pos,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_playqueue_is_queued_finish (
    ObjAudacious *proxy,
    gboolean* out_is_queued,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_playqueue_is_queued_sync (
    ObjAudacious *proxy,
    gint arg_pos,
    gboolean* out_is_queued,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_number_of_playlists (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_number_of_playlists_finish (
    ObjAudacious *proxy,
    gint* out_count,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_number_of_playlists_sync (
    ObjAudacious *proxy,
    gint* out_count,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_get_active_playlist (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_get_active_playlist_finish (
    ObjAudacious *proxy,
    gint* out_plnum,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_get_active_playlist_sync (
    ObjAudacious *proxy,
    gint* out_plnum,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_set_active_playlist (
    ObjAudacious *proxy,
    gint arg_plnum,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_set_active_playlist_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_set_active_playlist_sync (
    ObjAudacious *proxy,
    gint arg_plnum,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_get_active_playlist_name (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_get_active_playlist_name_finish (
    ObjAudacious *proxy,
    gchar ** out_plname,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_get_active_playlist_name_sync (
    ObjAudacious *proxy,
    gchar ** out_plname,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_set_active_playlist_name (
    ObjAudacious *proxy,
    const gchar *arg_plname,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_set_active_playlist_name_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_set_active_playlist_name_sync (
    ObjAudacious *proxy,
    const gchar *arg_plname,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_new_playlist (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_new_playlist_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_new_playlist_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_delete_active_playlist (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_delete_active_playlist_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_delete_active_playlist_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);

void obj_audacious_call_play_active_playlist (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean obj_audacious_call_play_active_playlist_finish (
    ObjAudacious *proxy,
    GAsyncResult *res,
    GError **error);

gboolean obj_audacious_call_play_active_playlist_sync (
    ObjAudacious *proxy,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define OBJ_TYPE_AUDACIOUS_PROXY (obj_audacious_proxy_get_type ())
#define OBJ_AUDACIOUS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), OBJ_TYPE_AUDACIOUS_PROXY, ObjAudaciousProxy))
#define OBJ_AUDACIOUS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), OBJ_TYPE_AUDACIOUS_PROXY, ObjAudaciousProxyClass))
#define OBJ_AUDACIOUS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), OBJ_TYPE_AUDACIOUS_PROXY, ObjAudaciousProxyClass))
#define OBJ_IS_AUDACIOUS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), OBJ_TYPE_AUDACIOUS_PROXY))
#define OBJ_IS_AUDACIOUS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), OBJ_TYPE_AUDACIOUS_PROXY))

typedef struct _ObjAudaciousProxy ObjAudaciousProxy;
typedef struct _ObjAudaciousProxyClass ObjAudaciousProxyClass;
typedef struct _ObjAudaciousProxyPrivate ObjAudaciousProxyPrivate;

struct _ObjAudaciousProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  ObjAudaciousProxyPrivate *priv;
};

struct _ObjAudaciousProxyClass
{
  GDBusProxyClass parent_class;
};

GType obj_audacious_proxy_get_type (void);

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

void obj_audacious_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
ObjAudacious *obj_audacious_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
ObjAudacious *obj_audacious_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void obj_audacious_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
ObjAudacious *obj_audacious_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
ObjAudacious *obj_audacious_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define OBJ_TYPE_AUDACIOUS_SKELETON (obj_audacious_skeleton_get_type ())
#define OBJ_AUDACIOUS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), OBJ_TYPE_AUDACIOUS_SKELETON, ObjAudaciousSkeleton))
#define OBJ_AUDACIOUS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), OBJ_TYPE_AUDACIOUS_SKELETON, ObjAudaciousSkeletonClass))
#define OBJ_AUDACIOUS_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), OBJ_TYPE_AUDACIOUS_SKELETON, ObjAudaciousSkeletonClass))
#define OBJ_IS_AUDACIOUS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), OBJ_TYPE_AUDACIOUS_SKELETON))
#define OBJ_IS_AUDACIOUS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), OBJ_TYPE_AUDACIOUS_SKELETON))

typedef struct _ObjAudaciousSkeleton ObjAudaciousSkeleton;
typedef struct _ObjAudaciousSkeletonClass ObjAudaciousSkeletonClass;
typedef struct _ObjAudaciousSkeletonPrivate ObjAudaciousSkeletonPrivate;

struct _ObjAudaciousSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  ObjAudaciousSkeletonPrivate *priv;
};

struct _ObjAudaciousSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType obj_audacious_skeleton_get_type (void);

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

ObjAudacious *obj_audacious_skeleton_new (void);


G_END_DECLS

#endif /* __AUD_DBUS_H__ */
