gchar * hi_get_field(gchar * field) { gchar *tmp; if (!strcmp(field, "Memory")) { MemoryInfo *mi; mi = computer_get_memory(); tmp = g_strdup_printf("%dMB (%dMB used)", mi->total, mi->used); g_free(mi); } else if (!strcmp(field, "Random")) { return g_strdup_printf("%d", rand() % 200); } else if (!strcmp(field, "Uptime")) { tmp = computer_get_formatted_uptime(); } else if (!strcmp(field, "Date/Time")) { time_t t = time(NULL); tmp = g_new0(gchar, 32); strftime(tmp, 32, "%D / %R", localtime(&t)); } else if (!strcmp(field, "Load Average")) { tmp = computer_get_formatted_loadavg(); } else { tmp = g_strdup(""); } return tmp; }
static Computer * computer_get_info(void) { Computer *computer; computer = g_new0(Computer, 1); if (moreinfo) { #ifdef g_hash_table_unref g_hash_table_unref(moreinfo); #else g_free(moreinfo); #endif } moreinfo = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); shell_status_update("Getting processor information..."); computer->processor = computer_get_processor(); shell_status_update("Getting memory information..."); computer->memory = computer_get_memory(); shell_status_update("Getting operating system information..."); computer->os = computer_get_os(); shell_status_update("Getting display information..."); computer->display = computer_get_display(); shell_status_update("Getting sound card information..."); computer->alsa = computer_get_alsainfo(); shell_status_update("Getting mounted file system information..."); scan_filesystems(); shell_status_update("Getting shared directories..."); scan_shared_directories(); shell_status_update("Reading sensors..."); read_sensors(); shell_status_update("Obtaining network information..."); scan_net_interfaces(); computer->date_time = "..."; return computer; }
gchar *hi_get_field(gchar * field) { gchar *tmp; if (g_str_equal(field, "Memory")) { MemoryInfo *mi = computer_get_memory(); tmp = g_strdup_printf("%dMB (%dMB used)", mi->total, mi->used); g_free(mi); } else if (g_str_equal(field, "Uptime")) { tmp = computer_get_formatted_uptime(); } else if (g_str_equal(field, "Date/Time")) { time_t t = time(NULL); tmp = g_new0(gchar, 64); strftime(tmp, 64, "%c", localtime(&t)); } else if (g_str_equal(field, "Load Average")) { tmp = computer_get_formatted_loadavg(); } else { tmp = g_strdup(""); } return tmp; }