G_BEGIN_DECLS

typedef void (*tp_cli_connection_manager_signal_callback_new_connection) (TpConnectionManager *proxy,
    const gchar *arg_bus_name,
    const gchar *arg_object_path,
    const gchar *arg_proto,
    gpointer user_data, GObject *weak_object);
TpProxySignalConnection *tp_cli_connection_manager_connect_to_new_connection (TpConnectionManager *proxy,
    tp_cli_connection_manager_signal_callback_new_connection callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object,
    GError **error);

typedef void (*tp_cli_connection_manager_callback_for_get_parameters) (TpConnectionManager *proxy,
    const GPtrArray *out0,
    const GError *error, gpointer user_data,
    GObject *weak_object);

TpProxyPendingCall *tp_cli_connection_manager_call_get_parameters (TpConnectionManager *proxy,
    gint timeout_ms,
    const gchar *in_proto,
    tp_cli_connection_manager_callback_for_get_parameters callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_connection_manager_run_get_parameters (TpConnectionManager *proxy,
    gint timeout_ms,
    const gchar *in_proto,
    GPtrArray **out0,
    GError **error,
    GMainLoop **loop);


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

TpProxyPendingCall *tp_cli_connection_manager_call_list_protocols (TpConnectionManager *proxy,
    gint timeout_ms,
    tp_cli_connection_manager_callback_for_list_protocols callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_connection_manager_run_list_protocols (TpConnectionManager *proxy,
    gint timeout_ms,
    gchar ***out0,
    GError **error,
    GMainLoop **loop);


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

TpProxyPendingCall *tp_cli_connection_manager_call_request_connection (TpConnectionManager *proxy,
    gint timeout_ms,
    const gchar *in_proto,
    GHashTable *in_parameters,
    tp_cli_connection_manager_callback_for_request_connection callback,
    gpointer user_data,
    GDestroyNotify destroy,
    GObject *weak_object);

gboolean tp_cli_connection_manager_run_request_connection (TpConnectionManager *proxy,
    gint timeout_ms,
    const gchar *in_proto,
    GHashTable *in_parameters,
    gchar **out0,
    gchar **out1,
    GError **error,
    GMainLoop **loop);


G_END_DECLS
