
    "j!
                     2    d dl mZ d dlmZ  G d de      Zy)    )Device)Commandc                   X    e Zd ZdZdZdZdZddZddZd Z	d	 Z
d
 Zd Zd Zd ZddZy)Hostz (connected to|already connected)offlinedevice
bootloaderc                     | j                         5 }|j                  |       |r|j                         }|cd d d        S |j                          	 d d d        y # 1 sw Y   y xY wN)create_connectionsendreceivecheck_status)selfcmdwith_responseconnresults        _/var/www/oz-panel.ru/ozpay-pub/venv/lib/python3.12/site-packages/ppadb/command/host/__init__.py_execute_cmdzHost._execute_cmd   sY    ##% 	$IIcN		$ 	$ !!#	$ 	$ 	$s   %A AA#Nc                     d}| j                  |      }g }|j                  d      D ]N  }|s |S |j                         }|rt        |      dkD  r	|d   |k7  r1|j                  t	        | |d                P |S )Nzhost:devices
   r   )r   splitlenappendr   )r   stater   r   deviceslinetokenss          r   r   zHost.devices   s    ""3'LL& 	4D  ZZ\FVqVAY%-?NN6$q	23	4     c                 N    d}| j                  |      }|j                  d      }|S )Nzhost:features,r   r   )r   r   r   featuress       r   r%   zHost.features'   s*    ""3'<<$r!   c                     | j                         5 }|j                  d       |j                         }t        |d      cd d d        S # 1 sw Y   y xY w)Nzhost:version   )r   r   r   int)r   r   versions      r   r)   zHost.version-   sF    ##% 	$IIn%llnGw#	$ 	$ 	$s   -AAc                 p    | j                         5 }|j                  d       ddd       y# 1 sw Y   yxY w)z
            Ask the ADB server to quit immediately. This is used when the
            ADB client detects that an obsolete server is running after an
            upgrade.
        z	host:killNT)r   r   )r   r   s     r   killz	Host.kill3   s8     ##% 	#IIk"	# 	# s   ,5c                 .    d}| j                  |d       y )Nzhost:killforward-allF)r   r   )r   r   s     r   killforward_allzHost.killforward_all>   s    $#U3r!   c                     d}| j                  |      }i }|j                  d      D ]*  }|s|j                         \  }}}||vri ||<   |||   |<   , |S )Nzhost:list-forwardr   r$   )r   r   r   device_forward_mapr   seriallocalremotes           r   list_forwardzHost.list_forwardB   sv    !""3'LL& 	;D(,

%v!3313&v.4:"6*51	; "!r!   c                 :    d||fz  }| j                  |      }d|v S )Nzhost:connect:%s:%d	connectedr-   )r   hostportr   r   s        r   remote_connectzHost.remote_connectQ   s+    "dD\1""3'f$$r!   c                 v    d}|r%dj                  |      }|rdj                  ||      }| j                  |      S )Nzhost:disconnect:zhost:disconnect:{}z{}:{})formatr   )r   r7   r8   r   s       r   remote_disconnectzHost.remote_disconnectW   s>     &--d3CnnS$/  %%r!   )Tr   )NN)__name__
__module____qualname__CONNECT_RESULT_PATTERNOFFLINEDEVICE
BOOTLOADERr   r   r%   r)   r+   r.   r4   r9   r<    r!   r   r   r      sD    ?GFJ$$$	4"%&r!   r   N)ppadb.devicer   ppadb.commandr   r   rD   r!   r   <module>rG      s     !Y&7 Y&r!   