
    W'Fg                         S SK JrJr  SSKJrJrJr  SSKJr  S r	 " S S\5      r
 " S S	\5      r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      rg)   )DeviceDeviceSeclabel   )
XMLBuilderXMLChildPropertyXMLProperty)xmlutilc                     S nU" U5      u  pVU(       a	  U(       d  Sn[         R                  " XU5        U(       a  [         R                  " XU5        g g )Nc                 h    U =(       d    SR                  S5      u  pnU=(       d    S U=(       d    S 4$ )N :)	partition)valhostignoreports       0/usr/share/virt-manager/virtinst/devices/char.py
parse_host$_set_host_helper.<locals>.parse_host   s.    !iR2237d|tT\T))    z	127.0.0.1)r	   set_prop_path)obj	hostparam	portparamr   r   r   r   s          r   _set_host_helperr      sF    * CJDD#$/cd3 r   c                   F   \ rS rSrSr/ SQrS rS rS r\	" \
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S	S9r\" SS	S9r\" S5      r\" S5      r\" S5      r\" SS	S9r\" S5      r\" SS	S
9r\" S5      r\" SS	S
9rSrg)
CharSource   source)	bind_hostbind_servicemodeconnect_hostconnect_servicepathchannelc                      [        U SSU5        g )Nr#   r$   r   selfr   s     r   set_friendly_connectCharSource.set_friendly_connect   s    ~/@#Fr   c                      [        U SSU5        g )Nr    r!   r(   r)   s     r   set_friendly_bindCharSource.set_friendly_bind!   s    {NC@r   c                      [        U SSU5        g )Nr   servicer(   r)   s     r   set_friendly_hostCharSource.set_friendly_host#   s    vy#6r   z./@hostz
./@serviceTis_intz./@pathz
./@channelz	./@masterz./@slavez./@modez./@tls)is_yesnoz./clipboard/@copypastez./mouse/@modez./../protocol/@typez./../log/@filez./../log/@append)is_onoffz"./../source[@mode='connect']/@hostz%./../source[@mode='connect']/@servicez./../source[@mode='bind']/@hostz"./../source[@mode='bind']/@service N)__name__
__module____qualname____firstlineno__XML_NAME_XML_PROP_ORDERr+   r.   r2   r   r   	seclabelsr   r   r1   r%   r&   masterslaver"   tlsclipboard_copypaste
mouse_modeprotocollog_file
log_appendr#   r$   r    r!   __static_attributes__r8   r   r   r   r      s    H*OGA7 !0Iy!D,t4Gy!D,'G%F
#Ey!D
h
.C &&>N_-J
 01H+,H/$?J CDL!3DBO=>ICDQLr   r   c                       \ 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rSrSrSrSrSrSrSrSr\\\\/rS r/ SQr\" S5      r\" \SS9r\" S5      r\" SSS9r \" S5      r!\" S5      r"\" S5      r#\" S 5      r$S! r%S"r&g#)$_DeviceCharE   zK
Base class for all character devices. Shouldn't be instantiated
directly.
ptydevstdiopipefilevcnulltcpudpunixspicevmc	spiceportnmdmzqemu-vdagentzcom.redhat.spice.0zorg.qemu.guest_agent.0zorg.libguestfs.channel.0zorg.spice-space.webdav.0c                      [        U SSU5        g )Ntarget_addresstarget_portr(   r)   s     r   set_friendly_target_DeviceChar.set_friendly_targetc   s    /Dr   )typer   target_typetarget_nametarget_statez./@typeT)	is_singlez./target/@addressz./target/@portr4   z./target/@typez./target/@namez./target/@statez./target/model/@namec                    U R                   R                  (       d7  U R                  U R                  U R                  4;   a  SU R                   l        U R
                  (       d  U R                  S:X  a  SU l        U R                  (       dG  U R                  U R                  :X  d  U R                  U R                  :X  a  U R                  U l        g g g )Nbindr&   virtio)r   r"   r^   	TYPE_UNIXTYPE_TCPr_   DEVICE_TYPEr`   TYPE_SPICEVMCTYPE_QEMUVDAGENTCHANNEL_NAME_SPICE)r*   _guests     r   set_defaults_DeviceChar.set_defaultsx   s      II$..$--88%DKKD$4$4	$A'DTYY$2D2D%D		T222#66D 3  r   )r`   r_   N)'r9   r:   r;   r<   __doc__TYPE_PTYTYPE_DEV
TYPE_STDIO	TYPE_PIPE	TYPE_FILETYPE_VC	TYPE_NULLrg   TYPE_UDPrf   ri   TYPE_SPICEPORT	TYPE_NMDMrj   rk   CHANNEL_NAME_QEMUGACHANNEL_NAME_LIBGUESTFSCHANNEL_NAME_SPICE_WEBDAVCHANNEL_NAMESr\   r>   r   r^   r   r   r   rZ   r[   r_   r`   ra   target_model_namerm   rH   r8   r   r   rJ   rJ   E   s    
 HHJIIGIHHIM NI%-28 :'(,.0M
EEO y!DjD9F !45N.t<K./K./K01L#$:;7r   rJ   c                   (    \ rS rSr\S 5       rSrSrg)DeviceConsole   c                     UR                   S:w  a  gU R                  R                  nU(       d  gUS   nUR                  UR                  :X  a   UR                  b  UR                  S:X  a  U$ gg)z\
Determine if the passed serial device has a duplicate
<console> device in the passed Guest
serialN    )rh   devicesconsoler^   r_   )guestr   consolesr   s       r   get_console_duplicate#DeviceConsole.get_console_duplicate   sl     )==((1+LLFKK'  (G,?,?8,KN -L (r   r   r8   N)r9   r:   r;   r<   staticmethodr   r=   rH   r8   r   r   r   r      s     " Hr   r   c                       \ rS rSrSrSrg)DeviceSerial   r   r8   Nr9   r:   r;   r<   r=   rH   r8   r   r   r   r      s    Hr   r   c                       \ rS rSrSrSrg)DeviceParallel   parallelr8   Nr   r8   r   r   r   r      s    Hr   r   c                       \ rS rSrSrSrg)DeviceChannel   r&   r8   Nr   r8   r   r   r   r      s    Hr   r   N)devicer   r   
xmlbuilderr   r   r   r   r	   r   r   rJ   r   r   r   r   r8   r   r   <module>r      sd    + B B 
4)R )RX;7& ;7~K ,; [ K r   