+
    WBiG                     \   R t RtRt^ RIt^ RItRtRtRtRtRt	/ s
R	 t]P                  P                  ]P                  R
RR7      R 4       tR tR tR tR t]P                  P                  RRRR7      R 4       t]P                  P                  RRRR7      R 4       tR tR tR tR tR# )zofonod D-Bus mock templatezMartin PittzH
(c) 2013 Canonical Ltd.
(c) 2017 - 2022 Martin Pitt <martin@piware.de>
Nz	org.ofono/zorg.ofono.ManagerTz]raise dbus.exceptions.DBusException("not implemented", name="org.ofono.Error.NotImplemented")c                     . V n         ^ V n        ^ V n        ^ V n        VsV P                  \        RRRR4       VP                  RR4      '       g%   V P                  VP                  RR4      / 4       R	# R	# )
    	GetModems 	a(oa{sv})zFret = [(m, objects[m].GetAll("org.ofono.Modem")) for m in self.modems]no_modemF	ModemNameril_0N)	modemsmodem_serial_counterimsi_countericcid_counter_parameters	AddMethod
MAIN_IFACEgetAddModem)mock
parameterss   &&=/usr/lib/python3.14/site-packages/dbusmock/templates/ofono.pyloadr   (   sr    DK !DDDKNN
P >>*e,,jnn[':B? -    zsa{sv}s)in_signatureout_signaturec                B   RV,           pV P                  VRR\        P                  ! R4      R\        P                  ! R4      R\        P                  ! R4      R\        P                  ! R4      R	\        P                  ! R
4      R\        P                  ! R4      R\        P                  ! R4      R\        P                  ! \	        V 4      4      R\        P                  ! R4      R. RORRR./RR.4       \
        P                  P                  V,          pWn        \        V4       \        V4       \        W4       \        V4       V P                  P                  V4       VP                  R\        P                   R7      pV P#                  \$        RRW5.4       V# )a  Convenience method to add a modem

You have to specify a device name which must be a valid part of an object
path, e. g. "mock_ac". For future extensions you can specify a "properties"
array, but no extra properties are supported for now.

Returns the new object path.
r   zorg.ofono.ModemOnlineTPoweredLockdownF	EmergencyManufacturerFakesysModelz
Mock ModemRevisionz0815.42SerialTypehardware
InterfacesFeaturesgprsnet)dbus_interface
ModemAddedoa{sv})zorg.ofono.CallVolumeorg.ofono.VoiceCallManagerorg.ofono.NetworkRegistrationorg.ofono.SimManagerorg.ofono.ConnectionManager)GetPropertiesr   a{sv}z$ret = self.GetAll("org.ofono.Modem"))SetPropertysvr   z~self.Set("org.ofono.Modem", args[0], args[1]); self.EmitSignal("org.ofono.Modem", "PropertyChanged", "sv", [args[0], args[1]]))	AddObjectdbusBooleanStringnew_modem_serialdbusmock
mockobjectobjectsnameadd_voice_call_apiadd_netreg_apiadd_simmanager_apiadd_connectionmanager_apir   appendGetAllPROPERTIES_IFACE
EmitSignalr   )selfr?   _propertiespathobjpropss   &&&   r   r   r   F   sM    :DNNdll4(t||D)U+e,DKK	2T[[.I.dkk"24"89DKK
+  )	
. S
	
3$J 


%
%d
+CHs3t!c"KKtJJ(9N9NJOEOOJhFKr   c                 X    R V P                   R 2pV ;P                   ^,          un         V# )z12345678-1234-1234-1234-012d)r   )r   serials   & r   r;   r;      s-    '(A(A$'GHF"Mr   c                 X    R V P                   R 2pV ;P                   ^,          un         V# )31015009d)r   )r   imsis   & r   new_imsirT      s-    D%%c*+DKr   c                 X    R V P                   R 2pV ;P                   ^,          un         V# )	893581234rN   )r   )r   iccids   & r   	new_iccidrX      s-    **401E!Lr   c                    V P                  RRRR.4       . V n        V P                  RRRRRRRRRRR\        3R	RR\        3R
RR\        3R.4       R# )z,Add org.ofono.VoiceCallManager API to a mockr/   EmergencyNumbers91113373r   PrivateChatoaoCreateMultipartyHangupMultipartyN)r3   r   r4   z/ret = self.GetAll("org.ofono.VoiceCallManager"))Transferr   r   r   )	SwapCallsr   r   r   )ReleaseAndAnswerr   r   r   )ReleaseAndSwapr   r   r   )HoldAndAnswerr   r   r   )	SendTonesr   r   r   )GetCallsr   r   zIret = [(c, objects[c].GetAll("org.ofono.VoiceCall")) for c in self.calls])AddPropertycalls
AddMethodsNOT_IMPLEMENTEDr   s   &r   r@   r@      sv    
 	13EwGWXDJOO$]$%,*)&C7S/:R9	
