static void inf_test_mass_join_explore_finished_cb(InfRequest* request, const InfRequestResult* result, const GError* error, gpointer user_data) { InfTestMassJoiner* joiner; InfBrowser* browser; InfBrowserIter iter; const char* name; gboolean document_exists; joiner = (InfTestMassJoiner*)user_data; browser = INF_BROWSER(joiner->browser); inf_browser_get_root(browser, &iter); if(inf_browser_get_child(browser, &iter) == FALSE) { fprintf( stderr, "Joiner %s: Document %s does not exist\n", joiner->username, joiner->document ); inf_xml_connection_close(infc_browser_get_connection(joiner->browser)); } document_exists = FALSE; do { name = inf_browser_get_node_name(browser, &iter); if(strcmp(name, joiner->document) == 0) { document_exists = TRUE; inf_browser_subscribe( browser, &iter, inf_test_mass_join_subscribe_finished_cb, joiner ); break; } } while(inf_browser_get_next(browser, &iter) == TRUE); if(!document_exists) { fprintf( stderr, "Joiner %s: Document %s does not exist\n", joiner->username, joiner->document ); inf_xml_connection_close(infc_browser_get_connection(joiner->browser)); } }
void XmlConnection::close() { InfXmlConnection *infXmlConnection; infXmlConnection = INF_XML_CONNECTION(gobject()); inf_xml_connection_close( infXmlConnection ); }
static void inf_test_mass_join_user_join_finished_cb(InfRequest* request, const InfRequestResult* result, const GError* error, gpointer user_data) { InfTestMassJoiner* joiner; joiner = (InfTestMassJoiner*)user_data; if(error == NULL) { fprintf(stdout, "Joiner %s: User joined!\n", joiner->username); } else { fprintf( stderr, "Joiner %s: User join failed: %s\n", joiner->username, error->message ); inf_xml_connection_close(infc_browser_get_connection(joiner->browser)); } }
static void inf_test_mass_join_subscribe_finished_cb(InfRequest* request, const InfRequestResult* result, const GError* error, gpointer user_data) { InfTestMassJoiner* joiner; const InfBrowserIter* iter; InfSession* session; joiner = (InfTestMassJoiner*)user_data; inf_request_result_get_subscribe_session(result, NULL, &iter, NULL); joiner->session = INFC_SESSION_PROXY( inf_browser_get_session( INF_BROWSER(joiner->browser), iter ) ); g_assert(joiner->session != NULL); g_object_get(G_OBJECT(joiner->session), "session", &session, NULL); switch(inf_session_get_status(session)) { case INF_SESSION_PRESYNC: case INF_SESSION_SYNCHRONIZING: g_signal_connect_after( G_OBJECT(session), "synchronization-failed", G_CALLBACK(inf_test_mass_join_session_synchronization_failed_cb), joiner ); g_signal_connect_after( G_OBJECT(session), "synchronization-complete", G_CALLBACK(inf_test_mass_join_session_synchronization_complete_cb), joiner ); break; case INF_SESSION_RUNNING: inf_test_mass_join_join_user(joiner); break; case INF_SESSION_CLOSED: fprintf( stderr, "Joiner %s: Session closed after subscription\n", joiner->username ); inf_xml_connection_close(infc_browser_get_connection(joiner->browser)); break; } g_object_unref(session); }
void Gobby::BrowserContextCommands::on_disconnect(InfcBrowser* browser) { InfXmlConnection* connection = infc_browser_get_connection(browser); InfXmlConnectionStatus status; g_object_get(G_OBJECT(connection), "status", &status, NULL); if(status != INF_XML_CONNECTION_CLOSED && status != INF_XML_CONNECTION_CLOSING) { inf_xml_connection_close(connection); } }
static void inf_test_mass_join_session_synchronization_failed_cb(InfSession* session, InfXmlConnection* connection, const GError* error, gpointer user_data) { InfTestMassJoiner* joiner; joiner = (InfTestMassJoiner*)user_data; fprintf( stderr, "Joiner %s: Session synchronization failed: %s\n", joiner->username, error->message ); inf_xml_connection_close(infc_browser_get_connection(joiner->browser)); }
void on_action_session_disconnect (GtkAction *action, GeditCollaborationWindowHelper *helper) { GtkTreeIter iter; GtkTreeIter selected; InfcBrowser *browser; InfXmlConnection *connection; if (!inf_gtk_browser_view_get_selected (INF_GTK_BROWSER_VIEW (helper->priv->browser_view), &selected)) { return; } gtk_tree_model_sort_convert_iter_to_child_iter ( GTK_TREE_MODEL_SORT ( gtk_tree_view_get_model ( GTK_TREE_VIEW (helper->priv->browser_view) ) ), &iter, &selected ); gtk_tree_model_get (GTK_TREE_MODEL (helper->priv->browser_store), &iter, INF_GTK_BROWSER_MODEL_COL_BROWSER, &browser, -1); if (browser == NULL) { return; } connection = infc_browser_get_connection (browser); inf_xml_connection_close (connection); inf_gtk_browser_store_clear_connection_error (helper->priv->browser_store, connection); g_object_unref (browser); }
void on_action_item_delete (GtkAction *action, GeditCollaborationWindowHelper *helper) { GtkTreeIter iter; GtkTreeIter selected; InfcBrowser *browser; InfcBrowserIter *browser_iter; InfcBrowserIter parent; if (!inf_gtk_browser_view_get_selected (INF_GTK_BROWSER_VIEW (helper->priv->browser_view), &selected)) { return; } gtk_tree_model_sort_convert_iter_to_child_iter ( GTK_TREE_MODEL_SORT ( gtk_tree_view_get_model ( GTK_TREE_VIEW (helper->priv->browser_view) ) ), &iter, &selected ); gtk_tree_model_get (GTK_TREE_MODEL (helper->priv->browser_store), &iter, INF_GTK_BROWSER_MODEL_COL_BROWSER, &browser, INF_GTK_BROWSER_MODEL_COL_NODE, &browser_iter, -1); parent = *browser_iter; if (!infc_browser_iter_get_parent (browser, &parent)) { /* Toplevel bookmark */ InfXmlConnection *connection = infc_browser_get_connection (browser); GeditCollaborationBookmarks *bookmarks; GeditCollaborationBookmark *bookmark = g_object_get_data (G_OBJECT (connection), BOOKMARK_DATA_KEY); /* Close connection first */ if (infc_browser_get_status (browser) != INFC_BROWSER_DISCONNECTED) { inf_xml_connection_close (connection); } inf_gtk_browser_store_remove_connection (helper->priv->browser_store, connection); bookmarks = gedit_collaboration_bookmarks_get_default (); gedit_collaboration_bookmarks_remove (bookmarks, bookmark); } else { /* Remove the iter itself */ infc_browser_remove_node (browser, browser_iter); } g_object_unref (browser); if (browser_iter) { infc_browser_iter_free (browser_iter); } }
void Gobby::SelfHoster::directory_foreach_func_close_static( InfXmlConnection* connection, gpointer user_data) { inf_xml_connection_close(connection); }