ó
Qº’Nc           @   sI   d  d l  m Z d  d l Z d  d l m Z d e j f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   GObjectN(   t   DBusGMainLoopt   AlertWatcherc           B   s­   e  Z d  Z i e j j d e j f f d 6e j j d e j f f d 6e j j d e j e j f f d 6Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z RS(   sX    a class that checks for alerts and reports them, like a battery
    or network warning s   network-alerts   battery-alerts   network-3g-alertc         C   sB   t  j  j |  ƒ t d t ƒ t j t j j ƒ |  _ d |  _ d  S(   Nt   set_as_defaulti   (	   R    t   __init__R   t   Truet   dbust   Bust   TYPE_SYSTEMt   bust   network_state(   t   self(    (    sC   /usr/lib/python2.7/dist-packages/UpdateManager/Core/AlertWatcher.pyR   *   s    c         C   sÉ   y« |  j  j d d ƒ } | j d |  j d d ƒt j | d ƒ } | j d d ƒ |  _ |  j |  j ƒ |  j  j d d ƒ } | j d	 |  j	 d d ƒ|  j	 ƒ  |  j
 ƒ  Wn t j j k
 rÄ n Xd  S(
   Ns   org.freedesktop.NetworkManagers   /org/freedesktop/NetworkManagert   StateChangedt   dbus_interfaces   org.freedesktop.DBus.Propertiest   States   org.freedesktop.UPowers   /org/freedesktop/UPowert   Changed(   R	   t
   get_objectt   connect_to_signalt   _on_network_state_changedR   t	   Interfacet   GetR
   t   _network_alertt   _power_changedt   _update_3g_statet
   exceptionst   DBusException(   R   t   objt	   interface(    (    sC   /usr/lib/python2.7/dist-packages/UpdateManager/Core/AlertWatcher.pyt   check_alert_state0   s"    				
c         C   s   |  j  | ƒ |  j ƒ  d  S(   N(   R   R   (   R   t   state(    (    sC   /usr/lib/python2.7/dist-packages/UpdateManager/Core/AlertWatcher.pyR   E   s    c         C   sE   d d l  m } | ƒ  } | j ƒ  } | j ƒ  } |  j | | ƒ d  S(   Niÿÿÿÿ(   t   NetworkManagerHelper(   t   roamR   t    is_active_connection_gsm_or_cdmat(   is_active_connection_gsm_or_cdma_roamingt   _network_3g_alert(   R   R   t   nmt   on_3gt
   is_roaming(    (    sC   /usr/lib/python2.7/dist-packages/UpdateManager/Core/AlertWatcher.pyR   I   s
    	c         C   s   |  j  d | | ƒ d  S(   Ns   network-3g-alert(   t   emit(   R   R$   R%   (    (    sC   /usr/lib/python2.7/dist-packages/UpdateManager/Core/AlertWatcher.pyR"   P   s    c         C   s   | |  _  |  j d | ƒ d  S(   Ns   network-alert(   R
   R&   (   R   R   (    (    sC   /usr/lib/python2.7/dist-packages/UpdateManager/Core/AlertWatcher.pyR   S   s    	c         C   sM   |  j  j d d ƒ } t j | d ƒ } | j d d ƒ } |  j d | ƒ d  S(   Ns   org.freedesktop.UPowers   /org/freedesktop/UPowers   org.freedesktop.DBus.Propertiest	   OnBatterys   battery-alert(   R	   R   R   R   R   R&   (   R   R   R   t
   on_battery(    (    sC   /usr/lib/python2.7/dist-packages/UpdateManager/Core/AlertWatcher.pyR   W   s
    	N(   t   __name__t
   __module__t   __doc__R    t   SignalFlagst	   RUN_FIRSTt   Nonet   TYPE_INTt   TYPE_BOOLEANt   __gsignals__R   R   R   R   R"   R   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/UpdateManager/Core/AlertWatcher.pyR      s$   								(   t   gi.repositoryR    R   t   dbus.mainloop.glibR   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/UpdateManager/Core/AlertWatcher.pyt   <module>   s   