Fix incorrect key type in return type of get_managed_objects()
get_managed_objects() previously returned a dict keyed on String
instead of
OwnedObjectPath
, causing runtime deserialization errors.
Code which triggered this bug:
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
let connection = zbus::Connection::new_system().unwrap();
let om = zbus::fdo::ObjectManagerProxy::new_for(&connection, "org.freedesktop.ModemManager1", "/org/freedesktop/ModemManager1")?;
match om.get_managed_objects() {
Ok(ob) => {
println!("Found {} objects.", ob.len());
},
Err(e) => panic!("Get managed objects Failed: {:?}", e),
}
Ok(())
}