mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
VirtualAudio: Convert to new style XML props
This commit is contained in:
parent
a9296ec3ae
commit
4f7f9e2267
@ -658,10 +658,20 @@ class TestXMLConfig(unittest.TestCase):
|
||||
i = utils.make_pxe_installer()
|
||||
g = utils.get_basic_fullyvirt_guest(installer=i)
|
||||
|
||||
g.add_device(VirtualAudio(g.conn, "sb16"))
|
||||
g.add_device(VirtualAudio(g.conn, "es1370"))
|
||||
g.add_device(VirtualAudio(g.conn, "pcspk"))
|
||||
g.add_device(VirtualAudio(g.conn))
|
||||
d = VirtualAudio(g.conn)
|
||||
d.model = "sb16"
|
||||
g.add_device(d)
|
||||
|
||||
d = VirtualAudio(g.conn)
|
||||
d.model = "es1370"
|
||||
g.add_device(d)
|
||||
|
||||
d = VirtualAudio(g.conn)
|
||||
d.model = "pcspk"
|
||||
g.add_device(d)
|
||||
|
||||
d = VirtualAudio(g.conn)
|
||||
g.add_device(d)
|
||||
|
||||
self._compare(g, "boot-many-sounds", False)
|
||||
|
||||
@ -737,8 +747,13 @@ class TestXMLConfig(unittest.TestCase):
|
||||
g.add_device(dev1)
|
||||
|
||||
# Sound devices
|
||||
g.add_device(VirtualAudio(g.conn, "sb16"))
|
||||
g.add_device(VirtualAudio(g.conn, "es1370"))
|
||||
d = VirtualAudio(g.conn)
|
||||
d.model = "sb16"
|
||||
g.add_device(d)
|
||||
|
||||
d = VirtualAudio(g.conn)
|
||||
d.model = "es1370"
|
||||
g.add_device(d)
|
||||
|
||||
# Disk devices
|
||||
d = VirtualDisk(g.conn)
|
||||
|
@ -1434,8 +1434,8 @@ class vmmAddHardware(vmmGObjectUI):
|
||||
def validate_page_sound(self):
|
||||
smodel = self.get_config_sound_model()
|
||||
try:
|
||||
self._dev = virtinst.VirtualAudio(self.conn.get_backend(),
|
||||
model=smodel)
|
||||
self._dev = virtinst.VirtualAudio(self.conn.get_backend())
|
||||
self._dev.model = smodel
|
||||
except Exception, e:
|
||||
return self.err.val_err(_("Sound device parameter error"), e)
|
||||
|
||||
|
@ -22,38 +22,11 @@ from virtinst.xmlbuilder import XMLProperty
|
||||
|
||||
|
||||
class VirtualAudio(VirtualDevice):
|
||||
|
||||
_virtual_device_type = VirtualDevice.VIRTUAL_DEV_AUDIO
|
||||
|
||||
MODEL_DEFAULT = "default"
|
||||
MODELS = ["es1370", "sb16", "pcspk", "ac97", "ich6", MODEL_DEFAULT]
|
||||
|
||||
def __init__(self, conn, model=None, parsexml=None, parsexmlnode=None):
|
||||
VirtualDevice.__init__(self, conn, parsexml, parsexmlnode)
|
||||
|
||||
self._model = None
|
||||
if self._is_parse():
|
||||
return
|
||||
|
||||
if model is None:
|
||||
model = self.MODEL_DEFAULT
|
||||
self.model = model
|
||||
|
||||
def get_model(self):
|
||||
return self._model
|
||||
def set_model(self, new_model):
|
||||
if type(new_model) != str:
|
||||
raise ValueError(_("'model' must be a string, "
|
||||
" was '%s'." % type(new_model)))
|
||||
if not self.MODELS.count(new_model):
|
||||
raise ValueError(_("Unsupported sound model '%s'" % new_model))
|
||||
self._model = new_model
|
||||
model = XMLProperty(get_model, set_model,
|
||||
xpath="./@model")
|
||||
|
||||
def _get_xml_config(self):
|
||||
model = self.model
|
||||
if model == self.MODEL_DEFAULT:
|
||||
model = "es1370"
|
||||
|
||||
return " <sound model='%s'/>" % model
|
||||
model = XMLProperty(xpath="./@model",
|
||||
default_cb=lambda s: "es1370",
|
||||
default_name=MODEL_DEFAULT)
|
||||
|
@ -843,7 +843,7 @@ def get_video(guest, video_models=None):
|
||||
def get_sound(old_sound_bool, sound_opts, guest):
|
||||
if not sound_opts:
|
||||
if old_sound_bool:
|
||||
guest.add_device(VirtualAudio(conn=guest.conn))
|
||||
guest.add_device(VirtualAudio(guest.conn))
|
||||
return
|
||||
|
||||
for opts in listify(sound_opts):
|
||||
@ -1929,15 +1929,13 @@ def parse_video(guest, optstr, dev=None):
|
||||
# --soundhw parsing #
|
||||
#####################
|
||||
|
||||
|
||||
def parse_sound(guest, optstr, dev=None):
|
||||
opts = {"model" : optstr}
|
||||
|
||||
if not dev:
|
||||
dev = virtinst.VirtualAudio(conn=guest.conn)
|
||||
dev = virtinst.VirtualAudio(guest.conn)
|
||||
|
||||
set_param = _build_set_param(dev, opts)
|
||||
|
||||
set_param("model", "model")
|
||||
|
||||
if opts:
|
||||
|
Loading…
Reference in New Issue
Block a user