use finger_guard::service::FingerGuardService; usecrate::trusty::Trusty; use binder::BinderFeatures; use android_desktop_security_finger_guard::aidl::android::desktop::security::finger_guard::IFingerGuard::BnFingerGuard; use rpcbinder::RpcServer; use std::ffi::CString; use std::rc::Rc; use tipc::{Manager, PortCfg};
letmut dispatcher =
FingerGuardDispatcher::<PORT_COUNT>::new().expect("Could not create dispatcher"); let service = FingerGuardService::new(Trusty); let binder_service = BnFingerGuard::new_binder(service, BinderFeatures::default()); let rpc_service = RpcServer::new_per_session(move |_uuid| Some(binder_service.as_binder()));
// Allow secure (within trusty) and non-secure (outside trusty) connections. // Originally only intended for non-secure connections, now allowed secure connection as well // to facilitate the unit tests within the trusty environment. let app_cfg = PortCfg::new_raw(CString::from(finger_guard_api::PORT_CSTR))
.allow_ta_connect()
.allow_ns_connect();
dispatcher
.add_service(Rc::new(rpc_service), app_cfg)
.expect("Could not add FingerGuardService to dispatcher");
// <_, _, 1, 1> means we define a Manager with a single port, and max one connection.
Manager::<_, _, PORT_COUNT, CONNECTION_COUNT>::new_with_dispatcher(dispatcher, [])
.expect("Could not create service manager")
.run_event_loop()
.expect("FingerGuard event loop failed");
Ok(())
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.