
    |~g                         d dl m Z d dlZd dlmZmZ d dlmZ d dlm	Z	  G d de
      Z G d d	ej                  e
      Z G d de      Z G d de      Z G d de      Zy)    )gettextN)GioGLib)SingletonGObjectMeta)Notificationc                       e Zd Zy)DBusProxyFailedN)__name__
__module____qualname__     :/usr/lib/python3/dist-packages/blueman/main/DBusProxies.pyr	   r	   
   s    r   r	   c                        e Zd Zddej                  j
                  fdededededej                  dd	f fd
Zdede	j                  dd	fdZ xZS )	ProxyBase/Fnameinterface_nameobject_path	systembusflagsreturnNc                    |rt         j                  j                  }nt         j                  j                  }t        |   |||||       	 | j                          y # t        j                  $ r}t        |j                        d }~ww xY w)N)g_nameg_interface_nameg_object_path
g_bus_typeg_flags)r   BusTypeSYSTEMSESSIONsuper__init__initr   Errorr	   message)	selfr   r   r   r   r   bustypee	__class__s	           r   r#   zProxyBase.__init__   sv    kk((Gkk))G+% 	 	
	-IIKzz 	-!!)),,	-s   A B2BBparamsc                     dt         dt        j                  dd ffd}| j                  |t        j                  j
                  dd |       y )Nproxyresponser   c                     	 | j                  |       y # t        j                  $ r t        j                  d d        w xY w)NzFailed to execute method T)exc_info)call_finishr   r%   loggingerror)r-   r.   r   s     r   r1   z*ProxyBase.call_method.<locals>.call_finish$   sB    !!(+::  9$@4Ps	    /A)r   r   AsyncResultcallDBusCallFlagsNONE)r'   r   r+   r1   s    `  r   call_methodzProxyBase.call_method#   sE    	y 	COO 	 	 			$ 1 1 6 6D+Nr   )r
   r   r   r   DBusProxyFlagsr8   strboolr#   r   Variantr9   __classcell__r*   s   @r   r   r      sr    JMaf-0-?-?-D-D-S -# -C -Z^ -**-IM-(O OT\\ Od Or   r   )	metaclassc                         e Zd Zd fdZ xZS )	Mechanismc                 ,    t         |   dddd       y )Nzorg.blueman.Mechanismz/org/blueman/mechanismT)r   r   r   r   r"   r#   r'   r*   s    r   r#   zMechanism.__init__/   s!    5F]%= 	 	Or   r   Nr
   r   r   r#   r>   r?   s   @r   rB   rB   .   s    O Or   rB   c                         e Zd Zd fdZ xZS )AppletServicec                 *    t         |   ddd       y )Nzorg.blueman.Appletz/org/blueman/Applet)r   r   r   rD   rE   s    r   r#   zAppletService.__init__5   s    2CW%: 	 	<r   rF   rG   r?   s   @r   rI   rI   4   s    < <r   rI   c                   @     e Zd Zd fdZddZdeddfdZddZ xZS )	ManagerServicer   Nc                 \    t         |   dddt        j                  j                         y )Nzorg.blueman.Managerzorg.freedesktop.Applicationz/org/blueman/Manager)r   r   r   r   )r"   r#   r   r:   !DO_NOT_AUTO_START_AT_CONSTRUCTIONrE   s    r   r#   zManagerService.__init__;   s.    3Da%;"11SS 	 	Ur   c                     	 t        j                  di f      }| j                  d|       y # t         j                  $ r0 t	        t        d      t        d      d      j                          Y y w xY w)Nz(a{sv})ActivatezFailed to reach blueman-managera*  It seems like blueman-manager could no get activated via D-Bus. A typical cause for this is a broken graphical setup in the D-Bus activation environment that can get resolved with a call to dbus-update-activation-environment, typically issued from xinitrc (respectively the Sway config or similar).r   )r   r=   r9   r%   r   _show)r'   params     r   activatezManagerService.activate@   sl    	LLRE2EZ/zz 	 34 ] ^  df	s   ), A A/.A/r   c                 Z    t        j                  d|g i f      }| j                  d|       y )Nz
(sava{sv})ActivateAction)r   r=   r9   )r'   r   rS   s      r   _call_actionzManagerService._call_actionQ   s)    \D"b>:)51r   c                 &    | j                  d       y )NQuit)rW   )r'   s    r   quitzManagerService.quitU   s    &!r   rF   )	r
   r   r   r#   rT   r;   rW   rZ   r>   r?   s   @r   rL   rL   :   s&    U
"2 2 2"r   rL   )r   rQ   r2   gi.repositoryr   r   blueman.gobjectr   blueman.gui.Notificationr   	Exceptionr	   	DBusProxyr   rB   rI   rL   r   r   r   <module>r`      s\       # 0 1	i 	O)= O@O	 O<I <"Y "r   