3
Ö¸VXs ã @ s4 d dl mZ G dd„ dedƒƒZG dd„ deƒZdS )é )ÚExitableWithAliasesc @ s e Zd Zf Zdd„ ZdS )Ú NameOwnerc sv d|r
dndB |rdndB }ˆ j jˆ|ƒ}|dkrJ| j‡ ‡fdd„ƒ d S |dkrZtdƒ‚|dkrjtd ƒ‚td
ƒ‚d S )Né r é é c s ˆ j jˆƒS )N)ÚdbusZReleaseName© )ÚbusÚnamer ú"/usr/lib/python3.6/request_name.pyÚ
s z$NameOwner.__init__..é zname already exists on the busz%you're already the owner of this namez!cannot take ownership of the name)r ZRequestNameZ_at_exitÚRuntimeError)Úselfr r
Úallow_replacementÚreplaceÚflagsÚresr )r r
r Ú__init__ s zNameOwner.__init__N)Ú__name__Ú
__module__Ú__qualname__Ú __slots__r r r r r r s r Zunownc @ s e Zd Zf Zddd„ZdS )ÚRequestNameMixinTFc C s t | |||ƒS )z~Aquires a bus name.
Returns
-------
NameOwner
An object you can use as a context manager to unown the name later.
)r )r r
r r r r r Úrequest_name s zRequestNameMixin.request_nameN)TF)r r r r r r r r r r s r N)Zexitabler r Úobjectr r r r r Ú s