pub struct rLIPC { /* private fields */ }Implementations§
Source§impl rLIPC
impl rLIPC
Sourcepub fn new() -> Result<Self, String>
pub fn new() -> Result<Self, String>
Returns a new LIPC client if a connection was successful Connects to the LIPC bus with no name.
Sourcepub fn subscribe<F>(
&self,
service: &str,
name: Option<&str>,
callback: F,
) -> Result<(), String>
pub fn subscribe<F>( &self, service: &str, name: Option<&str>, callback: F, ) -> Result<(), String>
Register a callback for events broadcasted by service. Optionally,
you can filter to a single event by providing name.
For callback, we pass (source, name, optional int param, optional str param). an example callback payload would be “com.lab126.appmgrd”, “appActivating”, Some(1), Some(“com.lab126.booklet.reader”)
§Examples
use libopenlipc_sys::rLIPC;
let r = rLIPC::new().unwrap();
r.subscribe("com.lab126.powerd", Some("battLevelChanged"), |_, _, _, _| ());
// You will only get updates about battLevel in the callback
// battLevelChanged sends <int param> with the new battery valueuse libopenlipc_sys::rLIPC;
let r = rLIPC::new().unwrap();
r.subscribe("com.lab126.powerd", None, |_, _, _, _| ());
// You will get updates all power related events (screen on, off, etc)Sourcepub fn get_str_prop(&self, service: &str, prop: &str) -> Result<String, String>
pub fn get_str_prop(&self, service: &str, prop: &str) -> Result<String, String>
Get the current value of a string property
use libopenlipc_sys::rLIPC;
let r = rLIPC::new().unwrap();
let reader_status = r.get_str_prop("com.lab126.acxreaderplugin", "allReaderData").unwrap();
// reader_status would be a string containing JSONSourcepub fn get_int_prop(&self, service: &str, prop: &str) -> Result<i32, String>
pub fn get_int_prop(&self, service: &str, prop: &str) -> Result<i32, String>
Get the current value of an int property
use libopenlipc_sys::rLIPC;
let r = rLIPC::new().unwrap();
let reader_status = r.get_int_prop("com.lab126.powerd", "battLevel").unwrap();
// reader_status will contain the battery charge % (ie: 75).Trait Implementations§
Auto Trait Implementations§
impl !Send for rLIPC
impl Freeze for rLIPC
impl RefUnwindSafe for rLIPC
impl Unpin for rLIPC
impl UnsafeUnpin for rLIPC
impl UnwindSafe for rLIPC
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