G_BEGIN_DECLS

typedef void (*tp_cli_media_stream_handler_signal_callback_add_remote_candidate) (TpMediaStreamHandler *proxy,
    const gchar *arg_candidate_id,
    const GPtrArray *arg_transports,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_media_stream_handler_connect_to_add_remote_candidate (TpMediaStreamHandler *proxy,
    tp_cli_media_stream_handler_signal_callback_add_remote_candidate callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_media_stream_handler_signal_callback_close) (TpMediaStreamHandler *proxy,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_media_stream_handler_connect_to_close (TpMediaStreamHandler *proxy,
    tp_cli_media_stream_handler_signal_callback_close callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_media_stream_handler_signal_callback_remove_remote_candidate) (TpMediaStreamHandler *proxy,
    const gchar *arg_candidate_id,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_media_stream_handler_connect_to_remove_remote_candidate (TpMediaStreamHandler *proxy,
    tp_cli_media_stream_handler_signal_callback_remove_remote_candidate callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_media_stream_handler_signal_callback_set_active_candidate_pair) (TpMediaStreamHandler *proxy,
    const gchar *arg_native_candidate_id,
    const gchar *arg_remote_candidate_id,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_media_stream_handler_connect_to_set_active_candidate_pair (TpMediaStreamHandler *proxy,
    tp_cli_media_stream_handler_signal_callback_set_active_candidate_pair callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_media_stream_handler_signal_callback_set_remote_candidate_list) (TpMediaStreamHandler *proxy,
    const GPtrArray *arg_remote_candidates,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_media_stream_handler_connect_to_set_remote_candidate_list (TpMediaStreamHandler *proxy,
    tp_cli_media_stream_handler_signal_callback_set_remote_candidate_list callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_media_stream_handler_signal_callback_set_remote_codecs) (TpMediaStreamHandler *proxy,
    const GPtrArray *arg_codecs,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_media_stream_handler_connect_to_set_remote_codecs (TpMediaStreamHandler *proxy,
    tp_cli_media_stream_handler_signal_callback_set_remote_codecs callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_media_stream_handler_signal_callback_set_stream_playing) (TpMediaStreamHandler *proxy,
    gboolean arg_playing,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_media_stream_handler_connect_to_set_stream_playing (TpMediaStreamHandler *proxy,
    tp_cli_media_stream_handler_signal_callback_set_stream_playing callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_media_stream_handler_signal_callback_set_stream_sending) (TpMediaStreamHandler *proxy,
    gboolean arg_sending,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_media_stream_handler_connect_to_set_stream_sending (TpMediaStreamHandler *proxy,
    tp_cli_media_stream_handler_signal_callback_set_stream_sending callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_media_stream_handler_signal_callback_start_telephony_event) (TpMediaStreamHandler *proxy,
    guchar arg_event,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_media_stream_handler_connect_to_start_telephony_event (TpMediaStreamHandler *proxy,
    tp_cli_media_stream_handler_signal_callback_start_telephony_event callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_media_stream_handler_signal_callback_stop_telephony_event) (TpMediaStreamHandler *proxy,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_media_stream_handler_connect_to_stop_telephony_event (TpMediaStreamHandler *proxy,
    tp_cli_media_stream_handler_signal_callback_stop_telephony_event callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_media_stream_handler_callback_for_codec_choice) (TpMediaStreamHandler *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *tp_cli_media_stream_handler_call_codec_choice (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    guint in_codec_id,
    tp_cli_media_stream_handler_callback_for_codec_choice callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_media_stream_handler_run_codec_choice (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    guint in_codec_id,
    GError **error,
    GMainLoop **loop);


typedef void (*tp_cli_media_stream_handler_callback_for_error) (TpMediaStreamHandler *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *tp_cli_media_stream_handler_call_error (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    guint in_errno,
    const gchar *in_message,
    tp_cli_media_stream_handler_callback_for_error callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_media_stream_handler_run_error (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    guint in_errno,
    const gchar *in_message,
    GError **error,
    GMainLoop **loop);


typedef void (*tp_cli_media_stream_handler_callback_for_native_candidates_prepared) (TpMediaStreamHandler *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *tp_cli_media_stream_handler_call_native_candidates_prepared (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    tp_cli_media_stream_handler_callback_for_native_candidates_prepared callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_media_stream_handler_run_native_candidates_prepared (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    GError **error,
    GMainLoop **loop);


typedef void (*tp_cli_media_stream_handler_callback_for_new_active_candidate_pair) (TpMediaStreamHandler *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *tp_cli_media_stream_handler_call_new_active_candidate_pair (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    const gchar *in_native_candidate_id,
    const gchar *in_remote_candidate_id,
    tp_cli_media_stream_handler_callback_for_new_active_candidate_pair callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_media_stream_handler_run_new_active_candidate_pair (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    const gchar *in_native_candidate_id,
    const gchar *in_remote_candidate_id,
    GError **error,
    GMainLoop **loop);


typedef void (*tp_cli_media_stream_handler_callback_for_new_native_candidate) (TpMediaStreamHandler *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *tp_cli_media_stream_handler_call_new_native_candidate (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    const gchar *in_candidate_id,
    const GPtrArray *in_transports,
    tp_cli_media_stream_handler_callback_for_new_native_candidate callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_media_stream_handler_run_new_native_candidate (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    const gchar *in_candidate_id,
    const GPtrArray *in_transports,
    GError **error,
    GMainLoop **loop);


typedef void (*tp_cli_media_stream_handler_callback_for_ready) (TpMediaStreamHandler *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *tp_cli_media_stream_handler_call_ready (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    const GPtrArray *in_codecs,
    tp_cli_media_stream_handler_callback_for_ready callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_media_stream_handler_run_ready (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    const GPtrArray *in_codecs,
    GError **error,
    GMainLoop **loop);


typedef void (*tp_cli_media_stream_handler_callback_for_set_local_codecs) (TpMediaStreamHandler *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *tp_cli_media_stream_handler_call_set_local_codecs (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    const GPtrArray *in_codecs,
    tp_cli_media_stream_handler_callback_for_set_local_codecs callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_media_stream_handler_run_set_local_codecs (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    const GPtrArray *in_codecs,
    GError **error,
    GMainLoop **loop);


typedef void (*tp_cli_media_stream_handler_callback_for_stream_state) (TpMediaStreamHandler *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *tp_cli_media_stream_handler_call_stream_state (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    guint in_state,
    tp_cli_media_stream_handler_callback_for_stream_state callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_media_stream_handler_run_stream_state (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    guint in_state,
    GError **error,
    GMainLoop **loop);


typedef void (*tp_cli_media_stream_handler_callback_for_supported_codecs) (TpMediaStreamHandler *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *tp_cli_media_stream_handler_call_supported_codecs (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    const GPtrArray *in_codecs,
    tp_cli_media_stream_handler_callback_for_supported_codecs callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_media_stream_handler_run_supported_codecs (TpMediaStreamHandler *proxy,
    gint timeout_ms,
    const GPtrArray *in_codecs,
    GError **error,
    GMainLoop **loop);


G_END_DECLS
