mirror of
https://github.com/virt-manager/virt-manager.git
synced 2026-08-08 20:18:09 -05:00
Fix use of DBus objects to always go via an explicit interface
This commit is contained in:
@@ -180,10 +180,11 @@ class vmmConnection(gobject.GObject):
|
||||
def _net_phys_device_added(self, path):
|
||||
logging.debug("Got physical device %s" % path)
|
||||
obj = self.bus.get_object("org.freedesktop.Hal", path)
|
||||
if obj.QueryCapability("net"):
|
||||
name = obj.GetPropertyString("net.interface")
|
||||
objif = dbus.Interface(obj, "org.freedesktop.Hal.Device")
|
||||
if objif.QueryCapability("net"):
|
||||
name = objif.GetPropertyString("net.interface")
|
||||
# XXX ...but this is Linux specific again - patches welcomed
|
||||
#sysfspath = obj.GetPropertyString("linux.sysfs_path")
|
||||
#sysfspath = objif.GetPropertyString("linux.sysfs_path")
|
||||
# XXX hal gives back paths to /sys/devices/pci0000:00/0000:00:1e.0/0000:01:00.0/net/eth0
|
||||
# which doesnt' work so well - we want this:
|
||||
sysfspath = "/sys/class/net/" + name
|
||||
@@ -202,7 +203,7 @@ class vmmConnection(gobject.GObject):
|
||||
logging.debug("Skipping device %s in bonding slave" % name)
|
||||
return
|
||||
|
||||
mac = obj.GetPropertyString("net.address")
|
||||
mac = objif.GetPropertyString("net.address")
|
||||
|
||||
# Add the main NIC
|
||||
self._net_device_added(name, mac, sysfspath)
|
||||
@@ -237,8 +238,9 @@ class vmmConnection(gobject.GObject):
|
||||
|
||||
def _net_phys_device_removed(self, path):
|
||||
obj = self.bus.get_object("org.freedesktop.Hal", path)
|
||||
if obj.QueryCapability("net"):
|
||||
name = obj.GetPropertyString("net.interface")
|
||||
objif = dbus.Interface(obj, "org.freedesktop.Hal.Device")
|
||||
if objif.QueryCapability("net"):
|
||||
name = objif.GetPropertyString("net.interface")
|
||||
|
||||
if self.netdevs.has_key(name):
|
||||
dev = self.netdevs[name]
|
||||
|
||||
@@ -80,11 +80,9 @@ class vmmConsole(gobject.GObject):
|
||||
self.vncTunnel = None
|
||||
if self.config.get_console_keygrab() == 2:
|
||||
self.vncViewer.set_keyboard_grab(True)
|
||||
self.vncViewer.set_pointer_grab(True)
|
||||
else:
|
||||
self.vncViewer.set_keyboard_grab(False)
|
||||
self.vncViewer.set_pointer_grab(False)
|
||||
self.vncViewer.set_pointer_local(True)
|
||||
self.vncViewer.set_pointer_grab(True)
|
||||
|
||||
self.vncViewer.connect("vnc-pointer-grab", self.notify_grabbed)
|
||||
self.vncViewer.connect("vnc-pointer-ungrab", self.notify_ungrabbed)
|
||||
@@ -287,10 +285,8 @@ class vmmConsole(gobject.GObject):
|
||||
def keygrab_changed(self, src, ignore1=None,ignore2=None,ignore3=None):
|
||||
if self.config.get_console_keygrab() == 2:
|
||||
self.vncViewer.set_keyboard_grab(True)
|
||||
self.vncViewer.set_pointer_grab(True)
|
||||
else:
|
||||
self.vncViewer.set_keyboard_grab(False)
|
||||
self.vncViewer.set_pointer_grab(False)
|
||||
|
||||
def toggle_fullscreen(self, src):
|
||||
if src.get_active():
|
||||
|
||||
@@ -144,7 +144,6 @@ class vmmCreate(gobject.GObject):
|
||||
cd_list.add_attribute(text, 'sensitive', 2)
|
||||
try:
|
||||
self.optical_helper = vmmOpticalDriveHelper(self.window.get_widget("cd-path"))
|
||||
self.optical_helper.populate_opt_media()
|
||||
self.window.get_widget("media-physical").set_sensitive(True)
|
||||
except Exception, e:
|
||||
logging.error("Unable to create optical-helper widget: '%s'", e)
|
||||
|
||||
@@ -404,10 +404,11 @@ class vmmCreateNetwork(gobject.GObject):
|
||||
# Find info about all current present media
|
||||
for d in self.hal_iface.FindDeviceByCapability("volume"):
|
||||
vol = self.bus.get_object("org.freedesktop.Hal", d)
|
||||
if vol.GetPropertyBoolean("volume.is_disc") and \
|
||||
vol.GetPropertyBoolean("volume.disc.has_data"):
|
||||
devnode = vol.GetProperty("block.device")
|
||||
label = vol.GetProperty("volume.label")
|
||||
volif = dbus.Interface(vol, "org.freedesktop.Hal.Device")
|
||||
if volif.GetPropertyBoolean("volume.is_disc") and \
|
||||
volif.GetPropertyBoolean("volume.disc.has_data"):
|
||||
devnode = volif.GetProperty("block.device")
|
||||
label = volif.GetProperty("volume.label")
|
||||
if label == None or len(label) == 0:
|
||||
label = devnode
|
||||
vollabel[devnode] = label
|
||||
@@ -416,7 +417,8 @@ class vmmCreateNetwork(gobject.GObject):
|
||||
|
||||
for d in self.hal_iface.FindDeviceByCapability("storage.cdrom"):
|
||||
dev = self.bus.get_object("org.freedesktop.Hal", d)
|
||||
devnode = dev.GetProperty("block.device")
|
||||
devif = dbus.Interface(dev, "org.freedesktop.Hal.Device")
|
||||
devnode = devif.GetProperty("block.device")
|
||||
if vollabel.has_key(devnode):
|
||||
model.append([devnode, vollabel[devnode], True, volpath[devnode]])
|
||||
else:
|
||||
|
||||
@@ -52,10 +52,11 @@ class vmmOpticalDriveHelper(gobject.GObject):
|
||||
# Find info about all current present media
|
||||
for d in self.hal_iface.FindDeviceByCapability("volume"):
|
||||
vol = self.bus.get_object("org.freedesktop.Hal", d)
|
||||
if vol.GetPropertyBoolean("volume.is_disc") and \
|
||||
vol.GetPropertyBoolean("volume.disc.has_data"):
|
||||
devnode = vol.GetProperty("block.device")
|
||||
label = vol.GetProperty("volume.label")
|
||||
volif = dbus.Interface(vol, "org.freedesktop.Hal.Device")
|
||||
if volif.GetPropertyBoolean("volume.is_disc") and \
|
||||
volif.GetPropertyBoolean("volume.disc.has_data"):
|
||||
devnode = volif.GetProperty("block.device")
|
||||
label = volif.GetProperty("volume.label")
|
||||
if label == None or len(label) == 0:
|
||||
label = devnode
|
||||
vollabel[devnode] = label
|
||||
@@ -63,19 +64,21 @@ class vmmOpticalDriveHelper(gobject.GObject):
|
||||
|
||||
for d in self.hal_iface.FindDeviceByCapability("storage.cdrom"):
|
||||
dev = self.bus.get_object("org.freedesktop.Hal", d)
|
||||
devnode = dev.GetProperty("block.device")
|
||||
devif = dbus.Interface(dev, "org.freedesktop.Hal.Device")
|
||||
devnode = devif.GetProperty("block.device")
|
||||
if vollabel.has_key(devnode):
|
||||
self.model.append([devnode, vollabel[devnode], True, volpath[devnode]])
|
||||
self.model.append([devnode, "%s (%s)" % (vollabel[devnode], devnode), True, volpath[devnode]])
|
||||
else:
|
||||
self.model.append([devnode, _("No media present"), False, None])
|
||||
self.model.append([devnode, "%s (%s)" % (_("No media present"), devnode), False, None])
|
||||
|
||||
def _device_added(self, path):
|
||||
vol = self.bus.get_object("org.freedesktop.Hal", path)
|
||||
if vol.QueryCapability("volume"):
|
||||
if vol.GetPropertyBoolean("volume.is_disc") and \
|
||||
vol.GetPropertyBoolean("volume.disc.has_data"):
|
||||
devnode = vol.GetProperty("block.device")
|
||||
label = vol.GetProperty("volume.label")
|
||||
volif = dbus.Interface(vol, "org.freedesktop.Hal.Device")
|
||||
if volif.QueryCapability("volume"):
|
||||
if volif.GetPropertyBoolean("volume.is_disc") and \
|
||||
volif.GetPropertyBoolean("volume.disc.has_data"):
|
||||
devnode = volif.GetProperty("block.device")
|
||||
label = volif.GetProperty("volume.label")
|
||||
if label == None or len(label) == 0:
|
||||
label = devnode
|
||||
|
||||
@@ -88,8 +91,6 @@ class vmmOpticalDriveHelper(gobject.GObject):
|
||||
row[3] = path
|
||||
|
||||
def _device_removed(self, path):
|
||||
vol = self.bus.get_object("org.freedesktop.Hal", path)
|
||||
|
||||
active = self.widget.get_active()
|
||||
idx = 0
|
||||
# Search for the row containing matching HAL volume path
|
||||
|
||||
Reference in New Issue
Block a user