summaryrefslogtreecommitdiffstats
path: root/src/dbus_api/server_lookup.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dbus_api/server_lookup.rs')
-rw-r--r--src/dbus_api/server_lookup.rs188
1 files changed, 188 insertions, 0 deletions
diff --git a/src/dbus_api/server_lookup.rs b/src/dbus_api/server_lookup.rs
new file mode 100644
index 0000000..78ad4bd
--- /dev/null
+++ b/src/dbus_api/server_lookup.rs
@@ -0,0 +1,188 @@
1// This code was autogenerated with dbus-codegen-rust, see https://github.com/diwic/dbus-rs
2
3#![allow(dead_code)]
4use dbus as dbus;
5use dbus::arg;
6use dbus::tree;
7
8pub trait OrgPulseAudioServerLookup1 {
9 type Err;
10 fn get_address(&self) -> Result<String, Self::Err>;
11}
12
13impl<'a, C: ::std::ops::Deref<Target=dbus::Connection>> OrgPulseAudioServerLookup1 for dbus::ConnPath<'a, C> {
14 type Err = dbus::Error;
15
16 fn get_address(&self) -> Result<String, Self::Err> {
17 <Self as dbus::stdintf::org_freedesktop_dbus::Properties>::get(&self, "org.PulseAudio.ServerLookup1", "Address")
18 }
19}
20
21pub fn org_pulse_audio_server_lookup1_server<F, T, D>(factory: &tree::Factory<tree::MTFn<D>, D>, data: D::Interface, f: F) -> tree::Interface<tree::MTFn<D>, D>
22where
23 D: tree::DataType,
24 D::Method: Default,
25 D::Property: Default,
26 T: OrgPulseAudioServerLookup1<Err=tree::MethodErr>,
27 F: 'static + for <'z> Fn(& 'z tree::MethodInfo<tree::MTFn<D>, D>) -> & 'z T,
28{
29 let i = factory.interface("org.PulseAudio.ServerLookup1", data);
30 let f = ::std::sync::Arc::new(f);
31 let p = factory.property::<&str, _>("Address", Default::default());
32 let p = p.access(tree::Access::Read);
33 let fclone = f.clone();
34 let p = p.on_get(move |a, pinfo| {
35 let minfo = pinfo.to_method_info();
36 let d = fclone(&minfo);
37 a.append(try!(d.get_address()));
38 Ok(())
39 });
40 let i = i.add_p(p);
41 i
42}
43
44pub trait OrgFreedesktopDBusIntrospectable {
45 type Err;
46 fn introspect(&self) -> Result<String, Self::Err>;
47}
48
49impl<'a, C: ::std::ops::Deref<Target=dbus::Connection>> OrgFreedesktopDBusIntrospectable for dbus::ConnPath<'a, C> {
50 type Err = dbus::Error;
51
52 fn introspect(&self) -> Result<String, Self::Err> {
53 let mut m = try!(self.method_call_with_args(&"org.freedesktop.DBus.Introspectable".into(), &"Introspect".into(), |_| {
54 }));
55 try!(m.as_result());
56 let mut i = m.iter_init();
57 let data: String = try!(i.read());
58 Ok(data)
59 }
60}
61
62pub fn org_freedesktop_dbus_introspectable_server<F, T, D>(factory: &tree::Factory<tree::MTFn<D>, D>, data: D::Interface, f: F) -> tree::Interface<tree::MTFn<D>, D>
63where
64 D: tree::DataType,
65 D::Method: Default,
66 T: OrgFreedesktopDBusIntrospectable<Err=tree::MethodErr>,
67 F: 'static + for <'z> Fn(& 'z tree::MethodInfo<tree::MTFn<D>, D>) -> & 'z T,
68{
69 let i = factory.interface("org.freedesktop.DBus.Introspectable", data);
70 let f = ::std::sync::Arc::new(f);
71 let fclone = f.clone();
72 let h = move |minfo: &tree::MethodInfo<tree::MTFn<D>, D>| {
73 let d = fclone(minfo);
74 let data = try!(d.introspect());
75 let rm = minfo.msg.method_return();
76 let rm = rm.append1(data);
77 Ok(vec!(rm))
78 };
79 let m = factory.method("Introspect", Default::default(), h);
80 let m = m.out_arg(("data", "s"));
81 let i = i.add_m(m);
82 i
83}
84
85pub trait OrgFreedesktopDBusProperties {
86 type Err;
87 fn get(&self, interface_name: &str, property_name: &str) -> Result<arg::Variant<Box<arg::RefArg>>, Self::Err>;
88 fn set(&self, interface_name: &str, property_name: &str, value: arg::Variant<Box<arg::RefArg>>) -> Result<(), Self::Err>;
89 fn get_all(&self, interface_name: &str) -> Result<::std::collections::HashMap<String, arg::Variant<Box<arg::RefArg>>>, Self::Err>;
90}
91
92impl<'a, C: ::std::ops::Deref<Target=dbus::Connection>> OrgFreedesktopDBusProperties for dbus::ConnPath<'a, C> {
93 type Err = dbus::Error;
94
95 fn get(&self, interface_name: &str, property_name: &str) -> Result<arg::Variant<Box<arg::RefArg>>, Self::Err> {
96 let mut m = try!(self.method_call_with_args(&"org.freedesktop.DBus.Properties".into(), &"Get".into(), |msg| {
97 let mut i = arg::IterAppend::new(msg);
98 i.append(interface_name);
99 i.append(property_name);
100 }));
101 try!(m.as_result());
102 let mut i = m.iter_init();
103 let value: arg::Variant<Box<arg::RefArg>> = try!(i.read());
104 Ok(value)
105 }
106
107 fn set(&self, interface_name: &str, property_name: &str, value: arg::Variant<Box<arg::RefArg>>) -> Result<(), Self::Err> {
108 let mut m = try!(self.method_call_with_args(&"org.freedesktop.DBus.Properties".into(), &"Set".into(), |msg| {
109 let mut i = arg::IterAppend::new(msg);
110 i.append(interface_name);
111 i.append(property_name);
112 i.append(value);
113 }));
114 try!(m.as_result());
115 Ok(())
116 }
117
118 fn get_all(&self, interface_name: &str) -> Result<::std::collections::HashMap<String, arg::Variant<Box<arg::RefArg>>>, Self::Err> {
119 let mut m = try!(self.method_call_with_args(&"org.freedesktop.DBus.Properties".into(), &"GetAll".into(), |msg| {
120 let mut i = arg::IterAppend::new(msg);
121 i.append(interface_name);
122 }));
123 try!(m.as_result());
124 let mut i = m.iter_init();
125 let props: ::std::collections::HashMap<String, arg::Variant<Box<arg::RefArg>>> = try!(i.read());
126 Ok(props)
127 }
128}
129
130pub fn org_freedesktop_dbus_properties_server<F, T, D>(factory: &tree::Factory<tree::MTFn<D>, D>, data: D::Interface, f: F) -> tree::Interface<tree::MTFn<D>, D>
131where
132 D: tree::DataType,
133 D::Method: Default,
134 T: OrgFreedesktopDBusProperties<Err=tree::MethodErr>,
135 F: 'static + for <'z> Fn(& 'z tree::MethodInfo<tree::MTFn<D>, D>) -> & 'z T,
136{
137 let i = factory.interface("org.freedesktop.DBus.Properties", data);
138 let f = ::std::sync::Arc::new(f);
139 let fclone = f.clone();
140 let h = move |minfo: &tree::MethodInfo<tree::MTFn<D>, D>| {
141 let mut i = minfo.msg.iter_init();
142 let interface_name: &str = try!(i.read());
143 let property_name: &str = try!(i.read());
144 let d = fclone(minfo);
145 let value = try!(d.get(interface_name, property_name));
146 let rm = minfo.msg.method_return();
147 let rm = rm.append1(value);
148 Ok(vec!(rm))
149 };
150 let m = factory.method("Get", Default::default(), h);
151 let m = m.in_arg(("interface_name", "s"));
152 let m = m.in_arg(("property_name", "s"));
153 let m = m.out_arg(("value", "v"));
154 let i = i.add_m(m);
155
156 let fclone = f.clone();
157 let h = move |minfo: &tree::MethodInfo<tree::MTFn<D>, D>| {
158 let mut i = minfo.msg.iter_init();
159 let interface_name: &str = try!(i.read());
160 let property_name: &str = try!(i.read());
161 let value: arg::Variant<Box<arg::RefArg>> = try!(i.read());
162 let d = fclone(minfo);
163 try!(d.set(interface_name, property_name, value));
164 let rm = minfo.msg.method_return();
165 Ok(vec!(rm))
166 };
167 let m = factory.method("Set", Default::default(), h);
168 let m = m.in_arg(("interface_name", "s"));
169 let m = m.in_arg(("property_name", "s"));
170 let m = m.in_arg(("value", "v"));
171 let i = i.add_m(m);
172
173 let fclone = f.clone();
174 let h = move |minfo: &tree::MethodInfo<tree::MTFn<D>, D>| {
175 let mut i = minfo.msg.iter_init();
176 let interface_name: &str = try!(i.read());
177 let d = fclone(minfo);
178 let props = try!(d.get_all(interface_name));
179 let rm = minfo.msg.method_return();
180 let rm = rm.append1(props);
181 Ok(vec!(rm))
182 };
183 let m = factory.method("GetAll", Default::default(), h);
184 let m = m.in_arg(("interface_name", "s"));
185 let m = m.out_arg(("props", "a{sv}"));
186 let i = i.add_m(m);
187 i
188}