Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 52cf89b8 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

MPRIS: Clean utility files...

parent 0eaf5e15
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
//! # DBus interface proxies for: `org.mpris.MediaPlayer2`, `org.mpris.MediaPlayer2.Player`
//!
//! This code was generated by `zbus-xmlgen` `3.1.0` from DBus introspection data.
//! Source: `mpris.xml`.
//!
//! You may prefer to adapt it, instead of using it verbatim.
//!
//! More information can be found in the
//! [Writing a client proxy](https://dbus.pages.freedesktop.org/zbus/client.html)
//! section of the zbus documentation.
use zbus::dbus_proxy;
enum MediaPlayerLoopStatus {
None,
Track,
Playlist,
}
enum MediaPlayerPlaybackStatus {
Playing,
Paused,
Stopped,
}
struct µs(i32);
/// A valid path must be prefiexed by `/baka/lektor/`. After that we have the
/// variant name in lower case, then a `/`, then the ascii only value. For
/// example we can have:
/// - `/baka/lektor/id/42`
enum MediaPlayerObjectPath {
Id(i64),
}
impl From<String> for MediaPlayerLoopStatus {}
impl From<&str> for MediaPlayerLoopStatus {}
impl From<String> for MediaPlayerPlaybackStatus {}
impl From<&str> for MediaPlayerPlaybackStatus {}
impl<'a> From<zbus::zvariant::ObjectPath<'a>> for MediaPlayerObjectPath {}
impl From<i32> for µs {}
#[dbus_proxy(interface = "org.mpris.MediaPlayer2", assume_defaults = true)]
trait MediaPlayer2 {
/// Quit method
fn quit(&self) -> zbus::Result<()>;
/// Raise method
fn raise(&self) -> zbus::Result<()>;
/// CanQuit property
#[dbus_proxy(property)]
fn can_quit(&self) -> zbus::Result<bool>;
/// CanRaise property
#[dbus_proxy(property)]
fn can_raise(&self) -> zbus::Result<bool>;
/// CanSetFullscreen property
#[dbus_proxy(property)]
fn can_set_fullscreen(&self) -> zbus::Result<bool>;
/// DesktopEntry property
#[dbus_proxy(property)]
fn desktop_entry(&self) -> zbus::Result<String>;
/// Fullscreen property
#[dbus_proxy(property)]
fn fullscreen(&self) -> zbus::Result<bool>;
fn set_fullscreen(&self, value: bool) -> zbus::Result<()>;
/// HasTrackList property
#[dbus_proxy(property)]
fn has_track_list(&self) -> zbus::Result<bool>;
/// Identity property
#[dbus_proxy(property)]
fn identity(&self) -> zbus::Result<String>;
/// SupportedMimeTypes property
#[dbus_proxy(property)]
fn supported_mime_types(&self) -> zbus::Result<Vec<String>>;
/// SupportedUriSchemes property. It should be `id://` and `file://` for
/// lektord. Here we support `file://` for only files in the database to
/// enable the user to search the kara folder and drop the files to play
/// them imediatly.
#[dbus_proxy(property)]
fn supported_uri_schemes(&self) -> zbus::Result<Vec<String>>;
}
#[dbus_proxy(interface = "org.mpris.MediaPlayer2.Player", assume_defaults = true)]
trait Player {
/// Next method
fn next(&self) -> zbus::Result<()>;
/// OpenUri method
fn open_uri(&self, id_uri: &str) -> zbus::Result<()>;
/// Pause method
fn pause(&self) -> zbus::Result<()>;
/// Play method
fn play(&self) -> zbus::Result<()>;
/// PlayPause method
fn play_pause(&self) -> zbus::Result<()>;
/// Previous method
fn previous(&self) -> zbus::Result<()>;
/// Seek method
fn seek(&self, time_µs: i64) -> zbus::Result<()>;
/// SetPosition method
fn set_position(&self, track_id: &MediaPlayerObjectPath, time_µs: µs) -> zbus::Result<()>;
/// Stop method
fn stop(&self) -> zbus::Result<()>;
/// CanControl property
#[dbus_proxy(property)]
fn can_control(&self) -> zbus::Result<bool>;
/// CanPause property
#[dbus_proxy(property)]
fn can_pause(&self) -> zbus::Result<bool>;
/// CanPlay property
#[dbus_proxy(property)]
fn can_play(&self) -> zbus::Result<bool>;
/// CanSeek property
#[dbus_proxy(property)]
fn can_seek(&self) -> zbus::Result<bool>;
/// LoopStatus property
#[dbus_proxy(property)]
fn loop_status(&self) -> zbus::Result<MediaPlayerObjectPath>;
fn set_loop_status(&self, value: &MediaPlayerObjectPath) -> zbus::Result<()>;
/// MaximumRate property. We will only set it to `1.0` here...
#[dbus_proxy(property)]
fn maximum_rate(&self) -> zbus::Result<f64> {
Ok(1.0)
}
fn set_maximum_rate(&self, _: f64) -> zbus::Result<()> {
Ok(())
}
/// Metadata property. If there is a current kara playing, there must be at
/// least a `mpris:trackid` value of type `o` which is the object path of
/// the current kara id.
#[dbus_proxy(property)]
fn metadata(
&self,
) -> zbus::Result<std::collections::HashMap<String, zbus::zvariant::OwnedValue>>;
/// MinimumRate property. We will only set it to `1.0` here...
#[dbus_proxy(property)]
fn minimum_rate(&self) -> zbus::Result<f64> {
Ok(1.0)
}
fn set_minimum_rate(&self, _: f64) -> zbus::Result<()> {
Ok(())
}
/// PlaybackStatus property
#[dbus_proxy(property)]
fn playback_status(&self) -> zbus::Result<MediaPlayerPlaybackStatus>;
/// Position property
#[dbus_proxy(property)]
fn position(&self) -> zbus::Result<µs>;
/// Rate property
#[dbus_proxy(property)]
fn rate(&self) -> zbus::Result<f64>;
fn set_rate(&self, value: f64) -> zbus::Result<()>;
/// Shuffle property
#[dbus_proxy(property)]
fn shuffle(&self) -> zbus::Result<bool>;
fn set_shuffle(&self, value: bool) -> zbus::Result<()>;
/// Volume property
#[dbus_proxy(property)]
fn volume(&self) -> zbus::Result<f64>;
fn set_volume(&self, value: f64) -> zbus::Result<()>;
}
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.mpris.MediaPlayer2">
<property name="Identity" type="s" access="read" />
<property name="DesktopEntry" type="s" access="read" />
<property name="SupportedMimeTypes" type="as" access="read" />
<property name="SupportedUriSchemes" type="as" access="read" />
<property name="HasTrackList" type="b" access="read" />
<property name="CanQuit" type="b" access="read" />
<property name="CanSetFullscreen" type="b" access="read" />
<property name="Fullscreen" type="b" access="readwrite" />
<property name="CanRaise" type="b" access="read" />
<method name="Quit" />
<method name="Raise" />
</interface>
<interface name="org.mpris.MediaPlayer2.Player">
<property name="Metadata" type="a{sv}" access="read" />
<property name="PlaybackStatus" type="s" access="read" />
<property name="LoopStatus" type="s" access="readwrite" />
<property name="Volume" type="d" access="readwrite" />
<property name="Shuffle" type="b" access="readwrite" />
<property name="Position" type="i" access="read" />
<property name="Rate" type="d" access="readwrite" />
<property name="MinimumRate" type="d" access="readwrite" />
<property name="MaximumRate" type="d" access="readwrite" />
<property name="CanControl" type="b" access="read" />
<property name="CanPlay" type="b" access="read" />
<property name="CanPause" type="b" access="read" />
<property name="CanSeek" type="b" access="read" />
<method name="Previous" />
<method name="Next" />
<method name="Stop" />
<method name="Play" />
<method name="Pause" />
<method name="PlayPause" />
<method name="Seek">
<arg type="x" direction="in" />
</method>
<method name="OpenUri">
<arg type="s" direction="in" />
</method>
<method name="SetPosition">
<arg type="o" direction="in" />
<arg type="x" direction="in" />
</method>
</interface>
</node>
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter