Struct mpris_server::LocalServer
source · pub struct LocalServer<T>where
T: LocalPlayerInterface + 'static,{ /* private fields */ }Expand description
Implementations§
source§impl<T> LocalServer<T>where
T: LocalPlayerInterface + 'static,
impl<T> LocalServer<T>where T: LocalPlayerInterface + 'static,
sourcepub fn new(bus_name_suffix: &str, imp: T) -> Result<Self>
pub 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 the connection, LocalServer::init_and_run must be called.
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 async fn init_and_run(&self) -> Result<()>
pub async fn init_and_run(&self) -> Result<()>
Initialize the connection and run the server. This must be called as soon as possible after creating the server.
This method will continuously run until the server is dropped.
This is no-op if the server is already running.
sourcepub async fn connection(&self) -> Result<&Connection>
pub async fn connection(&self) -> Result<&Connection>
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 Into<BitFlags<Property>>
) -> Result<()>
pub async fn properties_changed( &self, properties: impl Into<BitFlags<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 fn new_with_track_list(bus_name_suffix: &str, imp: T) -> Result<Self>
pub 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 Into<BitFlags<TrackListProperty>>
) -> Result<()>
pub async fn track_list_properties_changed( &self, properties: impl Into<BitFlags<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 fn new_with_playlists(bus_name_suffix: &str, imp: T) -> Result<Self>
pub 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 Into<BitFlags<PlaylistsProperty>>
) -> Result<()>
pub async fn playlists_properties_changed( &self, properties: impl Into<BitFlags<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 fn new_with_all(bus_name_suffix: &str, imp: T) -> Result<Self>
pub 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.