
    W'Fg                     2    S SK Jr  SSKJr   " S S\5      rg)   )Device   )XMLPropertyc                   Z   \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSr\S 5       r\S 5       r/ SQr\" S5      r\" S5      r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r \" S SS9r!\" S!SS9r"S" r#S# r$S$ r%S%r&g&)'DeviceController   
controlleridefdcscsisatavirtio-serialusbpciccidxenbusc                    / n[        U 5      nSUl        SUl        UR                  U5        [        U 5      nSUl        SUl        SUl        UR                  U5        [        U 5      nSUl        SUl        SUl        UR                  U5        [        U 5      nSUl        SUl        SUl        UR                  U5        U$ )	Nr   z
ich9-ehci1z
ich9-uhci1    z
ich9-uhci2r   z
ich9-uhci3   )r   typemodelappendmaster_startport)connretctrls      6/usr/share/virt-manager/virtinst/devices/controller.pyget_usb2_controllers%DeviceController.get_usb2_controllers   s    %	!


4%	!
 !

4%	!
 !

4%	!
 !

4
    c                     Un[        U 5      nSUl        SUl        U R                  R	                  5       (       a  SUl        U R                  R                  5       (       a  SUl        U$ )Nr   znec-xhciz	qemu-xhci   )r   r   r   supportconn_qemu_xhciconn_usb3_portsports)r   guestignorer   s       r   get_usb3_controller$DeviceController.get_usb3_controller3   sZ    %	
<<&&(($DJ<<'')) DJr    )r   indexr   r   driver_queuesmaxGrantFramesz./@typez./@modelz
./@vectorsT)is_intz./@portsz./@maxGrantFramesz./@indexz./driver/@iothreadz./driver/@queuesz./master/@startportz./target/@chassisNrz./target/@chassisz./target/@portz./target/@hotplug)is_onoffz./target/@busNrz./target/@indexz./target/nodec                     / nUR                   R                   HV  nU R                  UR                  :X  d  M  U R                  UR
                  R                  :X  d  ME  UR                  U5        MX     U$ )N)devicesdiskr   busr+   addressr	   r   )selfr'   r   r2   s       r   _get_attached_disk_devices+DeviceController._get_attached_disk_devicesY   sT    MM&&D		TXX%

dll555

4  ' 
r    c                    / nUR                   R                   H`  nU R                  UR                  R                  :X  d  M)  U R                  UR                  R
                  :X  d  MO  UR                  U5        Mb     UR                   R                   H8  nU R                  S:X  d  M  UR                  S:X  d  M'  UR                  U5        M:     U$ )Nr   virtio)	r1   channelr   r4   r+   r	   r   consoletarget_type)r5   r'   r   devs       r   "_get_attached_virtioserial_devices3DeviceController._get_attached_virtioserial_devicesa   s    ==((C		S[[---

ckk444

3 ) ==((CzzQ3??h#>

3 ) 
r    c                     / nU R                   S:X  a  U R                  U5      nU$ U R                   S;   a  U R                  U5      nU$ )zZ
Return all the Device objects from the passed Guest that are attached
to this controller
r   )r   r   r
   r   )r   r>   r6   )r5   r'   r   s      r   get_attached_devices%DeviceController.get_attached_devicesm   sP    
 99'99%@C 
 YY8811%8C
r     N)'__name__
__module____qualname____firstlineno__XML_NAMETYPE_IDETYPE_FDC	TYPE_SCSI	TYPE_SATATYPE_VIRTIOSERIALTYPE_USBTYPE_PCI	TYPE_CCIDTYPE_XENBUSstaticmethodr   r)   _XML_PROP_ORDERr   r   r   vectorsr&   r-   r+   driver_iothreadr,   r   target_chassisNrtarget_chassistarget_porttarget_hotplugtarget_busNrtarget_indextarget_noder6   r>   rA   __static_attributes__rC   r    r   r   r      s;   H H H!I!I* H H!I#K 4  /O y!D
#E,t4G
40E !4TBN
40E!"6tDO 24@M"#8F"#8F !4TBN.t<K !4tDN0>L0>Lod;K

r    r   N)devicer   
xmlbuilderr   r   rC   r    r   <module>r`      s     $lv lr    