1extern crate binder_rust;
2use binder_rust::{Parcel, ServiceManager};
3
4fn main() {
5 let mut service_manager = &mut ServiceManager::new();
6
7 let mut package_manager = service_manager.get_service("myservice", "com.example.IMyService");
8
9 let mut parcel = Parcel::empty();
10 parcel.write_str16("Hello World");
11 let mut res = package_manager.call(1, &mut parcel);
12 println!("response: {:?}", res.read_str16());
13
14 let mut parcel = Parcel::empty();
15 parcel.write_str16("/data/local/tmp/testfile");
16 let mut res = package_manager.call(2, &mut parcel);
17 let fd = res.read_file_descriptor();
18 unsafe {
19 nix::libc::write(fd, "Hello world".as_ptr() as *const std::ffi::c_void, 11);
20 }
21}
22