D-Bus daemon interface
- class sdbus_async.dbus_daemon.FreedesktopDbus(bus=None)
D-Bus daemon.
This is the dbus daemon interface. Used for querying dbus state.
Dbus interface object path and service name is predetermined. (at
'org.freedesktop.DBus'
,'/org/freedesktop/DBus'
)- Parameters:
bus (SdBus) – Optional dbus connection. If not passed the default dbus will be used.
- async get_connection_pid(service_name)
D-Bus Method
Get process ID that owns a specified name.
- Parameters:
service_name (str) – Service name to query.
- Returns:
PID of name owner
- Raises:
DbusNameHasNoOwnerError – Nobody owns that name
- Return type:
int
- async get_connection_uid(service_name)
D-Bus Method
Get process user ID that owns a specified name.
- Parameters:
service_name (str) – Service name to query.
- Returns:
User ID of name owner
- Raises:
DbusNameHasNoOwnerError – Nobody owns that name
- Return type:
int
- async get_id()
D-Bus Method
Returns machine id where bus is run. (stored in
/etc/machine-id
)- Returns:
Machine id
- Return type:
str
- async get_name_owner(service_name)
D-Bus Method
Returns unique bus name (i.e.
':1.94'
) for given service name.- Parameters:
service_name (str) – Service name to query.
- Returns:
Unique bus name.
- Raises:
DbusNameHasNoOwnerError – Nobody owns that name
- Return type:
str
- async list_activatable_names()
D-Bus Method
Lists all activatable services names.
- Returns:
List of all names.
- Return type:
List[str]
- async list_names()
D-Bus Method
List all services and connections currently of the bus.
- Returns:
List of all current names.
- Return type:
List[str]
- async name_has_owner(service_name)
D-Bus Method
Return True if someone already owns the name, False if nobody does.
- Parameters:
service_name (str) – Service name to query.
- Returns:
Is the name owned?
- Return type:
bool
- async start_service_by_name(service_name, flags=0)
D-Bus Method
Starts a specified service.
Flags parameter is not used currently and should be omitted or set to 0.
- Parameters:
service_name (str) – Service name to start.
flags (int) – Not used. Omit or pass 0.
- Returns:
1 on success, 2 if already started.
- Return type:
int
- features
D-Bus property
Python type: List[str]
D-Bus type: as
List of dbus daemon features.
Features include:
‘AppArmor’ - Messages filtered by AppArmor on this bus.
‘HeaderFiltering’ - Messages are filtered if they have incorrect header fields.
‘SELinux’ - Messages filtered by SELinux on this bus.
‘SystemdActivation’ - services activated by systemd if their .service file specifies a dbus name.
- interfaces
D-Bus property
Python type: List[str]
D-Bus type: as
Extra dbus daemon interfaces
- name_acquired
D-Bus signal
Python type: str
D-Bus type: s
Signal when current process acquires a bus name.
- name_lost
D-Bus signal
Python type: str
D-Bus type: s
Signal when current process loses a bus name.
- name_owner_changed
D-Bus signal
Python type: Tuple[str, str, str]
D-Bus type: sss
Signal when some name on a bus changes owner.
Is a tuple of:
The name that acquired or lost
Old owner (by unique bus name) or empty string if no one owned it
New owner (by unique bus name) or empty string if no one owns it now