
    ?ga                     F    d dl mZmZ dZdZ G d dej
                        Zy)    )GioGObjectzorg.Cinnamon.LookingGlassz/org/Cinnamon/LookingGlassc                   0   e Zd Zej                  j
                  deffej                  j
                  ej                  j                  z  ddfdZd Z	d Z
d Zd Zd Zd	 Zd
 Zd Zd ZddZd Zd Zd Zd Zd Zd Zd ZddZd Zd Zd Zd Zd Zy)LookingGlassProxyN )status-changedsignalc                     t         j                  j                  |        d | _        d| _        t        j                  t
        j                  j                  t        t
        j                  j                  | j                  | j                         y )NF)r   Object__init___proxystater   bus_watch_nameBusTypeSESSIONLG_DBUS_NAMEBusNameWatcherFlagsNONEon_bus_connecton_bus_disconnectselfs    @/usr/share/cinnamon/cinnamon-looking-glass/lookingglass_proxy.pyr   zLookingGlassProxy.__init__   s`    %
3;;..'2277..11		3    c                 B    | j                  | j                                y N)
set_statusget_is_readyr   s    r   refresh_statusz LookingGlassProxy.refresh_status   s    ))+,r   c                 Z    | j                   d uxr | j                   j                         d uS r   )r   get_name_ownerr   s    r   r   zLookingGlassProxy.get_is_ready   s(    {{$&S4;;+E+E+Gt+SSr   c                     |d   j                         }|dd  D ]*  }||j                         rdnd|j                         z   z  }, d|z   S )Nr      - zsignal::)lowerisupper)r   r	   outletters       r   prepare_signal_namez%LookingGlassProxy.prepare_signal_name   sV    QiooQRj 	FF6>>+Cv||~EEC	F Cr   c                 H    | j                  |      }| j                  |       y r   )r*   emit)r   proxysender_namesignal_nameparamsdetailed_names         r   	on_signalzLookingGlassProxy.on_signal&   s    00=		- r   c                 V    || j                   k7  r|| _         | j                  d|       y y )Nr   )r   r,   )r   r   s     r   r   zLookingGlassProxy.set_status*   s)    DJJDJII&. r   c                 >    | j                   ry | j                          y r   )r   
init_proxy)r   
connectionnameowners       r   r   z LookingGlassProxy.on_bus_connect/   s    ;;r   c                 2    d | _         | j                          y r   )r   r   )r   r6   r7   s      r   r   z#LookingGlassProxy.on_bus_disconnect4   s    r   c                 h   	 t         j                  j                  t         j                  j                  t         j
                  j                  d t        t        t        d | j                  d 	      | _
        y # t        j                  $ r)}t        d|j                  z         d | _
        Y d }~y d }~ww xY w)NzCCould not establish proxy with Cinnamon looking-glass interface: %s)r   	DBusProxynew_for_busr   r   DBusProxyFlagsr   r   LG_DBUS_PATHon_proxy_readyr   GLibErrorprintmessage)r   es     r   r5   zLookingGlassProxy.init_proxy8   s    	--33CKK4G4G474F4F4K4K484@4@4@48484G4G48:DK zz 	WZ[ZcZccdDKK	s   A2A5 5B1B,,B1c                     t         j                  j                  |      | _        | j                  j	                  d| j
                         | j                          y )Nzg-signal)r   r;   new_for_bus_finishr   connectr2   r   )r   objresultdatas       r   r?   z LookingGlassProxy.on_proxy_readyG   s<    mm66v>J7r   c                 v    | j                   r	 | j                   j                  d|       y y # t        $ r Y y w xY wN(s))r   Eval	Exceptionr   codes     r   rN   zLookingGlassProxy.EvalM   s;    ;;  -      , 	88c                 r    | j                   r	 | j                   j                  d      S y# t        $ r Y yw xY wN()Fr%   )r   
GetResultsrO   r   s    r   rW   zLookingGlassProxy.GetResultsT   s?    ;;{{--d33      * 	66c                 v    | j                   r	 | j                   j                  d|       y y # t        $ r Y y w xY wrL   )r   	AddResultrO   rP   s     r   rZ   zLookingGlassProxy.AddResult\   s;    ;;%%eT2   rR   c                     | j                   r*	 | j                   j                  d|| j                         y y # t        $ r Y y w xY w)NrU   )result_handlererror_handler)r   GetErrorStack_get_error_stack_error_cbrO   )r   	result_cbs     r   r^   zLookingGlassProxy.GetErrorStackc   sG    ;;))$yX\XvXv)w   s   (8 	AAc                 4    t        d|j                  z         y )Nz"Couldn't fetch the error stack: %srB   rC   r   r-   errors      r   r_   z+LookingGlassProxy._get_error_stack_error_cbj   s    2U]]BCr   c                 z    | j                   r	 | j                   j                  d      S ddi fS # t        $ r Y w xY w)NrU   Fr   )r   GetMemoryInforO   r   s    r   rf   zLookingGlassProxy.GetMemoryInfom   sE    ;;{{0066 a|  s   . 	::c                 t    | j                   r	 | j                   j                  d       y y # t        $ r Y y w xY wNrU   )r   FullGcrO   r   s    r   ri   zLookingGlassProxy.FullGcu   s9    ;;""4(      + 	77c                     | j                   r,	 | j                   j                  d||| j                  |       y y # t        $ r}t	        |       Y d }~y d }~ww xY w)NrM   )r\   r]   	user_data)r   Inspect_inspect_error_cbrO   rB   )r   rQ   r`   rl   rD   s        r   rm   zLookingGlassProxy.Inspect|   sZ    ;;##E4	Y]YoYo  |E#  F   as   *: 	AAAc                 4    t        d|j                  z         y )NzCouldn't inspect element: %srb   rc   s      r   rn   z#LookingGlassProxy._inspect_error_cb   s    ,u}}<=r   c                 r    | j                   r	 | j                   j                  d      S y# t        $ r Y yw xY wrT   )r   GetLatestWindowListrO   r   s    r   rq   z%LookingGlassProxy.GetLatestWindowList   s?    ;;{{66t<<   rX   c                 t    | j                   r	 | j                   j                  d       y y # t        $ r Y y w xY wrh   )r   StartInspectorrO   r   s    r   rs   z LookingGlassProxy.StartInspector   s9    ;;**40   rj   c                 r    | j                   r	 | j                   j                  d      S y# t        $ r Y yw xY wrT   )r   GetExtensionListrO   r   s    r   ru   z"LookingGlassProxy.GetExtensionList   s?    ;;{{33D99   rX   c                 v    | j                   r	 | j                   j                  d||      S y# t        $ r Y yw xY w)Nz(ss)rV   )r   ReloadExtensionrO   )r   uuid	xlet_types      r   rw   z!LookingGlassProxy.ReloadExtension   sC    ;;{{2264KK   rR   r   ) __name__
__module____qualname__r   SignalFlagsRUN_LASTboolDETAILED__gsignals__r   r   r   r*   r2   r   r   r   r5   r?   rN   rW   rZ   r^   r_   rf   ri   rm   rn   rq   rs   ru   rw   r   r   r   r   r      s    "..77xH&&//'2E2E2N2NNPTVXYL
3-T !/

D>r   r   N)gi.repositoryr   r   r   r>   r   r   r   r   r   <module>r      s&    '*+[ [r   