Source code for virttest.libvirt_xml.devices.input
"""
input device support class(es)
http://libvirt.org/formatdomain.html#elementsInput
"""
from virttest.libvirt_xml import accessors
from virttest.libvirt_xml.devices import base, librarian
[docs]class Input(base.TypedDeviceBase):
__slots__ = ('input_bus', 'address')
def __init__(self, type_name, virsh_instance=base.base.virsh):
super(Input, self).__init__(device_tag='input',
type_name=type_name,
virsh_instance=virsh_instance)
accessors.XMLAttribute(property_name="input_bus",
libvirtxml=self,
forbidden=None,
parent_xpath='/',
tag_name='input',
attribute='bus')
accessors.XMLElementNest('address', self, parent_xpath='/',
tag_name='address', subclass=self.Address,
subclass_dargs={'type_name': 'usb',
'virsh_instance': virsh_instance})
# For convenience
Address = librarian.get('address')
[docs] def new_input_address(self, type_name='usb', **dargs):
"""
Return a new input Address instance and set properties from dargs
"""
new_one = self.Address(type_name=type_name, virsh_instance=self.virsh)
for key, value in dargs.items():
setattr(new_one, key, value)
return new_one