Struct mpris_server::LocalServer
source · 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 [Connection
].
If you needed to call this, consider filing an issue.
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
.