#[cfg_attr(test, mockall::automock)]
pub mod ffi {
- use std::ffi::{c_void, CStr, CString};
+ use std::ffi::c_void;
use std::os::raw::c_char;
#[link(name = "capi-appfw-event")]
#[cfg_attr(test, mockall_double::double)]
use ffi as mffi;
-use std::slice;
-
extern "C" fn received_cb_broker(
event_name_ptr: *const c_char,
event_data_ptr: *mut c_void,
user_data: *mut c_void,
) {
- let mut app_event: &mut AppEvent = unsafe { &mut *(user_data as *mut AppEvent) };
+ let app_event: &mut AppEvent = unsafe { &mut *(user_data as *mut AppEvent) };
if let Some(on_received) = app_event.on_received.as_ref() {
let event_name = unsafe { CStr::from_ptr(event_name_ptr).to_str().unwrap() };
- let mut event_data = Bundle::from_raw_handle(event_data_ptr, false);
- on_received.lock().unwrap()(event_name, &mut event_data);
+ let event_data = Bundle::from_raw_handle(event_data_ptr, false);
+ on_received.lock().unwrap()(event_name, &event_data);
}
}
pub struct AppEvent {
event_name: String,
- on_received: Option<Arc<Mutex<Box<FnMut(&str, &Bundle) + Send>>>>,
+ on_received: Option<Arc<Mutex<Box<dyn FnMut(&str, &Bundle) + Send>>>>,
handle: *mut c_void,
}
}
}
- pub fn on_received(&mut self, cb: Arc<Mutex<Box<FnMut(&str, &Bundle) + Send>>>) -> Result<(), EventError> {
+ pub fn on_received(&mut self, cb: Arc<Mutex<Box<dyn FnMut(&str, &Bundle) + Send>>>) -> Result<(), EventError> {
if self.handle.is_null() {
let mut handle = std::ptr::null_mut();
let event_name_ptr = CString::new(self.event_name.clone()).unwrap();
pub fn publish(event_name: &str, bundle: &mut Bundle) -> Result<(), EventError> {
let c_string = CString::new(event_name).unwrap();
let event_name_ptr = c_string.into_raw();
- let mut bundle_ptr = bundle.get_raw_handle();
+ let bundle_ptr = bundle.get_raw_handle();
let ret = unsafe {
mffi::event_publish_app_event(event_name_ptr, bundle_ptr)
};
#[test]
fn test_app_event_new() {
- let app_event = AppEvent::new("Test".to_string());
+ let _app_event = AppEvent::new("Test".to_string());
}
#[test]
ctx.expect().times(1).returning(|_, _, _, _| 0);
let mut app_event = AppEvent::new("Test".to_string());
- app_event.on_received(Arc::new(Mutex::new(Box::new(|event_name: &str, bundle: &Bundle| {}))));
+ let _ = app_event.on_received(Arc::new(Mutex::new(Box::new(|_, _| {}))));
}
#[test]
ctx.expect().times(1).returning(|_, _| 0);
let mut bundle = Bundle::new();
- AppEvent::publish("Test", &mut bundle);
+ let _ = AppEvent::publish("Test", &mut bundle);
}