pub struct Service<'a> { /* private fields */ }
Implementations§
Source§impl<'a> Service<'a>
impl<'a> Service<'a>
pub fn new( service_manager: &'a mut ServiceManager<'a>, name: &'a str, interface_name: &'a str, handle: i32, ) -> Self
Sourcepub fn call(&mut self, function_index: u32, data: &mut Parcel) -> Parcel
pub fn call(&mut self, function_index: u32, data: &mut Parcel) -> Parcel
Examples found in repository?
examples/simple.rs (line 11)
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}
Auto Trait Implementations§
impl<'a> Freeze for Service<'a>
impl<'a> RefUnwindSafe for Service<'a>
impl<'a> !Send for Service<'a>
impl<'a> !Sync for Service<'a>
impl<'a> Unpin for Service<'a>
impl<'a> !UnwindSafe for Service<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more