Fix use of DBus objects to always go via an explicit interface

This commit is contained in:
Daniel P. Berrange
2008-03-05 12:47:52 -05:00
parent 31f800f4ae
commit 989465d6e5
5 changed files with 31 additions and 31 deletions
+8 -6
View File
@@ -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]
+1 -5
View File
@@ -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():
-1
View File
@@ -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)
+7 -5
View File
@@ -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:
+15 -14
View File
@@ -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