+
    h  c                   sb    ^ RI t ^ RIt^RIHtHtHt R tR t ! R R]4      t ! R R]4      t	R# )	i    N)
XMLBuilderXMLPropertyXMLChildPropertyc                 sJ    R  pV! V 4      p V! V4      pW8H  ;'       g    VR8H  # )c                 s     R \        V 4      9   d   \        T ;'       g    R^4      # \        V 4      #   \         d    Ru # i ; i)Z0xZ0x00)ZstrZint	Exception)Zval   &+/usr/share/virt-manager/virtinst/nodedev.py_intifyZ_compare_int.<locals>._intify   sC    	s3x3==&"--3x 	I	s   3 3 
3 AAr    )nodedev_valhostdev_valr      && r   _compare_intr      s3     +&K+&K%::)::    c                 s     \         P                  ! V 4      p \         P                  ! V4      pW8H  #   \         d    Ru # i ; i)i   r   )uuidZUUIDr   )r	   r
      &&r   _compare_uuidr      sD    ii,ii, %%  	s   ,2 AAc                   s:    ] tR t^&tRt]! R4      t]! R4      tRtR# )DevNodeZdevnodez./@typeZ.r   N)	__name__
__module____qualname____firstlineno__XML_NAMEr   Z	node_typepath__static_attributes__r   r   r   r   r   &   s    HI&IsDr   r   c                   s  a  ] tR t^-t o RtRtRtRtRtRt	Rt
Rt]R	 4       tR
tRt]! R4      t]! R4      t]! R4      tR tR tR tR tR tR t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t ]! R4      t!]! R4      t"]! R4      t#]! R4      t$]! R 4      t%]! R!4      t&]! R"4      t']! R#4      t(]! R$4      t)]! R%4      t*]! R&RR'7      t+]! R(4      t,]-! ].4      t/R.R) lt0]! R*4      t1]! R+4      t2R,t3V t4R-# )/
NodeDeviceZnetpci
usb_deviceZstorageZ	scsi_hostZscsidrmmdevc                s^    V P                  4        F  pVP                  V8X  g   K  Vu # 	  R# )z
Search the nodedev list cache for a matching name, and return the
result.

:param conn: libvirt.virConnect instance to perform the lookup on
:param conn: nodedev name
:returns: NodeDevice instance
N)Zfetch_all_nodedevsname)Zconnr   Znodedevr   r   lookupNodedevByNameZNodeDevice.lookupNodedevByName7   s(     ..0G||t# 1r   deviceTz./namez./parentz./capability/@typec                s|    V P                   e   V P                   # V P                  R,          P                  RR4      # )N:i   NNZ_Z-)r   r   Zreplaceselfr   r   get_mdev_uuidZNodeDevice.get_mdev_uuidO   s3     99 99yy}$$S#..r   c                s   V P                   R 8X  d   VP                  R 8w  d   R# \        V P                  VP                  4      ;'       dq    \        V P                  VP                  4      ;'       dI    \        V P
                  VP
                  4      ;'       d!    \        V P                  VP                  4      # V P                   R8X  d   VP                  R8w  d   R# \        V P                  VP                  4      ;'       dq    \        V P                  VP                  4      ;'       dI    \        V P                  VP                  4      ;'       d!    \        V P                  VP                  4      # V P                   R8X  d8   VP                  R8w  d   R# \        V P                  4       VP                  4      # R# )r   Fr   Zusbr   )device_typeZtyper   domainbusslotfunction
product_idZproduct	vendor_idZvendorr    r   r#   r   )r"   Zhostdevr   r   compare_to_hostdevZNodeDevice.compare_to_hostdevX   s`   u$||u$ T[['..9 B B 7;;7B B GLL9B B !0@0@A	 |+||u$ T__goo> > > @> > 7;;7> > !gnn=	 v%||v% !3!3!5w||DDr   c                     V P                   R 8H  # )Zvirt_functions_capability_typer!   r   r   is_pci_sriovZNodeDevice.is_pci_sriov{   s    $$(888r   c                r,   )z
pci-bridger-   r!   r   r   is_pci_bridgeZNodeDevice.is_pci_bridge~   s    $$44r   c                sN    V P                   R 8H  ;'       d    V P                  R9   # )Z0x1d6b)Z0x0001Z0x0002Z0x0003)r*   r)   r!   r   r   is_usb_linux_root_hubZ NodeDevice.is_usb_linux_root_hub   s#    ~~)__dooA_.__r   c                sN    V P                   R 8H  ;'       d    V P                  R8H  # )r   Zrender)r$   drm_typer!   r   r   is_drm_renderZNodeDevice.is_drm_render   s$    5(FFT]]h-FFr   z./capability/interfacez./capability/domainz./capability/busz./capability/slotz./capability/functionz./capability/productz./capability/vendorz./capability/capability/@typez./capability/devicez./capability/product/@idz./capability/vendor/@idz./capability/hostz./capability/targetz./capability/lunz./capability/blockz./capability/drive_typez6./capability/capability[@type='removable']/media_labelz:./capability/capability[@type='removable']/media_available)Zis_intz./capability/typec                s    V P                    FP  pVP                  P                  \        P                  4      p\        V4      ^8  g   K>  VR,          V8X  g   KN  Vu # 	  \        V P                   4      ^ 8  d   V P                   ^ ,          # R# )i   Ni)devnodesr   ZsplitosZsepZlen)r"   parentZdZpathss   &&  r   get_devnodeZNodeDevice.get_devnode   sh    AFFLL(E5zA~%)v"5  t}}!==## "r   z./capability/type/@idz./capability/uuidr   N)zby-path)5r   r   r   r   ZCAPABILITY_TYPE_NETZCAPABILITY_TYPE_PCIZCAPABILITY_TYPE_USBDEVZCAPABILITY_TYPE_STORAGEZCAPABILITY_TYPE_SCSIBUSZCAPABILITY_TYPE_SCSIDEVZCAPABILITY_TYPE_DRMZCAPABILITY_TYPE_MDEVZstaticmethodr   r   Z_XML_SANITIZEr   r   r6   r$   r#   r+   r/   r0   r1   r3   Z	interfacer%   r&   r'   r(   Zproduct_nameZvendor_namer.   r    r)   r*   ZhostZtargetZlunZblockZ
drive_typeZmedia_labelZmedia_availabler2   r   r   r4   r7   Ztype_idr   r   Z__classdictcell__)Z__classdict__s   @r   r   r   -   s    )')$!  H Mx D$F23K/F95`G 45I ./F
(
)C*+D23H56L34K"#BC ./F78J56I *+D./F
(
)C ,-E67JVWK!DTO
 ./H(H$ 12G*+Dr   r   )
r5   r   Z
xmlbuilderr    r   r   r   r   r   r   r   r   r   <module>r8      s7    
  A A;&j K, K,r   