static void pidgin_ui_init(void) { pidgin_stock_init(); /* Set the UI operation structures. */ purple_accounts_set_ui_ops(pidgin_accounts_get_ui_ops()); purple_xfers_set_ui_ops(pidgin_xfers_get_ui_ops()); purple_blist_set_ui_ops(pidgin_blist_get_ui_ops()); purple_notify_set_ui_ops(pidgin_notify_get_ui_ops()); purple_privacy_set_ui_ops(pidgin_privacy_get_ui_ops()); purple_request_set_ui_ops(pidgin_request_get_ui_ops()); purple_sound_set_ui_ops(pidgin_sound_get_ui_ops()); purple_connections_set_ui_ops(pidgin_connections_get_ui_ops()); purple_whiteboard_set_ui_ops(pidgin_whiteboard_get_ui_ops()); #if defined(USE_SCREENSAVER) || defined(HAVE_IOKIT) purple_idle_set_ui_ops(pidgin_idle_get_ui_ops()); #endif pidgin_account_init(); pidgin_connection_init(); pidgin_blist_init(); pidgin_status_init(); pidgin_conversations_init(); pidgin_pounces_init(); pidgin_privacy_init(); pidgin_xfers_init(); pidgin_roomlist_init(); pidgin_log_init(); pidgin_docklet_init(); pidgin_smileys_init(); pidgin_utils_init(); pidgin_medias_init(); pidgin_notify_init(); }
void mimoc_buddy_list_create_and_handle() { purple_set_blist(purple_blist_new()); purple_blist_load(); purple_blist_set_ui_ops(&blist_uiops); mimoc_register_clean_up_function(&mimoc_buddy_list_clean_up); }
xmlnode * _h_elim_init ( const char *name , const char *id , SEXP_VALUE *args , gpointer data ) { ASSERT_ALISTP( args, id, name ); char *dir = ALIST_VAL_STRING( args, "dot-dir" ); char *ui = ALIST_VAL_STRING( args, "ui-id" ); gboolean dbg = ALIST_VAL_BOOL ( args, "debug" ); if( !ui ) { ui = "elim"; } // libpurple initialisation: purple_util_set_user_dir ( dir ); purple_util_init (); purple_core_set_ui_ops ( &elim_core_ui_ops ); purple_eventloop_set_ui_ops ( &elim_eventloop_ui_ops ); purple_blist_set_ui_ops ( &elim_blist_ui_ops ); purple_accounts_set_ui_ops ( &elim_account_ui_ops ); purple_request_set_ui_ops ( &elim_request_ui_ops ); purple_idle_set_ui_ops ( &elim_idle_ui_ops ); purple_connections_set_ui_ops ( &elim_connections_ui_ops ); purple_conversations_set_ui_ops( &elim_conversation_ui_ops ); purple_notify_set_ui_ops ( &elim_notify_ui_ops ); // load any data for init: if( purple_get_core() == NULL ) { // purple debug goes to stdout if we don't divert it here: g_set_print_handler( (GPrintFunc)_h_elim_warning ); // look for plugins in user specified directory tree: char *ppath = g_build_filename( purple_user_dir(), "plugins", NULL ); purple_plugins_add_search_path ( ppath ); purple_debug_set_enabled( dbg ); purple_core_init ( ui ); purple_set_blist ( purple_blist_new() ); purple_prefs_load(); purple_blist_load(); // glib signal initialisation: elim_ft_signals_init(); // tidy up: g_free( ppath ); } else { const char *cur_ui = purple_core_get_ui(); if( strcmp( cur_ui, name ) ) { sexp_val_free( args ); return response_error( EINVAL, id, name, "purple has already been initialised" ); } } sexp_val_free( args ); xmlnode *rval = xnode_new( "alist" ); AL_STR( rval, "ui-id", purple_core_get_ui() ); return response_value( 0, id, name, rval ); }
void ProtoManager::PluginsAvailable () { purple_debug_set_enabled (true); const auto& dir = Util::CreateIfNotExists ("azoth/velvetbird/purple"); purple_util_set_user_dir (dir.absolutePath ().toUtf8 ().constData ()); purple_core_set_ui_ops (&UiOps); purple_eventloop_set_ui_ops (&EvLoopOps); purple_idle_set_ui_ops (&IdleOps); purple_connections_set_ui_ops (&ConnUiOps); purple_set_blist (purple_blist_new ()); purple_blist_set_ui_data (this); purple_blist_set_ui_ops (&BListUiOps); purple_conversations_set_ui_ops (&ConvUiOps); purple_accounts_set_ui_ops (&AccUiOps); purple_notify_set_ui_ops (&NotifyUiOps); purple_imgstore_init (); purple_buddy_icons_init (); if (!purple_core_init ("leechcraft.azoth")) { qWarning () << Q_FUNC_INFO << "failed initializing libpurple"; return; } QMap<QByteArray, Protocol_ptr> id2proto; auto protos = purple_plugins_get_protocols (); while (protos) { auto item = static_cast<PurplePlugin*> (protos->data); protos = protos->next; const auto& proto = std::make_shared<Protocol> (item, Proxy_); const auto& purpleId = proto->GetPurpleID (); if (purpleId == "prpl-jabber" || purpleId == "prpl-irc") continue; Protocols_ << proto; id2proto [purpleId] = proto; } auto accs = purple_accounts_get_all (); while (accs) { auto acc = static_cast<PurpleAccount*> (accs->data); accs = accs->next; id2proto [purple_account_get_protocol_id (acc)]->PushAccount (acc); } purple_blist_load (); purple_savedstatus_activate (purple_savedstatus_get_startup ()); }
static void null_ui_init(void) { /** * This should initialize the UI components for all the modules. */ purple_conversations_set_ui_ops(null_conv_get_ui_ops()); purple_blist_set_ui_ops(null_blist_get_ui_ops()); }
BuddyList::BuddyList() : Window(0, 0, 80, 24) { SetColorScheme("buddylist"); CppConsUI::HorizontalListBox *lbox = new CppConsUI::HorizontalListBox(AUTOSIZE, AUTOSIZE); lbox->AppendWidget(*(new CppConsUI::Spacer(1, AUTOSIZE))); treeview = new CppConsUI::TreeView(AUTOSIZE, AUTOSIZE); lbox->AppendWidget(*treeview); lbox->AppendWidget(*(new CppConsUI::Spacer(1, AUTOSIZE))); AddWidget(*lbox, 0, 0); /* TODO Check if this has been moved to purple_blist_init(). Remove these * lines if it was as this will probably move to purple_init(), the * buddylist object should be available a lot more early and the uiops * should be set a lot more early. (All in all a lot of work.) */ buddylist = purple_blist_new(); buddylist->ui_data = this; purple_set_blist(buddylist); // load the pounces purple_pounces_load(); // init prefs purple_prefs_add_none(CONF_PREFIX "/blist"); purple_prefs_add_bool(CONF_PREFIX "/blist/show_empty_groups", false); purple_prefs_add_bool(CONF_PREFIX "/blist/show_offline_buddies", true); purple_prefs_add_string(CONF_PREFIX "/blist/colorization_mode", "none"); UpdateCachedPreference(CONF_PREFIX "/blist/show_empty_groups"); UpdateCachedPreference(CONF_PREFIX "/blist/show_offline_buddies"); UpdateCachedPreference(CONF_PREFIX "/blist/colorization_mode"); // connect callbacks purple_prefs_connect_callback(this, CONF_PREFIX "/blist", blist_pref_change_, this); // setup the callbacks for the buddylist memset(¢erim_blist_ui_ops, 0, sizeof(centerim_blist_ui_ops)); centerim_blist_ui_ops.new_list = new_list_; centerim_blist_ui_ops.new_node = new_node_; //centerim_blist_ui_ops.show = show_; centerim_blist_ui_ops.update = update_; centerim_blist_ui_ops.remove = remove_; centerim_blist_ui_ops.destroy = destroy_; //centerim_blist_ui_ops.set_visible = set_visible_; centerim_blist_ui_ops.request_add_buddy = request_add_buddy_; centerim_blist_ui_ops.request_add_chat = request_add_chat_; centerim_blist_ui_ops.request_add_group = request_add_group_; // since libpurple 2.6.0 //centerim_blist_ui_ops.save_node = save_node_; //centerim_blist_ui_ops.remove_node = remove_node_; //centerim_blist_ui_ops.save_account = save_account_; purple_blist_set_ui_ops(¢erim_blist_ui_ops); COREMANAGER->TimeoutOnceConnect(sigc::mem_fun(this, &BuddyList::Load), 0); }
static void init_libpurple() { printf("init_libpurple\n"); /* Set a custom user directory (optional) */ purple_util_set_user_dir(CUSTOM_USER_DIRECTORY); /* We do not want any debugging for now to keep the noise to a minimum. */ purple_debug_set_enabled(FALSE); /* Set the core-uiops, which is used to * - initialize the ui specific preferences. * - initialize the debug ui. * - initialize the ui components for all the modules. * - uninitialize the ui components for all the modules when the core terminates. */ purple_core_set_ui_ops(&taim_core_uiops); /* Set the uiops for the eventloop. If your client is glib-based, you can safely * copy this verbatim. */ purple_eventloop_set_ui_ops(&glib_eventloops); /* Set path to search for plugins. The core (libpurple) takes care of loading the * core-plugins, which includes the protocol-plugins. So it is not essential to add * any path here, but it might be desired, especially for ui-specific plugins. */ purple_plugins_add_search_path(CUSTOM_PLUGIN_PATH); /* Now that all the essential stuff has been set, let's try to init the core. It's * necessary to provide a non-NULL name for the current ui to the core. This name * is used by stuff that depends on this ui, for example the ui-specific plugins. */ if (!purple_core_init(UI_ID)) { /* Initializing the core failed. Terminate. */ fprintf(stderr, "libpurple initialization failed. Dumping core.\n" "Please report this!\n"); abort(); } purple_blist_set_ui_ops(&taim_blist_uiops); /* Create and load the buddylist. */ purple_blist_init(); g_blist = purple_blist_new(); purple_set_blist(g_blist); purple_blist_load(); /* Load the preferences. */ purple_prefs_load(); /* Load the desired plugins. The client should save the list of loaded plugins in * the preferences using purple_plugins_save_loaded(PLUGIN_SAVE_PREF) */ purple_plugins_load_saved(PLUGIN_SAVE_PREF); /* Load the pounces. */ purple_pounces_load(); }
static void purple_ui_init() { purple_connections_set_ui_ops( &bee_conn_uiops ); purple_blist_set_ui_ops( &bee_blist_uiops ); purple_conversations_set_ui_ops( &bee_conv_uiops ); purple_request_set_ui_ops( &bee_request_uiops ); purple_privacy_set_ui_ops( &bee_privacy_uiops ); purple_notify_set_ui_ops( &bee_notify_uiops ); purple_accounts_set_ui_ops( &bee_account_uiops ); purple_xfers_set_ui_ops( &bee_xfer_uiops ); if( getenv( "BITLBEE_DEBUG" ) ) purple_debug_set_ui_ops( &bee_debug_uiops ); }
void finch_ui_uninit() { purple_accounts_set_ui_ops(NULL); finch_accounts_uninit(); purple_connections_set_ui_ops(NULL); finch_connections_uninit(); purple_blist_set_ui_ops(NULL); finch_blist_uninit(); purple_conversations_set_ui_ops(NULL); finch_conversation_uninit(); purple_notify_set_ui_ops(NULL); finch_notify_uninit(); purple_request_set_ui_ops(NULL); finch_request_uninit(); finch_pounces_uninit(); finch_log_uninit(); finch_xfers_uninit(); purple_xfers_set_ui_ops(NULL); finch_roomlist_uninit(); purple_roomlist_set_ui_ops(NULL); #ifdef USE_VV finch_media_manager_uninit(); #endif gnt_quit(); #ifdef _WIN32 gnt_set_config_dir(NULL); #endif /* _WIN32 */ #endif /* STANDALONE */ }
void gnt_ui_uninit() { purple_accounts_set_ui_ops(NULL); finch_accounts_uninit(); purple_connections_set_ui_ops(NULL); finch_connections_uninit(); purple_blist_set_ui_ops(NULL); finch_blist_uninit(); purple_conversations_set_ui_ops(NULL); finch_conversation_uninit(); purple_notify_set_ui_ops(NULL); finch_notify_uninit(); purple_request_set_ui_ops(NULL); finch_request_uninit(); finch_pounces_uninit(); finch_log_uninit(); finch_xfers_uninit(); purple_xfers_set_ui_ops(NULL); finch_roomlist_uninit(); purple_roomlist_set_ui_ops(NULL); #ifdef USE_VV finch_media_manager_uninit(); #endif gnt_quit(); #endif }
void gnt_ui_init() { #ifdef STANDALONE gnt_init(); #endif purple_prefs_add_none("/purple/gnt"); /* Accounts */ finch_accounts_init(); purple_accounts_set_ui_ops(finch_accounts_get_ui_ops()); /* Connections */ finch_connections_init(); purple_connections_set_ui_ops(finch_connections_get_ui_ops()); /* Initialize the buddy list */ finch_blist_init(); purple_blist_set_ui_ops(finch_blist_get_ui_ops()); /* Initialize sound */ purple_sound_set_ui_ops(finch_sound_get_ui_ops()); /* Now the conversations */ finch_conversation_init(); purple_conversations_set_ui_ops(finch_conv_get_ui_ops()); /* Notify */ finch_notify_init(); purple_notify_set_ui_ops(finch_notify_get_ui_ops()); /* Request */ finch_request_init(); purple_request_set_ui_ops(finch_request_get_ui_ops()); /* Pounce */ finch_pounces_init(); /* Log */ finch_log_init(); /* File transfer */ finch_xfers_init(); purple_xfers_set_ui_ops(finch_xfers_get_ui_ops()); /* Roomlist */ finch_roomlist_init(); purple_roomlist_set_ui_ops(finch_roomlist_get_ui_ops()); /* Media */ finch_media_manager_init(); gnt_register_action(_("Accounts"), finch_accounts_show_all); gnt_register_action(_("Buddy List"), finch_blist_show); gnt_register_action(_("Buddy Pounces"), finch_pounces_manager_show); gnt_register_action(_("Certificates"), finch_certmgr_show); gnt_register_action(_("Debug Window"), finch_debug_window_show); gnt_register_action(_("File Transfers"), finch_xfer_dialog_show); gnt_register_action(_("Plugins"), finch_plugins_show_all); gnt_register_action(_("Room List"), finch_roomlist_show_all); gnt_register_action(_("Sounds"), finch_sounds_show_all); gnt_register_action(_("Preferences"), finch_prefs_show_all); gnt_register_action(_("Statuses"), finch_savedstatus_show_all); #ifdef STANDALONE }
static VALUE watch_blist_change(VALUE self) { purple_blist_set_ui_ops(&blist_uiops); set_callback(&blist_update_handler, "blist_update_handler"); return blist_update_handler; }
BuddyList::~BuddyList() { purple_blist_set_ui_ops(NULL); purple_prefs_disconnect_by_handle(this); }