X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=src%2Finspect_icon.c;h=662edbcac1ab5ee95fcfdf914007833b948c86c5;hb=edd502543adbdc2fa5dda0c015ea7c390bb39f64;hp=d9e2ee99b9a16f617ef2461d61563b541cca9c16;hpb=b648b1813fc8e55db790435b5414d9be3ec765d2;p=libguestfs.git diff --git a/src/inspect_icon.c b/src/inspect_icon.c index d9e2ee9..662edbc 100644 --- a/src/inspect_icon.c +++ b/src/inspect_icon.c @@ -53,6 +53,9 @@ static char *icon_favicon (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); static char *icon_fedora (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); static char *icon_rhel (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); static char *icon_debian (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); +static char *icon_ubuntu (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); +static char *icon_mageia (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); +static char *icon_opensuse (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); static char *icon_windows (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); /* Dummy static object. */ @@ -126,6 +129,18 @@ guestfs__inspect_get_icon (guestfs_h *g, const char *root, size_t *size_r, r = icon_debian (g, fs, &size); break; + case OS_DISTRO_UBUNTU: + r = icon_ubuntu (g, fs, &size); + break; + + case OS_DISTRO_MAGEIA: + r = icon_mageia (g, fs, &size); + break; + + case OS_DISTRO_OPENSUSE: + r = icon_opensuse(g, fs, &size); + break; + /* These are just to keep gcc warnings happy. */ case OS_DISTRO_ARCHLINUX: case OS_DISTRO_GENTOO: @@ -135,7 +150,6 @@ guestfs__inspect_get_icon (guestfs_h *g, const char *root, size_t *size_r, case OS_DISTRO_PARDUS: case OS_DISTRO_SLACKWARE: case OS_DISTRO_TTYLINUX: - case OS_DISTRO_UBUNTU: case OS_DISTRO_WINDOWS: case OS_DISTRO_UNKNOWN: default: ; @@ -151,6 +165,7 @@ guestfs__inspect_get_icon (guestfs_h *g, const char *root, size_t *size_r, break; case OS_TYPE_FREEBSD: + case OS_TYPE_NETBSD: case OS_TYPE_UNKNOWN: default: ; } @@ -277,7 +292,6 @@ icon_rhel (guestfs_h *g, struct inspect_fs *fs, size_t *size_r) return get_png (g, fs, SHADOWMAN_ICON, size_r, max_size); } -/* NB: I've not located an Ubuntu logo yet. */ #define DEBIAN_ICON "/usr/share/pixmaps/debian-logo.png" static char * @@ -286,6 +300,30 @@ icon_debian (guestfs_h *g, struct inspect_fs *fs, size_t *size_r) return get_png (g, fs, DEBIAN_ICON, size_r, 2048); } +#define UBUNTU_ICON "/usr/share/icons/gnome/24x24/places/ubuntu-logo.png" + +static char * +icon_ubuntu (guestfs_h *g, struct inspect_fs *fs, size_t *size_r) +{ + return get_png (g, fs, UBUNTU_ICON, size_r, 2048); +} + +#define MAGEIA_ICON "/usr/share/icons/mageia.png" + +static char * +icon_mageia (guestfs_h *g, struct inspect_fs *fs, size_t *size_r) +{ + return get_png (g, fs, MAGEIA_ICON, size_r, 2048); +} + +#define OPENSUSE_ICON "/usr/share/icons/hicolor/24x24/apps/distributor.png" + +static char * +icon_opensuse (guestfs_h *g, struct inspect_fs *fs, size_t *size_r) +{ + return get_png (g, fs, OPENSUSE_ICON, size_r, 2048); +} + /* Windows, as usual, has to be much more complicated and stupid than * anything else. *