from .exitable import ExitableWithAliases class NameOwner(ExitableWithAliases("unown")): __slots__ = () def __init__(self, bus, name, allow_replacement, replace): flags = 4 | (1 if allow_replacement else 0) | (2 if replace else 0) res = bus.dbus.RequestName(name, flags) if res == 1: self._at_exit(lambda: bus.dbus.ReleaseName(name)) return # OK if res == 3: raise RuntimeError("name already exists on the bus") if res == 4: raise RuntimeError("you're already the owner of this name") raise RuntimeError("cannot take ownership of the name") class RequestNameMixin(object): __slots__ = () def request_name(self, name, allow_replacement=True, replace=False): """Aquires a bus name. Returns ------- NameOwner An object you can use as a context manager to unown the name later. """ return NameOwner(self, name, allow_replacement, replace)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 148 B | 0644 |
|
_inspect3.py | File | 708 B | 0644 |
|
auto_names.py | File | 519 B | 0644 |
|
bus.py | File | 1.53 KB | 0644 |
|
bus_names.py | File | 3.45 KB | 0644 |
|
error.py | File | 2.52 KB | 0644 |
|
exitable.py | File | 982 B | 0644 |
|
generic.py | File | 2.53 KB | 0644 |
|
identifier.py | File | 383 B | 0644 |
|
method_call_context.py | File | 1.01 KB | 0644 |
|
proxy.py | File | 4.1 KB | 0644 |
|
proxy_method.py | File | 3.98 KB | 0644 |
|
proxy_property.py | File | 1.04 KB | 0644 |
|
proxy_signal.py | File | 2.06 KB | 0644 |
|
publication.py | File | 1.36 KB | 0644 |
|
registration.py | File | 5.58 KB | 0644 |
|
request_name.py | File | 883 B | 0644 |
|
subscription.py | File | 2.12 KB | 0644 |
|
timeout.py | File | 303 B | 0644 |
|