
    9qfR                     N    d dl mZ d dlZd dlmZ  G d dej                        Zy)    )GObjectN)DBusGMainLoopc                   (   e Zd ZdZej
                  j                  dej                  ffej
                  j                  dej                  ffej
                  j                  dej                  ej                  ffdZ	d Z
d Zd Zd Zd Zd	 Zd
 Zy)AlertWatcherzVa class that checks for alerts and reports them, like a battery
    or network warningN)network-alertbattery-alertnetwork-3g-alertc                     t         j                   j                  |        t        d       t        j                  t        j                  j
                        | _        d| _        y )NT)set_as_default   )r   __init__r   dbusBusTYPE_SYSTEMbusnetwork_state)selfs    A/usr/lib/python3/dist-packages/UpdateManager/Core/AlertWatcher.pyr   zAlertWatcher.__init__2   s>      &T*88DHH001    c                    	 | j                   j                  dd      }|j                  d| j                  d       t	        j
                  |d      }|j                  dd      | _        | j                  | j                         | j                   j                  dd      }|j                  d	| j                  d       | j                          | j                          y # t        j                  j                  $ r Y y w xY w)
Nzorg.freedesktop.NetworkManagerz/org/freedesktop/NetworkManagerStateChanged)dbus_interfaceorg.freedesktop.DBus.PropertiesStateorg.freedesktop.UPower/org/freedesktop/UPowerChanged)r   
get_objectconnect_to_signal_on_network_state_changedr   	InterfaceGetr   _network_alert_power_changed_update_3g_state
exceptionsDBusException)r   obj	interfaces      r   check_alert_statezAlertWatcher.check_alert_state9   s    	((%%01C !!..? " 
 s,MNI!*0'"D  2 23((%%(*CC !!##7 " 
 !!!#,, 		s   CC C?>C?c                 F    | j                  |       | j                          y )N)r#   r%   r   states     r   r    z&AlertWatcher._on_network_state_changedX   s    E"r   c                     ddl m}  |       }|j                         }|j                         }| j	                  ||       y )N   )NetworkManagerHelper)roamr0    is_active_connection_gsm_or_cdma(is_active_connection_gsm_or_cdma_roaming_network_3g_alert)r   r0   nmon_3g
is_roamings        r   r%   zAlertWatcher._update_3g_state\   s9    .!#335@@B
uj1r   c                 *    | j                  d||       y )Nr	   )emit)r   r6   r7   s      r   r4   zAlertWatcher._network_3g_alertd   s    		$eZ8r   c                 6    || _         | j                  d|       y )Nr   )r   r9   r,   s     r   r#   zAlertWatcher._network_alertg   s    "		/5)r   c                     | j                   j                  dd      }t        j                  |d      }|j	                  dd      }| j                  d|       y )Nr   r   r   	OnBatteryr   )r   r   r   r!   r"   r9   )r   r(   r)   
on_batterys       r   r$   zAlertWatcher._power_changedk   sN    hh!!$&?
 NN3(IJ	]]#;[I
		/:.r   )__name__
__module____qualname____doc__r   SignalFlags	RUN_FIRSTTYPE_INTTYPE_BOOLEAN__gsignals__r   r*   r    r%   r4   r#   r$    r   r   r   r      s    
 ))
 ))!!#
 ))!!7#7#78
L$> 29*/r   r   )gi.repositoryr   r   dbus.mainloop.glibr   r   rG   r   r   <module>rJ      s"   . "  ,U/7?? U/r   