G_BEGIN_DECLS

typedef void (*mc_cli_nmc4_signal_callback_account_presence_changed) (TpProxy *proxy,
    guint arg_status,
    guint arg_presence,
    const gchar *arg_message,
    guint arg_reason,
    const gchar *arg_account_id,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *mc_cli_nmc4_connect_to_account_presence_changed (gpointer proxy,
    mc_cli_nmc4_signal_callback_account_presence_changed callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*mc_cli_nmc4_signal_callback_account_status_changed) (TpProxy *proxy,
    guint arg_status,
    guint arg_presence,
    guint arg_reason,
    const gchar *arg_account_id,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *mc_cli_nmc4_connect_to_account_status_changed (gpointer proxy,
    mc_cli_nmc4_signal_callback_account_status_changed callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*mc_cli_nmc4_signal_callback_mcd_error) (TpProxy *proxy,
    guint arg_serial,
    const gchar *arg_client_id,
    guint arg_error_id,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *mc_cli_nmc4_connect_to_mcd_error (gpointer proxy,
    mc_cli_nmc4_signal_callback_mcd_error callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*mc_cli_nmc4_signal_callback_presence_requested) (TpProxy *proxy,
    guint arg_presence,
    const gchar *arg_message,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *mc_cli_nmc4_connect_to_presence_requested (gpointer proxy,
    mc_cli_nmc4_signal_callback_presence_requested callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*mc_cli_nmc4_signal_callback_presence_status_requested) (TpProxy *proxy,
    guint arg_presence,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *mc_cli_nmc4_connect_to_presence_status_requested (gpointer proxy,
    mc_cli_nmc4_signal_callback_presence_status_requested callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*mc_cli_nmc4_signal_callback_presence_changed) (TpProxy *proxy,
    guint arg_presence,
    const gchar *arg_message,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *mc_cli_nmc4_connect_to_presence_changed (gpointer proxy,
    mc_cli_nmc4_signal_callback_presence_changed callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*mc_cli_nmc4_signal_callback_presence_status_actual) (TpProxy *proxy,
    guint arg_presence,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *mc_cli_nmc4_connect_to_presence_status_actual (gpointer proxy,
    mc_cli_nmc4_signal_callback_presence_status_actual callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*mc_cli_nmc4_signal_callback_used_channels_count_changed) (TpProxy *proxy,
    const gchar *arg_type,
    guint arg_count,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *mc_cli_nmc4_connect_to_used_channels_count_changed (gpointer proxy,
    mc_cli_nmc4_signal_callback_used_channels_count_changed callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*mc_cli_nmc4_signal_callback_status_actual) (TpProxy *proxy,
    guint arg_status,
    guint arg_presence,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *mc_cli_nmc4_connect_to_status_actual (gpointer proxy,
    mc_cli_nmc4_signal_callback_status_actual callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*mc_cli_nmc4_callback_for_set_presence) (TpProxy *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_set_presence (gpointer proxy,
    gint timeout_ms,
    guint in_presence,
    const gchar *in_message,
    mc_cli_nmc4_callback_for_set_presence callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_set_presence (gpointer proxy,
    gint timeout_ms,
    guint in_presence,
    const gchar *in_message,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_get_presence) (TpProxy *proxy,
    guint out0,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_get_presence (gpointer proxy,
    gint timeout_ms,
    mc_cli_nmc4_callback_for_get_presence callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_get_presence (gpointer proxy,
    gint timeout_ms,
    guint *out0,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_get_presence_message) (TpProxy *proxy,
    const gchar *out0,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_get_presence_message (gpointer proxy,
    gint timeout_ms,
    mc_cli_nmc4_callback_for_get_presence_message callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_get_presence_message (gpointer proxy,
    gint timeout_ms,
    gchar **out0,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_get_presence_actual) (TpProxy *proxy,
    guint out0,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_get_presence_actual (gpointer proxy,
    gint timeout_ms,
    mc_cli_nmc4_callback_for_get_presence_actual callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_get_presence_actual (gpointer proxy,
    gint timeout_ms,
    guint *out0,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_get_presence_message_actual) (TpProxy *proxy,
    const gchar *out0,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_get_presence_message_actual (gpointer proxy,
    gint timeout_ms,
    mc_cli_nmc4_callback_for_get_presence_message_actual callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_get_presence_message_actual (gpointer proxy,
    gint timeout_ms,
    gchar **out0,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_request_channel) (TpProxy *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_request_channel (gpointer proxy,
    gint timeout_ms,
    const gchar *in_account_name,
    const gchar *in_type,
    guint in_handle,
    gint in_handle_type,
    guint in_serial,
    mc_cli_nmc4_callback_for_request_channel callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_request_channel (gpointer proxy,
    gint timeout_ms,
    const gchar *in_account_name,
    const gchar *in_type,
    guint in_handle,
    gint in_handle_type,
    guint in_serial,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_request_channel_with_string_handle) (TpProxy *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_request_channel_with_string_handle (gpointer proxy,
    gint timeout_ms,
    const gchar *in_account_name,
    const gchar *in_type,
    const gchar *in_handle,
    gint in_handle_type,
    guint in_serial,
    mc_cli_nmc4_callback_for_request_channel_with_string_handle callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_request_channel_with_string_handle (gpointer proxy,
    gint timeout_ms,
    const gchar *in_account_name,
    const gchar *in_type,
    const gchar *in_handle,
    gint in_handle_type,
    guint in_serial,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_cancel_channel_request) (TpProxy *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_cancel_channel_request (gpointer proxy,
    gint timeout_ms,
    guint in_operation_id,
    mc_cli_nmc4_callback_for_cancel_channel_request callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_cancel_channel_request (gpointer proxy,
    gint timeout_ms,
    guint in_operation_id,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_connect_all_with_default_presence) (TpProxy *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_connect_all_with_default_presence (gpointer proxy,
    gint timeout_ms,
    mc_cli_nmc4_callback_for_connect_all_with_default_presence callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_connect_all_with_default_presence (gpointer proxy,
    gint timeout_ms,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_get_connection_status) (TpProxy *proxy,
    guint out0,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_get_connection_status (gpointer proxy,
    gint timeout_ms,
    const gchar *in_account_name,
    mc_cli_nmc4_callback_for_get_connection_status callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_get_connection_status (gpointer proxy,
    gint timeout_ms,
    const gchar *in_account_name,
    guint *out0,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_get_online_connections) (TpProxy *proxy,
    const gchar **out0,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_get_online_connections (gpointer proxy,
    gint timeout_ms,
    mc_cli_nmc4_callback_for_get_online_connections callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_get_online_connections (gpointer proxy,
    gint timeout_ms,
    gchar ***out0,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_get_connection) (TpProxy *proxy,
    const gchar *out0,
    const gchar *out1,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_get_connection (gpointer proxy,
    gint timeout_ms,
    const gchar *in_account_name,
    mc_cli_nmc4_callback_for_get_connection callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_get_connection (gpointer proxy,
    gint timeout_ms,
    const gchar *in_account_name,
    gchar **out0,
    gchar **out1,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_get_account_for_connection) (TpProxy *proxy,
    const gchar *out0,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_get_account_for_connection (gpointer proxy,
    gint timeout_ms,
    const gchar *in_object_path,
    mc_cli_nmc4_callback_for_get_account_for_connection callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_get_account_for_connection (gpointer proxy,
    gint timeout_ms,
    const gchar *in_object_path,
    gchar **out0,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_get_used_channels_count) (TpProxy *proxy,
    guint out0,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_get_used_channels_count (gpointer proxy,
    gint timeout_ms,
    const gchar *in_type,
    mc_cli_nmc4_callback_for_get_used_channels_count callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_get_used_channels_count (gpointer proxy,
    gint timeout_ms,
    const gchar *in_type,
    guint *out0,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_get_current_status) (TpProxy *proxy,
    guint out_status,
    guint out_presence,
    guint out_requested_presence,
    const GPtrArray *out_accounts,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_get_current_status (gpointer proxy,
    gint timeout_ms,
    mc_cli_nmc4_callback_for_get_current_status callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_get_current_status (gpointer proxy,
    gint timeout_ms,
    guint *out_status,
    guint *out_presence,
    guint *out_requested_presence,
    GPtrArray **out_accounts,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_remote_avatar_changed) (TpProxy *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_remote_avatar_changed (gpointer proxy,
    gint timeout_ms,
    const gchar *in_object_path,
    guint in_contact_id,
    const gchar *in_token,
    mc_cli_nmc4_callback_for_remote_avatar_changed callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_remote_avatar_changed (gpointer proxy,
    gint timeout_ms,
    const gchar *in_object_path,
    guint in_contact_id,
    const gchar *in_token,
    GError **error,
    GMainLoop **loop);


typedef void (*mc_cli_nmc4_callback_for_register_filter) (TpProxy *proxy,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *mc_cli_nmc4_call_register_filter (gpointer proxy,
    gint timeout_ms,
    const gchar *in_bus_name,
    const gchar *in_object_path,
    const gchar *in_channel_type,
    guint in_priority,
    guint in_flag,
    mc_cli_nmc4_callback_for_register_filter callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean mc_cli_nmc4_run_register_filter (gpointer proxy,
    gint timeout_ms,
    const gchar *in_bus_name,
    const gchar *in_object_path,
    const gchar *in_channel_type,
    guint in_priority,
    guint in_flag,
    GError **error,
    GMainLoop **loop);


G_END_DECLS
