1 use dbus::blocking::Connection;
2 use dbus_crossroads::{Context, Crossroads};
5 fn main() -> Result<(), Box<dyn Error>> {
6 let service_name: &'static str = "com.jacobcasper.Mail";
7 let conn = Connection::new_session()?;
8 conn.request_name(service_name, false, true, false)?;
10 let mut crossroads = Crossroads::new();
12 let interface_token = crossroads.register(service_name, |builder| {
13 builder.signal::<(u32,), _>("UnreadCount", ("count",));
18 |ctx: &mut Context, _, (count,): (u32,)| {
19 ctx.push_msg(ctx.make_signal("UnreadCount", (count,)));
25 crossroads.insert("/com/jacobcasper/Mail/Unread", &[interface_token], ());
26 crossroads.serve(&conn)?;