void Gobby::Browser::on_set_browser(GtkTreeIter* iter, InfBrowser* old_browser, InfBrowser* new_browser) { if(new_browser) { if(INFC_IS_BROWSER(new_browser)) { InfcBrowser* browser = INFC_BROWSER(new_browser); infc_browser_add_plugin(browser, Plugins::C_TEXT); infc_browser_add_plugin(browser, Plugins::C_CHAT); } else if(INFD_IS_DIRECTORY(new_browser)) { InfdDirectory* directory = INFD_DIRECTORY(new_browser); infd_directory_add_plugin(directory, Plugins::D_TEXT); } } }
static void on_set_browser(InfGtkBrowserModel* model, GtkTreePath* path, GtkTreeIter* iter, InfcBrowser* browser, gpointer user_data) { if(browser != NULL) { infc_browser_add_plugin(browser, &INF_TEST_GTK_BROWSER_TEXT_PLUGIN); g_signal_connect_after( G_OBJECT(browser), "subscribe-session", G_CALLBACK(on_subscribe_session), NULL ); } }
static void on_set_browser (InfGtkBrowserModel *model, GtkTreePath *path, GtkTreeIter *iter, InfcBrowser *browser, GeditCollaborationWindowHelper *helper) { if (browser != NULL) { infc_browser_add_plugin (browser, gedit_collaboration_manager_get_note_plugin (helper->priv->manager)); g_signal_connect (browser, "notify::status", G_CALLBACK (on_browser_status_changed), helper); } update_sensitivity (helper); }
static void inf_test_mass_join_connect(InfTestMassJoin* massjoin, const char* hostname, guint port, const char* document, const char* username) { InfIpAddress* addr; InfTcpConnection* tcp; InfXmppConnection* xmpp; InfTestMassJoiner* joiner; InfXmlConnection* xml; GError* error; addr = inf_ip_address_new_from_string(hostname); tcp = inf_tcp_connection_new(massjoin->io, addr, port); xmpp = inf_xmpp_connection_new( tcp, INF_XMPP_CONNECTION_CLIENT, g_get_host_name(), hostname, INF_XMPP_CONNECTION_SECURITY_BOTH_PREFER_TLS, NULL, NULL, NULL ); joiner = g_slice_new(InfTestMassJoiner); joiner->communication_manager = inf_communication_manager_new(); joiner->browser = infc_browser_new( massjoin->io, joiner->communication_manager, INF_XML_CONNECTION(xmpp) ); joiner->session = NULL; joiner->document = g_strdup(document); joiner->username = g_strdup(username); g_object_unref(xmpp); g_object_unref(tcp); inf_ip_address_free(addr); massjoin->joiners = g_slist_prepend(massjoin->joiners, joiner); infc_browser_add_plugin(joiner->browser, &INF_TEST_MASS_JOIN_TEXT_PLUGIN); g_signal_connect( G_OBJECT(joiner->browser), "notify::status", G_CALLBACK(inf_test_mass_join_browser_notify_status_cb), massjoin ); error = NULL; xml = infc_browser_get_connection(joiner->browser); if(inf_xml_connection_open(xml, &error) == FALSE) { fprintf( stderr, "Joiner %s: Failed to connect to %s: %s\n", joiner->username, hostname, error->message ); g_error_free(error); massjoin->joiners = g_slist_remove(massjoin->joiners, joiner); if(massjoin->joiners == NULL) inf_standalone_io_loop_quit(INF_STANDALONE_IO(massjoin->io)); } }