pub struct LocalServer<T> { /* private fields */ }Expand description
Local version of Server that doesn’t require T to be Send and
Sync.
If your type is already Send and Sync, consider using Server instead
because LocalServer has an overhead of sending messages across threads.
For more information, see Server documentations.
Implementations§
Source§impl<T> LocalServer<T>where
T: LocalPlayerInterface + 'static,
impl<T> LocalServer<T>where
T: LocalPlayerInterface + 'static,
Sourcepub async fn new(bus_name_suffix: &str, imp: T) -> Result<Self>
pub async fn new(bus_name_suffix: &str, imp: T) -> Result<Self>
Creates a new LocalServer with the given bus name suffix and
implementation, imp, which must implement LocalRootInterface and
LocalPlayerInterface.
To start handling events, LocalServer::run must be called as soon
as possible.
The resulting bus name will be
org.mpris.MediaPlayer2.<bus_name_suffix>, where
<bus_name_suffix>must be a unique identifier, such as one based on a
UNIX process id. For example, this could be:
org.mpris.MediaPlayer2.vlc.instance7389
Note: According to the D-Bus specification, the unique
identifier “must only contain the ASCII characters
[A-Z][a-z][0-9]_-” and “must not begin with a digit”.
Sourcepub fn run(&self) -> LocalServerRunTask ⓘ
pub fn run(&self) -> LocalServerRunTask ⓘ
Returns a task that run the server until the server and the task is dropped.
The task must be awaited as soon as possible after creating the server.
The returned task is no-op if the server has been ran before.
Sourcepub fn connection(&self) -> &Connection
Available on crate feature unstable only.
pub fn connection(&self) -> &Connection
unstable only.Returns a reference to the inner [zbus::Connection].
If you needed to call this, consider filing an issue.
Sourcepub async fn release_bus_name(&self) -> Result<bool>
pub async fn release_bus_name(&self) -> Result<bool>
Releases the bus name of the server.
The bus name is automatically released when the server is dropped. But if you want to release it manually, you can call this method.
Unless an error is encountered, returns Ok(true) if name was
previously registered with the bus and it has now been successfully
deregistered, Ok(false) if name was not previously registered or
already deregistered.
Sourcepub async fn properties_changed(
&self,
properties: impl IntoIterator<Item = Property>,
) -> Result<()>
pub async fn properties_changed( &self, properties: impl IntoIterator<Item = Property>, ) -> Result<()>
Emits the PropertiesChanged signal for the given properties.
This categorizes the property in the changed or invalidated
properties as defined by the spec.
LocalServer::track_list_properties_changed or
LocalServer::playlists_properties_changed are used
to emit PropertiesChanged for the TrackList or Playlists
interfaces respectively.
Source§impl<T> LocalServer<T>where
T: LocalTrackListInterface + 'static,
impl<T> LocalServer<T>where
T: LocalTrackListInterface + 'static,
Sourcepub async fn new_with_track_list(bus_name_suffix: &str, imp: T) -> Result<Self>
pub async fn new_with_track_list(bus_name_suffix: &str, imp: T) -> Result<Self>
Creates a new LocalServer with the given bus name suffix and
implementation, which must implement TrackListInterface in addition
to LocalRootInterface and LocalPlayerInterface.
See also LocalServer::new.
Sourcepub async fn track_list_emit(&self, signal: TrackListSignal) -> Result<()>
pub async fn track_list_emit(&self, signal: TrackListSignal) -> Result<()>
Emits the given signal on the TrackList interface.
Sourcepub async fn track_list_properties_changed(
&self,
properties: impl IntoIterator<Item = TrackListProperty>,
) -> Result<()>
pub async fn track_list_properties_changed( &self, properties: impl IntoIterator<Item = TrackListProperty>, ) -> Result<()>
Emits the PropertiesChanged signal for the given properties.
This categorizes the property in the changed or invalidated
properties as defined by the spec.
Source§impl<T> LocalServer<T>where
T: LocalPlaylistsInterface + 'static,
impl<T> LocalServer<T>where
T: LocalPlaylistsInterface + 'static,
Sourcepub async fn new_with_playlists(bus_name_suffix: &str, imp: T) -> Result<Self>
pub async fn new_with_playlists(bus_name_suffix: &str, imp: T) -> Result<Self>
Creates a new LocalServer with the given bus name suffix and
implementation, which must implement LocalPlaylistsInterface in
addition to LocalRootInterface and LocalPlayerInterface.
See also LocalServer::new.
Sourcepub async fn playlists_emit(&self, signal: PlaylistsSignal) -> Result<()>
pub async fn playlists_emit(&self, signal: PlaylistsSignal) -> Result<()>
Emits the given signal on the Playlists interface.
Sourcepub async fn playlists_properties_changed(
&self,
properties: impl IntoIterator<Item = PlaylistsProperty>,
) -> Result<()>
pub async fn playlists_properties_changed( &self, properties: impl IntoIterator<Item = PlaylistsProperty>, ) -> Result<()>
Emits the PropertiesChanged signal for the given properties.
This categorizes the property in the changed or invalidated
properties as defined by the spec.
Source§impl<T> LocalServer<T>where
T: LocalTrackListInterface + LocalPlaylistsInterface + 'static,
impl<T> LocalServer<T>where
T: LocalTrackListInterface + LocalPlaylistsInterface + 'static,
Sourcepub async fn new_with_all(bus_name_suffix: &str, imp: T) -> Result<Self>
pub async fn new_with_all(bus_name_suffix: &str, imp: T) -> Result<Self>
Creates a new LocalServer with the given bus name suffix and
implementation, which must implement LocalTrackListInterface and
LocalPlaylistsInterface in addition to LocalRootInterface and
LocalPlayerInterface.
See also LocalServer::new.