stardust_xr_schemas/dbus/
interfaces.rs1use crate::impl_queryable_for_proxy;
2use zbus::Result;
3
4#[zbus::proxy(interface = "org.stardustxr.SpatialRef")]
5pub trait SpatialRef {
6 #[zbus(property)]
7 fn uid(&self) -> Result<u64>;
9}
10
11#[zbus::proxy(interface = "org.stardustxr.FieldRef")]
12pub trait FieldRef {
13 #[zbus(property)]
14 fn uid(&self) -> Result<u64>;
16}
17
18#[zbus::proxy(
19 interface = "org.stardustxr.PlaySpace",
20 default_service = "org.stardustxr.PlaySpace",
21 default_path = "/org/stardustxr/PlaySpace"
22)]
23pub trait PlaySpace {
25 #[zbus(property)]
26 fn bounds(&self) -> Result<Vec<(f64, f64)>>;
27 }
30
31#[zbus::proxy(interface = "org.stardustxr.Reparentable")]
32pub trait Reparentable {
34 fn parent(&self, new_parent: u64) -> Result<()>;
36 fn unparent(&self) -> Result<()>;
38 fn reset_transform(&self, spatial_ref: u64) -> Result<()>;
40}
41#[zbus::proxy(interface = "org.stardustxr.ReparentLock")]
42pub trait ReparentLock {
44 fn lock(&self) -> Result<()>;
46 fn unlock(&self) -> Result<()>;
47}
48
49#[zbus::proxy(interface = "org.stardustxr.Destroy")]
50pub trait Destroy {
54 fn destroy(&self) -> Result<()>;
55}
56
57impl_queryable_for_proxy!(
58 SpatialRefProxy,
59 FieldRefProxy,
60 PlaySpaceProxy,
61 ReparentableProxy,
62 ReparentLockProxy,
63 DestroyProxy
64);