+
    WBi)                     L   R t RtRt^ RIt^ RIt^ RIHt ^ RIHtH	t	 Rt
RtRtR	tR
 t]P                  P!                  ]RRR7      R 4       t]P                  P!                  ]RRR7      R 4       t]P                  P!                  ]RRR7      R 4       t]P                  P!                  ]RRR7      R 4       t]P                  P!                  ]RRR7      R 4       t]P                  P!                  ]RRR7      R 4       t]P                  P!                  ]RRR7      R 4       tR# )zsystemd logind mock template

This creates the expected methods and properties of the main
org.freedesktop.login1.Manager object. You can specify D-Bus property values
like "CanSuspend" or the return value of Inhibit() in "parameters".
zMartin PittzH
(c) 2013 Canonical Ltd.
(c) 2017 - 2022 Martin Pitt <martin@piware.de>
N)GLib)
MOCK_IFACE
mockobjectzorg.freedesktop.login1z/org/freedesktop/login1zorg.freedesktop.login1.ManagerTc                 V   V P                  \        RRRRRRRRRRVP                  RR4       R23RRRRVP                  RR4       R23RRRRVP                  RR4       R23R	RRRVP                  R	R4       R23R
RRRVP                  R
R4       R23RRRRVP                  RR4       R23RRR R!R"R#R$R%R&R'R(R)R*R+R,R-.4       V P                  \        \        P
                  ! RVP                  RR4      RVP                  RR4      R\        P                  ! VP                  R^ 4      4      R\        P                  ! VP                  R^ 4      4      R\        P                  ! VP                  R^4      4      RVP                  RR4      RVP                  RR4      /RR7      4       R# ).PowerOff CanPowerOffszret = "yes"	CanReboot
CanSuspendCanHibernateCanHybridSleepCanSuspendThenHibernateIdleHintF
IdleActionignoreIdleSinceHintIdleSinceHintMonotonicIdleActionUSecPreparingForShutdownPreparingForSleepsv	signatureN)r   br   r   )Rebootr   r   r   )Suspendr   r   r   )	Hibernater   r   r   )HybridSleepr   r   r   )SuspendThenHibernater   r   r   )
GetSessionr	   oz2ret = "/org/freedesktop/login1/session/" + args[0]ActivateSessionr	   r   r   )ActivateSessionOnSeatssr   r   )KillSessionsssr   r   )LockSessionr	   r   r   )LockSessionsr   r   r   )ReleaseSessionr	   r   r   )TerminateSessionr	   r   r   )UnlockSessionr	   r   r   )UnlockSessionsr   r   r   )GetSeatr	   r#   z/ret = "/org/freedesktop/login1/seat/" + args[0])	ListSeatsr   za(so)zFret = [(k.split("/")[-1], k) for k in objects.keys() if "/seat/" in k])TerminateSeatr	   r   r   )GetUserur#   z/ret = "/org/freedesktop/login1/user/" + args[0])KillUserusr   r   )TerminateUserr4   r   r   )
AddMethods
MAIN_IFACEgetAddPropertiesdbus
DictionaryUInt64)mock
parameterss   &&>/usr/lib/python3.14/site-packages/dbusmock/templates/logind.pyloadrB   !   s   OO%#$&(1Bwz~~mU/S.TTU%VW"cWZ^^K-O,PPQ#RS2sgjnn\5.Q-RRS$TUR
~u0U/VVW&XYr3'*..AQSX2Y1ZZ[(\]&C7:>>Jcej;k:llm1noZ,3*((+-**Tp*T&*9	
 D 	JNN:u=jnn\8DZ^^OQ-O!P($++jnnE]_`6a*b $++jnn=Mq.Q"R&
7Mu(U#Z^^4G%O 	
    r   za(uso))in_signatureout_signaturec                    . p\         P                  P                  4        Ff  w  r#R V9   g   K  \        P                  ! \        VP                  R4      R,          4      4      pVP                  WCP                  RR4      V34       Kh  	  V# )z/user//org.freedesktop.login1.UserName)	r   objectsitemsr<   UInt32intsplitappendGet)_userskobjuids   &    rA   	ListUsersrW   Z   sm    E$$**,q=++c!''#,r"234CLL#ww'DfMqQR - LrC   za(susso)c                 J   . p\         P                  P                  4        F~  w  r#R V9   g   K  VP                  R4      R,          pVP	                  RR4      ^ ,          pVP	                  RR4      pVP	                  RR4      ^ ,          pVP                  WEWgV34       K  	  V# )z	/session/rG   org.freedesktop.login1.SessionUserrI   SeatrJ   )r   rK   rL   rO   rQ   rP   )rR   sessionsrT   rU   
session_idrV   usernameseats   &       rA   ListSessionsr`   d   s    H$$**,!b)J'':FCAFCww?HH77;VDQGDOOZha@A - OrC   sssshc                   a \        \        R 4      '       g   . \        n        \        P                  ! 4       w  rVWW4RR3o\        P                  P                  S4       V3R lp\        P                  ! \        P                  V\        P                  V4       \        P                  ! \        P                  V4       V# )
inhibitorsi  i@ c                 r   < \         P                  ! V 4       \        P                  P	                  S4       R # )F)oscloser   rd   remove)fdcond	inhibitors   &&rA   inhibitor_dropped"Inhibit.<locals>.inhibitor_dropped{   s%    
$$Y/rC   )hasattrr   rd   rf   piperP   r   unix_fd_add_fullPRIORITY_HIGHIO_HUPidle_addrg   )	rR   whatwhowhymodefd_rfd_wrl   rk   s	   &&&&&   @rA   Inhibitrz   q   s    :|,, "
JDCtV4I  + 	$,,dDKKARSMM"((D!KrC   z	a(ssssuu)c                 d    \        \        R 4      '       g   . \        n        \        P                  # )rd   )rn   r   rd   )rR   s   &rA   ListInhibitorsr|      s#    :|,, "
   rC   r	   c                   RV,           pV\         P                  9   d1   \        P                  P	                  RV R2\
        R,           R7      hV P                  VRR\        P                  ! . RR	7      R
RRRRRRRRR\        P                  ! R4      3RVR\        P                  ! ^ 4      R\        P                  ! ^ 4      /	RR.4       V# )zKConvenience method to add a seat.

Return the object path of the new seat.
/org/freedesktop/login1/seat/zSeat  already existsz.SeatExistsnameorg.freedesktop.login1.SeatSessions(so)r   CanGraphicalFCanMultiSessionTCanTTYr   ActiveSessionr   rG   Idr   r   r$   	Terminater   r   r   )
r   rK   r<   
exceptionsDBusExceptionr   	AddObjectArray
ObjectPathr>   )selfr_   	seat_paths   && rA   AddSeatr      s     0$6IJ&&&oo++eD6,IPZ]jPj+kkNN%

28Eteb$//#"67$T[[^$dkk!n
	
 
*+DE" rC   usbc                   RV 2pV\         P                  9   d1   \        P                  P	                  RV R2\
        R,           R7      hT P                  TR/ RRV,           bR	R
\        P                  ! R4      3bR\        P                  ! V4      bRRbR\        P                  ! ^ 4      bR\        P                  ! ^ 4      bRRbRVbRRV 2bRR
bR\        P                  ! . RR7      bRRV R2bRV'       d   RMRbR\        P                  ! ^*4      bR \        P                  ! ^*4      bR!\        P                  ! V4      bR"R#.4       V# )$zKConvenience method to add a user.

Return the object path of the new user.
/org/freedesktop/login1/user/zUser r   z.UserExistsr   rH   DefaultControlGroupsystemd:/user/Displayr   rG   GIDr   Fr   r   LingerrI   RuntimePathz
/run/user/Servicer   r   r   Slicezuser-z.sliceStateactiveonline	TimestampTimestampMonotonicUID)Killr	   r   r   r   )r   rK   r<   r   r   r   r   r   rM   r>   r   )r   rV   r^   r   	user_paths   &&&& rA   AddUserr      s    0u5IJ&&&oo++eC5,Hz\iOi+jjNN%	
!#3h#>	
DOOC01	
 4;;s#	
 		

 T[[^	
 %dkk!n	
 e	
 H	
 Zu-	
 r	
 

28	
 uSE(	
 XX	
 R	
 !$++b/	
  4;;s#!	
& "%	
+6 rC   ssusbc                   \         P                  ! RV 24      pV\        P                  9  d   V P	                  V4       \         P                  ! RV 24      pV\        P                  9  d   V P                  W4V4       \         P                  ! RV 24      pV\        P                  9   d1   \         P                  P                  RV R2\        R,           R7      hT P                  TR/ R	\         P                  ! . R
R7      bR\         P                  ! . R
R7      bRVbRRbRRbRRbRRbRRbRRV RV 2bR\        P                  ! RR4      bRVbRVbRRbRRbRR bR!V'       d   R"MR#bR$RbR%R&R'W&3R(\         P                  ! V4      V3R)\         P                  ! ^ 4      R*\         P                  ! ^4      R+\         P                  ! ^4      R,\         P                  ! ^ 4      R-\         P                  ! ^ 4      R.\         P                  ! ^*4      R/\         P                  ! ^*4      /
C. R4O4       \        P                  V,          p	V	P                  R0R14      p
V
P!                  W34       V	P#                  R0R1V
4       V	P#                  R0R2W34       \        P                  V,          pVP                  R3R14      p
V
P!                  W34       VP#                  R3R1V
4       V# )5zConvenience method to add a session.

If the given seat and/or user do not exit, they will be created.

Return the object path of the new session.
r~   r   z /org/freedesktop/login1/session/zSession r   z.SessionExistsr   rY   Controllersr	   r   ResetControllersActiver   F
LockedHintKillProcessesRemoteClassuserr   r   rG   r   DISPLAYr   r   rI   
RemoteHost
RemoteUserr   dbusmockr   r   r   TTYTypetestr[   rZ   AuditLeaderVTNrr   r   r   r   r   r   r   rH   ))Activater   r   r   )r   r'   r   r   )Lockr   r   z#self.EmitSignal("", "Lock", "", []))SetIdleHintr   r   r   )SetLockedHintr   r   z2self.UpdateProperties("", {"LockedHint": args[0]})r   )Unlockr   r   z%self.EmitSignal("", "Unlock", "", []))r<   r   r   rK   r   r   r   r   r   r   r   rf   getenvrM   r>   rQ   rP   Set)r   r]   r_   rV   r^   r   r   r   session_pathobj_seatcur_sessionsobj_users   &&&&&&      rA   
AddSessionr      s    "?v FGI
***T"?u EFI
***SF+??%Ej\#RSLz)))oo++zl/2FV9V , 
 	
 	NN(	
4::bC8	


2 =	
 f	
 		

 %	
 U	
 e	
 V	
 "^H:Qzl#K	
 ryyB/	
 *	
 H	
 "	
 "	
 z	
  XX!	
" 2#	
$ FT%T[[%y1T[[^dkk!nDKKNT[[^$dkk!nR $++b/7	
:	
A)X !!),H<< =zJL23LL.
LILL.*A[\ !!),H<< =zJL23LL.
LIrC   )__doc__
__author____copyright__rf   r<   gi.repositoryr   r   r   r   BUS_NAMEMAIN_OBJr9   
SYSTEM_BUSrB   servicemethodrW   r`   rz   r|   r   r   r    rC   rA   <module>r      sp   

 
   +#$-

1r ZbI J Zb
K	 L	 ZfCH I* ZbL! M! ZcE F: Ze3G$ H$N ZgSIM JMrC   