static void login_pushed(GtkWidget *widget) { if (gtk_entry_get_text_length(GTK_ENTRY(g_usernameEntry)) > 0 && gtk_entry_get_text_length(GTK_ENTRY(g_passwordEntry)) > 0) { const char *username = gtk_entry_get_text(GTK_ENTRY(g_usernameEntry)); const char *password = gtk_entry_get_text(GTK_ENTRY(g_passwordEntry)); printf("login_pushed - username: %s, password: %s\n", username, password); //TODO: Remove session_login(username, password); } else { printf("login_pushed - username or password is not entered!\n"); //TODO: Mark that entry fields are empty. } }
/********************** *** Initialization *** **********************/ int main(int argc, char** argv) { gboolean daemon_mode = TRUE; const char* username; const char* password; GMainLoop* main_loop; /* Parse command line options */ int opt; while ((opt = getopt(argc, argv, "dfhv")) != -1) { switch (opt) { case 'd': debug_mode = TRUE; case 'v': verbose_mode = TRUE; case 'f': daemon_mode = FALSE; break; default: printf("Usage: spopd [options]\n" "Options:\n" " -d debug mode (implies -f and -v)\n" " -f run in foreground (default: fork to background)\n" " -v verbose mode (implies -f)\n" " -h display this message\n"); return 0; } } g_set_application_name("spop " SPOP_VERSION); g_set_prgname("spop"); /* PulseAudio properties */ g_setenv("PULSE_PROP_application.name", "spop " SPOP_VERSION, TRUE); g_setenv("PULSE_PROP_media.role", "music", TRUE); //g_setenv("PULSE_PROP_application.icon_name", "music", TRUE); printf("%s\n", copyright_notice); /* Log handler */ logging_init(); if (!daemon_mode) { /* Stay in foreground: do everything here */ if (debug_mode) g_info("Running in debug mode"); } else { /* Run in daemon mode: fork to background */ printf("Switching to daemon mode...\n"); if (daemon(0, 0) != 0) g_error("Error while forking process: %s", g_strerror(errno)); } /* Init essential stuff */ main_loop = g_main_loop_new(NULL, FALSE); exit_handler_init(); /* Read username and password */ username = config_get_string("spotify_username"); password = config_get_string("spotify_password"); /* Init plugins */ plugins_init(); /* Init login */ session_init(); session_login(username, password); /* Init various subsystems */ interface_init(); /* Event loop */ g_main_loop_run(main_loop); return 0; }