r   r/   ssc                    V P                    R \        V P                  4      ^,           R 2pV P                  VRR\        P
                  ! R4      R\        P
                  ! V4      R\        P
                  ! R4      R\        P                  ! R	4      R
\        P                  ! R	4      R\        P                  ! R	4      R\        P                  ! R	4      /RRRR\        3RRRR\        3.4       \        P                  P                  V,          pWn        V P                  P                  V4       V P                  RRRW4P                  4       .4       V# )z
/voicecall02zorg.ofono.VoiceCallStatedialingLineIdentificationNamer   
MultipartyF
RemoteHeldRemoteMultipartyr    Deflectr   Answerr/   	CallAddedr.   )r3   r   r4   z(ret = self.GetAll("org.ofono.VoiceCall"))Hangupr   r   zself.parent.calls.remove(self._object_path);self.parent.RemoveObject(self._object_path);self.EmitSignal("org.ofono.VoiceCallManager", "CallRemoved", "o", [self._object_path]))_object_pathlenrj   r7   r8   r:   r9   rl   r<   r=   r>   parentrD   rG   r3   )rH   number_hide_calleridrJ   rK   s   &&&  r   Dialr      s      
C

Oa,?*DEDNNT[[+ $++f"5DKKO$,,u-$,,u-U 3e,	
 WR1 r2/	
4 


%
%d
+CJJJdOO0+x$PaPaPcIdeKr   r   c                     \        R V P                  4       \        V P                  4       F2  p\        P                  P
                  V,          P                  4        K4  	  V P                  . 8X  g   Q hR# )zXXX HangupAllN)printrj   listr<   r=   r>   r{   )rH   cs   & r   	HangupAllr      sR    	/4::&$**##A&--/ ::r   c                 "    R V P                    R2# )zPret = [(m, objects[m].GetAll("org.ofono.NetworkOperator")) for m in objects if "z/operator/" in m])r?   rm   s   &r   get_all_operatorsr     s    ]^b^g^g]hhyzzr   c                   V P                  RRRRRR\        P                  RR4      R\        P                  RR	4      R
\        P                  R
R4      R\        P                  RR4      R\        P                  RR4      R\        P                  RR4      R\        P                  R\        P                  ! ^P4      4      R\        P                  RR4      /
4       V P                  RV P                   R2RR\        P                  RR4      RRR
\        P                  R
R4      R\        P                  RR4      R\        P                  RR4      ./RR.4       V P                  RR R!RRRR\        V 4      3RRR\        V 4      3.4       R# )"z/Add org.ofono.NetworkRegistration API to a mockr0   ModeautoStatus
registeredLocationAreaCodei  CellIdi'  MobileCountryCode777MobileNetworkCode11
Technologygsmrt   zfake.telStrengthBaseStationr   r   z/operator/op1zorg.ofono.NetworkOperatorcurrentTechnologiesGetOperatorsr   ScanN)r3   r   r4   z.ret = self.GetAll("org.ofono.NetworkOperator"))Registerr   r   r   )r3   r   r4   z2ret = self.GetAll("org.ofono.NetworkRegistration"))r5   r6   r   zself.Set("org.ofono.NetworkRegistration", args[0], args[1]); self.EmitSignal("org.ofono.NetworkRegistration", "PropertyChanged", "sv", [args[0], args[1]]))	AddPropertiesr   r   r8   Byter7   r?   rk   r   rm   s   &r   rA   rA   !  st   
 	'Fl0BC Hkooh61De!L1Dd!K+//,>KOOFJ7
DIIbMB;??="=	
  	NN
DII;m$#KOOFJ7i1De!L1Dd!K[__\5AB	
 ]$	
  	OO'` %R.?.EFR&7&=>	
