[gnome-boxes] Adapt to new osinfo's OS detection API
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-boxes] Adapt to new osinfo's OS detection API
- Date: Thu, 24 Nov 2011 16:30:18 +0000 (UTC)
commit 139424b696357e000f77e1586f58dea7dcd9cdce
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date: Wed Nov 23 23:59:37 2011 +0200
Adapt to new osinfo's OS detection API
Now osinfo gives us the exact media from its list that was matched
against the media we provided.
https://bugzilla.gnome.org/show_bug.cgi?id=664214
configure.ac | 2 +-
src/installer-media.vala | 12 ++++++------
src/os-database.vala | 7 +++++--
3 files changed, 12 insertions(+), 9 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index d5d7200..474ba88 100644
--- a/configure.ac
+++ b/configure.ac
@@ -44,7 +44,7 @@ LIBVIRT_GCONFIG_MIN_VERSION=0.0.1
LIBXML2_MIN_VERSION=2.7.8
SPICE_GTK_MIN_VERSION=0.7.81
GUDEV_MIN_VERSION=167
-OSINFO_MIN_VERSION=0.0.1
+OSINFO_MIN_VERSION=0.0.3
PKG_CHECK_MODULES(BOXES, [
clutter-gtk-1.0 >= $CLUTTER_GTK_MIN_VERSION
diff --git a/src/installer-media.vala b/src/installer-media.vala
index 54d1329..055c74e 100644
--- a/src/installer-media.vala
+++ b/src/installer-media.vala
@@ -55,17 +55,17 @@ private class Boxes.InstallerMedia : Object {
Cancellable? cancellable) throws GLib.Error {
var device = yield get_device_from_path (path, client, cancellable);
- if (device != null)
+ if (device != null) {
get_os_and_label_from_device (device, os_db);
- else {
+ if (os != null)
+ os_media = os_db.get_prefered_media_for_os (os);
+ } else {
from_image = true;
- os = yield os_db.guess_os_from_install_media (device_file, cancellable);
+ os = yield os_db.guess_os_from_install_media (device_file, out os_media, cancellable);
}
- if (os != null) {
+ if (os != null)
label = os.get_name ();
- os_media = os_db.get_prefered_media_for_os (os);
- }
if (label == null)
label = Path.get_basename (device_file);
diff --git a/src/os-database.vala b/src/os-database.vala
index eed1ca5..b103854 100644
--- a/src/os-database.vala
+++ b/src/os-database.vala
@@ -30,10 +30,12 @@ private class Boxes.OSDatabase {
db = loader.get_db ();
}
- public async Os? guess_os_from_install_media (string media_path, Cancellable? cancellable) throws GLib.Error {
+ public async Os? guess_os_from_install_media (string media_path,
+ out Media os_media,
+ Cancellable? cancellable) throws GLib.Error {
var media = yield Media.create_from_location_async (media_path, Priority.DEFAULT, cancellable);
- return db.guess_os_from_media (media);
+ return db.guess_os_from_media (media, out os_media);
}
public Os? get_os_by_id (string id) {
@@ -54,6 +56,7 @@ private class Boxes.OSDatabase {
return get_resources_from_os_resources (minimum, recommended);
}
+ // FIXME: We should be choosing the media that actually correponsds to original media (if any)
public Media? get_prefered_media_for_os (Os os) {
var medias = os.get_media_list ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]