
    W'Fg]                     R    S SK r SSKJr  SSKJr  SSKJr  SSKJr   " S S	\5      r	g)
    N   )log   )Device)
NodeDevice)XMLPropertyc                      \ rS rSrSrS r/ SQr\" S5      r\" S5      r	\" SSS	9r
\" S
5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" SSS9r\" S5      r\" SSS9r\" SSS9r\" SSS9r\" S5      r\" S5      r\" S5      r\" S5      rS rS r g!)"DeviceHostdev   hostdevc                     [         R                  " SUR                  5       5        UR                  [        R
                  :X  aL  SU l        UR                  U l        UR                  U l        UR                  U l	        UR                  U l
        g UR                  [        R                  :X  a  SU l        UR                  U l        UR                  U l        SnU R                   R#                  5        H`  nUR                  [        R                  :X  d  M#  UR                  U R                  :X  d  M?  UR                  U R                  :X  d  M[  US-  nMb     US:  a#  UR                  U l        UR$                  U l        g g UR                  UR&                  :X  aS  S nU R                   R#                  5        H!  nUR(                  UR*                  :X  d  M  Un  O   U R-                  U5        g UR                  UR.                  :X  aV  SU l        SUR0                  -  U l        UR                  U l        UR6                  U l        UR:                  U l        SU l        g UR                  UR@                  :X  a  S	U l        URB                  S
:X  a  SU l"        SU l        OURB                  S:X  a  SU l"        SU l        O[F        RH                  " SURB                  =(       d    S5      (       d/  [F        RH                  " SURB                  =(       d    S5      (       a  SU l"        SU l        SU l%        SU l&        O![O        [Q        S5      URB                  -  5      eURS                  5       U l*        g [O        [Q        S5      UR                  -  5      e)Nzset_from_nodedev xml=
%spciusbr   r   scsizscsi_host%sFmdevzvfio_ccw-iozvfio-ccwnozvfio_ap-passthroughzvfio-apz^nvidia-[0-9]{2} z^i915-GVTg_V[0-9]_[0-9]zvfio-pciyesoffz8Don't know how to generate nodedev for mdev type id '%s'z!Unsupported node device type '%s')+r   debugget_xmldevice_typer   CAPABILITY_TYPE_PCItypedomainbusslotfunctionCAPABILITY_TYPE_USBDEV	vendor_idvendor
product_idproductconnfetch_all_nodedevsdeviceCAPABILITY_TYPE_NETnameparentset_from_nodedevCAPABILITY_TYPE_SCSIDEVhostscsi_adapterscsi_bustargetscsi_targetlun	scsi_unitmanagedCAPABILITY_TYPE_MDEVtype_idmodelrematchdisplayramfb
ValueError_get_mdev_uuiduuid)selfnodedevcountdevfounddevcheckdevs         3/usr/share/virt-manager/virtinst/devices/hostdev.pyr*   DeviceHostdev.set_from_nodedev   s   		-w/@A*"@"@@DI!..DK{{DHDI#,,DM  J$E$EEDI!++DK"--DLEyy335OOz'H'HHMMT[[0NNdll2QJE	 6 qy";;%nn    G$?$??H II88:==GNN2'H ;
 !!(+  G$C$CCDI - <D#KKDM&~~D$[[DN DL  G$@$@@DI-/'
#$99&
#((-w/D"EE((4goo6KLL'
$$"
 !TU() )  --/DI QBC''( ) )    )moder   r3   r!   r#   r   r   r   r   r6   r9   r:   z./@modez./@typez
./@managedT)is_yesnoz./@modelz
./@displayz./@ramfbz./source/vendor/@idz./source/product/@idz./source/address/@devicez./source/address/@busz./source/address/@domainz./source/address/@functionz./source/address/@slotz./driver/@namez
./rom/@bar)is_onoffz./source/adapter/@name)is_intz./source/address/@targetz./source/address/@unitz./source/interfacez./source/charz./source/blockz./source/address/@uuidc                     U R                   c1  U R                  R                  5       =(       a    S=(       d    SU l         U R                  (       d  SU l        g g )Nr   r   	subsystem)r3   r$   is_xenrH   )r?   guests     rE   set_defaultsDeviceHostdev.set_defaults   s=    <<99++-6$?%DLyy#DI rG   )r   r&   r9   r   r   r3   rH   r6   r#   r:   r-   r.   r0   r2   r   r   r>   r!   N)!__name__
__module____qualname____firstlineno__XML_NAMEr*   _XML_PROP_ORDERr   rH   r   r3   r6   r9   r:   r!   r#   r&   r   r   r   r   driver_namerom_barr-   r.   r0   r2   net_interface	misc_charstorage_blockr>   rP   __static_attributes__ rG   rE   r
   r
      s%   HF)R+O y!Dy!D,6G
#E,'G
#E./F01G34F
-
.C34F78H/0D./K,6G 78L24@H8FK4TBI   45M O,I   01M /0D$rG   r
   )
r7   loggerr   r&   r   r@   r   
xmlbuilderr   r
   r^   rG   rE   <module>ra      s$    
     $$F $rG   