r   c                    RpVP                  VR\        P                  RR4      R\        P                  R\        V 4      4      R\        P                  RR4      R\        P                  R\        P
                  ! . RR7      4      R	\        P                  R	R
4      R\        P                  RR4      R\        P                  RR.4      R\        P                  R\        P                  ! R4      4      R\        P                  R\        P                  ! R\        P                  ! ^4      .R\        P                  ! ^
4      ..4      4      R\        P                  RR4      R\        P                  RRR.4      R\        P                  R\        V 4      4      /4       VP                  VRRRRV R23RR RR!V R"V R#23R-R%R&RR'V R(23R)R$RR*V R+23R.R/.4       R,# )0z&Add org.ofono.SimManager API to a mockr1   BarredDialingFCardIdentifierFixedDialing
LockedPinsr   )	signaturer   310r   150PreferredLanguagesenPresentTRetriespinpukPinRequirednoneSubscriberNumbers	123456789	234567890SubscriberIdentityr3   r   r4   ret = self.GetAll("")r5   r6   
self.Set("'", args[0], args[1]); self.EmitSignal("/", "PropertyChanged", "sv", [args[0], args[1]])sssEnterPinrn   zcorrectPin = "1234"
iface = "a  "
newRetries = self.Get(iface, "Retries")
if args[0] == "pin" and args[1] != correctPin:
    newRetries["pin"] = dbus.Byte(newRetries["pin"] - 1)
elif args[0] == "pin":
    newRetries["pin"] = dbus.Byte(3)
self.Set(iface, "Retries", newRetries)
self.EmitSignal(iface, "PropertyChanged", "sv", ["Retries", newRetries])
if args[0] == "pin" and args[1] != correctPin:
    class Failed(dbus.exceptions.DBusException):
        _dbus_error_name = "org.ofono.Error.Failed"
    raise Failed("Operation failed")ResetPinz!correctPuk = "12345678"
iface = "a  "
newRetries = self.Get(iface, "Retries")
if args[0] == "puk" and args[1] != correctPuk:
    newRetries["puk"] = dbus.Byte(newRetries["puk"] - 1)
elif args[0] == "puk":
    newRetries["pin"] = dbus.Byte(3)
    newRetries["puk"] = dbus.Byte(10)
self.Set(iface, "Retries", newRetries)
self.EmitSignal(iface, "PropertyChanged", "sv", ["Retries", newRetries])
if args[0] == "puk" and args[1] != correctPuk:
    class Failed(dbus.exceptions.DBusException):
        _dbus_error_name = "org.ofono.Error.Failed"
    raise Failed("Operation failed")N)	ChangePinr   r   r   )LockPinrn   r   r   )	UnlockPinrn   r   r   )r   r   r   rX   r8   Arrayr9   
Dictionaryr   rT   rk   )rH   r   ifaces   && r   rB   rB   q  s    #E[___eDkoo.>	$PKOONEB+//,

2QT8UV1De!L1De!L +//2F"O{y$,,t2DE{y$//E499UV<CX[`bfbkbklnboZpBq2rs;??=&A1D{T_F`!a +//2FQU"W	
" 	OOb'-@r+JKUG $$$)7*Y[	 )!7 #77	& !7 #77	& &'a1	
4r   c                4   RpV P                  VR\        P                  RR4      R\        P                  RR4      R\        P                  RR4      R\        P                  R	R4      /4       V P                  VR
RRRV R23RRRRV RV R23RRRR.4       R# )z-Add org.ofono.ConnectionManager API to a mockr2   AttachedTBearerr*   RoamingAllowedFr   ConnectionPoweredr3   r   r4   r   r   r5   r6   r   r   r   N)
AddContextr   r^   z	ret = "/")RemoveContextr^   r   r   )DeactivateAllr   r   r   )GetContextsr   r   zret = dbus.Array([]))r   r   r   rk   )r   r   s   & r   rC   rC     s     *E
D9kooh7koo.>F{':DA		
 	OOb'-@r+JKUG $$$)7*Y[	 2*)D	
r   )__doc__
__author____copyright__r8   r<   BUS_NAMEMAIN_OBJr   
SYSTEM_BUSrl   r   r   servicemethod
MOCK_IFACEr   r;   rT   rX   r@   r   r   r   rA   rB   rC    r   r   <module>r      s      
   

q @< X((xsS8 T8zF@ 1TWX! Y!H 1RTU V@{4`Izr   