static void ft_manager_start_transfer (EmpathyFTManager *manager, EmpathyFTHandler *handler) { gboolean is_outgoing; is_outgoing = !empathy_ft_handler_is_incoming (handler); DEBUG ("Start transfer, is outgoing %s", is_outgoing ? "True" : "False"); /* now connect the signals */ g_signal_connect (handler, "transfer-error", G_CALLBACK (ft_handler_transfer_error_cb), manager); if (is_outgoing && empathy_ft_handler_get_use_hash (handler)) { g_signal_connect (handler, "hashing-started", G_CALLBACK (ft_handler_hashing_started_cb), manager); } else { /* either incoming or outgoing without hash */ g_signal_connect (handler, "transfer-started", G_CALLBACK (ft_handler_transfer_started_cb), manager); } empathy_ft_handler_start_transfer (handler); }
static void handler_ready_cb (EmpathyFTFactory *fact, EmpathyFTHandler *handler, GError *error, NstPlugin *plugin) { if (error != NULL) { GtkWidget *dialog; dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", error->message ? error->message : _("No error message")); g_signal_connect (dialog, "response", G_CALLBACK (error_dialog_cb), NULL); gtk_widget_show (dialog); } else { g_signal_connect (handler, "transfer-done", G_CALLBACK (transfer_done_cb), plugin); g_signal_connect (handler, "transfer-error", G_CALLBACK (transfer_error_cb), plugin); empathy_ft_handler_start_transfer (handler); } }