1use std::{env, path::Path};
2
3use ubus::UbusObject;
4
5fn main() {
6 let args: Vec<String> = env::args().collect();
7 let mut obj_path = "";
8 if args.len() > 1 {
9 obj_path = args[1].as_str();
10 }
11 let socket = Path::new("/var/run/ubus/ubus.sock");
12
13 let mut connection = match ubus::Connection::connect(&socket) {
14 Ok(connection) => connection,
15 Err(err) => {
16 eprintln!("{}: Failed to open ubus socket. {}", socket.display(), err);
17 return;
18 }
19 };
20 let mut obj_json = String::new();
21 connection
22 .lookup(obj_path, |obj| {
23 obj_json = serde_json::to_string_pretty(&obj).unwrap();
24 })
25 .unwrap();
26 let obj: UbusObject = serde_json::from_str(&obj_json).unwrap();
27 println!("{:?}", obj);
28}