void console_shows_dnd_presence_when_set_all(void **state) { prefs_set_string(PREF_STATUSES_CONSOLE, "all"); plugins_init(); roster_create(); char *barejid = "test1@server"; roster_add(barejid, "bob", NULL, "both", FALSE); Resource *resource = resource_new("resource", RESOURCE_ONLINE, NULL, 10); expect_memory(ui_contact_online, barejid, barejid, sizeof(barejid)); expect_memory(ui_contact_online, resource, resource, sizeof(resource)); expect_value(ui_contact_online, last_activity, NULL); sv_ev_contact_online(barejid, resource, NULL, NULL); roster_destroy(); plugins_shutdown(); }
static void _shutdown(void) { if (prefs_get_boolean(PREF_TITLEBAR_SHOW)) { if (prefs_get_boolean(PREF_TITLEBAR_GOODBYE)) { ui_goodbye_title(); } else { ui_clear_win_title(); } } jabber_conn_status_t conn_status = jabber_get_connection_status(); if (conn_status == JABBER_CONNECTED) { cl_ev_disconnect(); } #ifdef PROF_HAVE_GTK if (gtk_ready) { destroy_tray(); } #endif jabber_shutdown(); plugins_on_shutdown(); muc_close(); caps_close(); ui_close(); #ifdef PROF_HAVE_LIBOTR otr_shutdown(); #endif #ifdef PROF_HAVE_LIBGPGME p_gpg_close(); #endif chat_log_close(); theme_close(); accounts_close(); tlscerts_close(); cmd_uninit(); log_stderr_close(); log_close(); plugins_shutdown(); prefs_close(); if (saved_status) { free(saved_status); } }
static void _shutdown(void) { if (prefs_get_boolean(PREF_WINTITLE_SHOW)) { if (prefs_get_boolean(PREF_WINTITLE_GOODBYE)) { ui_goodbye_title(); } else { ui_clear_win_title(); } } jabber_conn_status_t conn_status = connection_get_status(); if (conn_status == JABBER_CONNECTED) { cl_ev_disconnect(); } #ifdef HAVE_GTK tray_shutdown(); #endif session_shutdown(); plugins_on_shutdown(); muc_close(); caps_close(); #ifdef HAVE_LIBOTR otr_shutdown(); #endif #ifdef HAVE_LIBGPGME p_gpg_close(); #endif chat_log_close(); theme_close(); accounts_close(); tlscerts_close(); log_stderr_close(); log_close(); plugins_shutdown(); cmd_uninit(); ui_close(); prefs_close(); }
void handle_offline_removes_chat_session(void **state) { plugins_init(); roster_create(); chat_sessions_init(); char *barejid = "*****@*****.**"; char *resource = "home"; roster_add(barejid, "bob", NULL, "both", FALSE); Resource *resourcep = resource_new(resource, RESOURCE_ONLINE, NULL, 10); roster_update_presence(barejid, resourcep, NULL); chat_session_recipient_active(barejid, resource, FALSE); ProfConsoleWin *console = malloc(sizeof(ProfConsoleWin)); will_return(win_create_console, &console->window); wins_init(); sv_ev_contact_offline(barejid, resource, NULL); ChatSession *session = chat_session_get(barejid); assert_null(session); roster_destroy(); chat_sessions_clear(); plugins_shutdown(); }
/*! \brief set_offline_mode() is called when the "Offline Mode" button is clicked in the general tab and is used to present the user with list of firmware choices to select one for loading to work in offline mode (no connection to an ECU) */ G_MODULE_EXPORT gboolean set_offline_mode(void) { GtkWidget * widget = NULL; gchar * filename = NULL; gboolean tmp = TRUE; GArray *pfuncs = NULL; PostFunction *pf = NULL; GAsyncQueue *io_repair_queue = NULL; Firmware_Details *firmware = NULL; void (*load_firmware_details)(void *,const gchar *) = NULL; ENTER(); firmware = (Firmware_Details *)DATA_GET(global_data,"firmware"); io_repair_queue = (GAsyncQueue *)DATA_GET(global_data,"io_repair_queue"); /* Cause Serial Searcher thread to abort.... */ if (io_repair_queue) g_async_queue_push(io_repair_queue,&tmp); filename = present_firmware_choices(); if (!filename) { DATA_SET(global_data,"offline",GINT_TO_POINTER(FALSE)); DATA_SET(global_data,"interrogated",GINT_TO_POINTER(FALSE)); widget = lookup_widget("interrogate_button"); if (GTK_IS_WIDGET(widget)) gtk_widget_set_sensitive(GTK_WIDGET(widget),TRUE); widget = lookup_widget("offline_button"); if (GTK_IS_WIDGET(widget)) gtk_widget_set_sensitive(GTK_WIDGET(widget),TRUE); plugins_shutdown(); /* Does this need a delay? */ personality_choice(); EXIT(); return FALSE; } DATA_SET_FULL(global_data,"last_offline_profile",g_strdup(filename),g_free); DATA_SET(global_data,"offline",GINT_TO_POINTER(TRUE)); DATA_SET(global_data,"interrogated",GINT_TO_POINTER(TRUE)); /* Disable interrogation button */ widget = lookup_widget("interrogate_button"); if (GTK_IS_WIDGET(widget)) gtk_widget_set_sensitive(GTK_WIDGET(widget),FALSE); widget = lookup_widget("netaccess_table"); if (GTK_IS_WIDGET(widget)) gtk_widget_set_sensitive(GTK_WIDGET(widget),FALSE); queue_function("kill_conn_warning"); if (!firmware) { firmware = g_new0(Firmware_Details,1); DATA_SET(global_data,"firmware",firmware); } if (get_symbol("load_firmware_details",(void **)&load_firmware_details)) { load_firmware_details(firmware,filename); } else printf("Unable to load firmware details!\n"); pfuncs = g_array_new(FALSE,TRUE,sizeof(PostFunction *)); pf = g_new0(PostFunction,1); pf->name = g_strdup("update_interrogation_gui_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("load_realtime_map_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("initialize_dashboards_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("load_status_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("load_rt_text_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("load_gui_tabs_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("start_statuscounts_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("disable_burner_buttons_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); /* BUG, causes deadlock pf = g_new0(PostFunction,1); pf->name = g_strdup("offline_ecu_restore_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); */ pf = g_new0(PostFunction,1); pf->name = g_strdup("setup_menu_handlers_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("enable_3d_buttons_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("ready_msg_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("cleanup_pf"); get_symbol(pf->name,(void **)&pf->function_w_arg); pf->w_arg = TRUE; pfuncs = g_array_append_val(pfuncs,pf); io_cmd(NULL,pfuncs); /* io_cmd(firmware->get_all_command,NULL); */ widget = lookup_widget("binary_logging_frame"); if (GTK_IS_WIDGET(widget)) gtk_widget_set_sensitive(GTK_WIDGET(widget),FALSE); widget = lookup_widget("interrogate_button"); if (GTK_IS_WIDGET(widget)) gtk_widget_set_sensitive(GTK_WIDGET(widget),FALSE); widget = lookup_widget("offline_button"); if (GTK_IS_WIDGET(widget)) gtk_widget_set_sensitive(GTK_WIDGET(widget),FALSE); g_list_foreach(get_list("get_data_buttons"),set_widget_sensitive,GINT_TO_POINTER(FALSE)); pfuncs = g_array_new(FALSE,TRUE,sizeof(PostFunction *)); pf = g_new0(PostFunction,1); pf->name = g_strdup("reset_temps_pf"); get_symbol(pf->name,(void **)&pf->function); pf->w_arg = FALSE; pfuncs = g_array_append_val(pfuncs,pf); pf = g_new0(PostFunction,1); pf->name = g_strdup("cleanup_pf"); get_symbol(pf->name,(void **)&pf->function_w_arg); pf->w_arg = TRUE; pfuncs = g_array_append_val(pfuncs,pf); io_cmd(NULL,pfuncs); EXIT(); return FALSE; }