diff options
Diffstat (limited to 'computer.c')
-rw-r--r-- | computer.c | 109 |
1 files changed, 48 insertions, 61 deletions
@@ -1,6 +1,6 @@ /* * HardInfo - Displays System Information - * Copyright (C) 2003-2007 Leandro A. F. Pereira <leandro@linuxmag.com.br> + * Copyright (C) 2003-2008 Leandro A. F. Pereira <leandro@hardinfo.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,19 +31,6 @@ #include <vendor.h> -enum { - COMPUTER_SUMMARY, - COMPUTER_OPERATING_SYSTEM, - COMPUTER_KERNEL_MODULES, - COMPUTER_BOOTS, - COMPUTER_LANGUAGE, - COMPUTER_FILESYSTEMS, - COMPUTER_SHARES, - COMPUTER_DISPLAY, - COMPUTER_NETWORK, - COMPUTER_USERS, -} Entries; - /* Callbacks */ gchar *callback_summary(); gchar *callback_os(); @@ -51,10 +38,10 @@ gchar *callback_modules(); gchar *callback_boots(); gchar *callback_locales(); gchar *callback_fs(); -gchar *callback_shares(); gchar *callback_display(); gchar *callback_network(); gchar *callback_users(); +gchar *callback_env_var(); /* Scan callbacks */ void scan_summary(gboolean reload); @@ -63,10 +50,10 @@ void scan_modules(gboolean reload); void scan_boots(gboolean reload); void scan_locales(gboolean reload); void scan_fs(gboolean reload); -void scan_shares(gboolean reload); void scan_display(gboolean reload); void scan_network(gboolean reload); void scan_users(gboolean reload); +void scan_env_var(gboolean reload); static ModuleEntry entries[] = { {"Summary", "summary.png", callback_summary, scan_summary}, @@ -75,9 +62,8 @@ static ModuleEntry entries[] = { {"Boots", "boot.png", callback_boots, scan_boots}, {"Languages", "language.png", callback_locales, scan_locales}, {"Filesystems", "dev_removable.png", callback_fs, scan_fs}, - {"Shared Directories", "shares.png", callback_shares, scan_shares}, {"Display", "monitor.png", callback_display, scan_display}, - {"Network Interfaces", "network.png", callback_network, scan_network}, + {"Environment Variables", "environment.png", callback_env_var, scan_env_var}, {"Users", "users.png", callback_users, scan_users}, {NULL}, }; @@ -97,11 +83,9 @@ static Computer *computer = NULL; #include <arch/this/uptime.h> #include <arch/this/os.h> #include <arch/this/filesystem.h> -#include <arch/this/samba.h> -#include <arch/this/nfs.h> -#include <arch/this/net.h> #include <arch/common/users.h> #include <arch/this/boots.h> +#include <arch/common/environment.h> gchar *hi_more_info(gchar * entry) { @@ -140,7 +124,7 @@ gchar *hi_get_field(gchar * field) void scan_summary(gboolean reload) { SCAN_START(); - module_entry_scan_all_except(entries, COMPUTER_SUMMARY); + module_entry_scan_all_except(entries, 0); computer->alsa = computer_get_alsainfo(); SCAN_END(); } @@ -181,14 +165,6 @@ void scan_fs(gboolean reload) SCAN_END(); } -void scan_shares(gboolean reload) -{ - SCAN_START(); - scan_samba_shared_directories(); - scan_nfs_shared_directories(); - SCAN_END(); -} - void scan_display(gboolean reload) { SCAN_START(); @@ -196,13 +172,6 @@ void scan_display(gboolean reload) SCAN_END(); } -void scan_network(gboolean reload) -{ - SCAN_START(); - scan_net_interfaces(); - SCAN_END(); -} - void scan_users(gboolean reload) { SCAN_START(); @@ -267,6 +236,7 @@ gchar *callback_os() "Kernel=%s\n" "Compiled=%s\n" "C Library=%s\n" + "Default C Compiler=%s\n" "Distribution=%s\n" "[Current Session]\n" "Computer Name=%s\n" @@ -280,6 +250,7 @@ gchar *callback_os() computer->os->kernel, computer->os->compiled_date, computer->os->libc, + computer->os->gcc, computer->os->distro, computer->os->hostname, computer->os->username, @@ -291,18 +262,30 @@ gchar *callback_modules() { return g_strdup_printf("[Loaded Modules]\n" "%s" - "[$ShellParam$]\n" "ViewType=1", module_list); + "[$ShellParam$]\n" + "ViewType=1\n" + "ColumnTitle$TextValue=Name\n" + "ColumnTitle$Value=Description\n" + "ShowColumnHeaders=true\n", module_list); } gchar *callback_boots() { - return g_strdup(computer->os->boots); + return g_strdup_printf("[$ShellParam$]\n" + "ColumnTitle$TextValue=Date & Time\n" + "ColumnTitle$Value=Kernel Version\n" + "ShowColumnHeaders=true\n" + "\n" + "%s", computer->os->boots); } gchar *callback_locales() { return g_strdup_printf("[$ShellParam$]\n" "ViewType=1\n" + "ColumnTitle$TextValue=Language Code\n" + "ColumnTitle$Value=Name\n" + "ShowColumnHeaders=true\n" "[Available Languages]\n" "%s", computer->os->languages); } @@ -310,19 +293,17 @@ gchar *callback_locales() gchar *callback_fs() { return g_strdup_printf("[$ShellParam$]\n" - "ViewType=1\n" + "ViewType=4\n" "ReloadInterval=5000\n" + "Zebra=1\n" + "NormalizePercentage=false\n" + "ColumnTitle$Extra1=Mount Point\n" + "ColumnTitle$Progress=Usage\n" + "ColumnTitle$TextValue=Device\n" + "ShowColumnHeaders=true\n" "[Mounted File Systems]\n%s\n", fs_list); } -gchar *callback_shares() -{ - return g_strdup_printf("[SAMBA]\n" - "%s\n" - "[NFS]\n" - "%s", smb_shares_list, nfs_shares_list); -} - gchar *callback_display() { return g_strdup_printf("[Display]\n" @@ -350,24 +331,13 @@ gchar *callback_display() computer->display->dri ? "Yes" : "No"); } -gchar *callback_network() -{ - return g_strdup_printf("%s\n" - "[$ShellParam$]\n" - "ReloadInterval=3000\n" - "ViewType=1\n" - "%s", network_interfaces, network_icons); -} - gchar *callback_users() { return g_strdup_printf("[$ShellParam$]\n" "ReloadInterval=10000\n" "ViewType=1\n" - "[Human Users]\n" - "%s\n" - "[System Users]\n" - "%s\n", human_users, sys_users); + "[Users]\n" + "%s\n", users); } gchar *get_os_kernel(void) @@ -376,10 +346,27 @@ gchar *get_os_kernel(void) return computer->os->kernel; } +gchar *get_kernel_module_description(gchar *module) +{ + gchar *description; + + if (!_module_hash_table) { + scan_modules(FALSE); + } + + description = g_hash_table_lookup(_module_hash_table, module); + if (!description) { + return g_strdup(module); + } + + return g_strdup(description); +} + ShellModuleMethod *hi_exported_methods(void) { static ShellModuleMethod m[] = { {"getOSKernel", get_os_kernel}, + {"getKernelModuleDescription", get_kernel_module_description}, {NULL} }; |