
    9qf                        d dl Z d dlZ G d de      Z G d de      Zedk(  rej                  dd rGej                  d   dk(  r5 e       Z ed	ej                                 ed
ej                                 e       Zej                         Z ede       er ej                  d        ej                  d        yy)    Nc                   l    e Zd ZdZedz   ZdZdZdZdZdZ	dZ
dZdZdZdZdZdZd	 Zed
        Zd Zd Zy)ModemManagerHelperorg.freedesktop.ModemManagerz.Modem      r            c                     t        j                         | _        | j                  j                  dd      | _        t        j
                  | j                  | j                        }|j                         | _        y )Nr   z/org/freedesktop/ModemManager)	dbus	SystemBusbus
get_objectproxy	InterfaceMM_DBUS_IFACEEnumerateDevicesmodems)selfmodem_managers     9/usr/lib/python3/dist-packages/UpdateManager/Core/roam.py__init__zModemManagerHelper.__init__@   sX    >>#XX((*,K

 tzz43E3EF#446    c                 V    t        j                  | d      }|j                  ||      }|S Nzorg.freedesktop.DBus.Propertiesr   r   Getr   	interfacepropertypropss       r   get_dbus_propertyz$ModemManagerHelper.get_dbus_propertyH   (    u&GH99Y1r   c                 p   | j                   D ]  }| j                  j                  | j                  |      }| j	                  || j
                  d      }|| j                  k7  rVt        j                  || j
                  dz         }|j                         }|d   | j                  | j                  fv s y y)NTypez.Gsm.Networkr   TF)r   r   r   r   r"   MM_DBUS_IFACE_MODEMMM_MODEM_TYPE_GSMr   r   GetRegistrationInfo'MM_MODEM_GSM_NETWORK_REG_STATUS_UNKNOWN'MM_MODEM_GSM_NETWORK_REG_STATUS_ROAMING)r   mdevtypenetregs         r   is_gsm_roamingz!ModemManagerHelper.is_gsm_roamingN   s     	A((%%d&8&8!<C))T--vD t---..T-->C ))+C 1v<<<<  %	& r   c                    | j                   D ]  }| j                  j                  | j                  |      }| j	                  || j
                  d      }|| j                  k7  rVt        j                  || j
                  dz         }|j                         \  }}| j                  | j                  f}||v r y||v s y y)Nr%   z.CdmaTF)r   r   r   r   r"   r&   MM_MODEM_TYPE_CDMAr   r   GetRegistrationState+MM_MODEM_CDMA_REGISTRATION_STATE_REGISTERED(MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING)r   r+   r,   r-   cdmacmda_1xevdoroaming_statess           r   is_cdma_roamingz"ModemManagerHelper.is_cdma_roamingd   s     	A((%%d&8&8!<C))T--vD t...>>#t'?'?''IJD"779OWd
 @@==N
 ~%N*)	* r   N)__name__
__module____qualname__r   r&   r'   r2   $MM_MODEM_GSM_NETWORK_REG_STATUS_IDLE$MM_MODEM_GSM_NETWORK_REG_STATUS_HOME)MM_MODEM_GSM_NETWORK_REG_STATUS_SEARCHING&MM_MODEM_GSM_NETWORK_REG_STATUS_DENIEDr)   r*   (MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWNr4   %MM_MODEM_CDMA_REGISTRATION_STATE_HOMEr5   r   staticmethodr"   r0   r:    r   r   r   r      s     3M'(2  ,-(+,(01--.*./+./+ 01, 34/,-)/0,7  
,r   r   c                   v    e Zd ZdZdZdZdZeegZdZdZ	dZ
dZee	e
egZdZd	ZdZdZd
Zd Zed        Zd Zd Zy)NetworkManagerHelperorg.freedesktop.NetworkManagerr   r   (   r   2   <   F   r   r	   c                 x    t        j                         | _        | j                  j                  dd      | _        y )NrH   z/org/freedesktop/NetworkManager)r   r   r   r   r   )r   s    r   r   zNetworkManagerHelper.__init__   s,    >>#XX((,.O

r   c                 V    t        j                  | d      }|j                  ||      }|S r   r   r   s       r   r"   z&NetworkManagerHelper.get_dbus_property   r#   r   c                    d}| j                  | j                  | j                  d      }|D ]  }| j                  j	                  | j                  |      }| j                  || j                  dz   d      }|sL| j                  || j                  dz   d      }|D ]l  }| j                  j	                  | j                  |      }| j                  || j                  dz   d      }	|	| j
                  k(  r  y|	| j                  k(  r  yn  |S )	NFActiveConnectionsz.Connection.ActiveDefaultDevicesz.Device
DeviceTypeT)r"   r   NM_DBUS_IFACEr   r   NM_DEVICE_TYPE_GSMNM_DEVICE_TYPE_CDMA)
r   resactivesaactivedefault_routedevsdr,   r-   s
             r    is_active_connection_gsm_or_cdmaz5NetworkManagerHelper.is_active_connection_gsm_or_cdma   s!   ((JJ**,?
  	AXX((););Q?F 22**-AA9M !))**-AA9D  
hh))$*<*<a@--++i7 4222T555
	* 
r   c                     d}| j                         r0t               }||j                         z  }||j                         z  }|S )NF)r^   r   r0   r:   )r   rW   mmhelpers      r   (is_active_connection_gsm_or_cdma_roamingz=NetworkManagerHelper.is_active_connection_gsm_or_cdma_roaming   sF    002)+H8**,,C8++--C
r   N)r;   r<   r=   rT   NM_STATE_UNKNOWNNM_STATE_CONNECTING_OLDNM_STATE_CONNECTINGNM_STATE_CONNECTING_LISTNM_STATE_CONNECTED_OLDNM_STATE_CONNECTED_LOCALNM_STATE_CONNECTED_SITENM_STATE_CONNECTED_GLOBALNM_STATE_CONNECTED_LISTNM_DEVICE_TYPE_UNKNOWNNM_DEVICE_TYPE_ETHERNETNM_DEVICE_TYPE_WIFIrU   rV   r   rD   r"   r^   ra   rE   r   r   rG   rG   }   s    4M  79LM!  " !	 
  
8r   rG   __main__r   z--testr0   is_cdma_romaingzroam: )r   sysobjectr   rG   r;   argvr`   printr0   r:   nmhelperra   
is_roamingexitrE   r   r   <module>rw      s   0  
^ ^BQ6 Qh z xx|x/%' 7 7 9:!9!9!;< $%HBBDJ	(JCHHQK r   