Lines Matching refs:T

10 pub trait NotifierBlock<V: Clone + Copy, T>: Debug + Send + Sync {
12 fn notifier_call(&self, action: V, data: Option<&T>) -> i32; in notifier_call()
20 struct NotifierChain<V: Clone + Copy, T>(Vec<Arc<dyn NotifierBlock<V, T>>>);
22 impl<V: Clone + Copy, T> NotifierChain<V, T> {
31 block: Arc<dyn NotifierBlock<V, T>>, in register() argument
65 pub fn unregister(&mut self, block: Arc<dyn NotifierBlock<V, T>>) -> Result<(), SystemError> { in unregister()
87 data: Option<&T>, in call_chain() argument
106 pub struct AtomicNotifierChain<V: Clone + Copy, T>(SpinLock<NotifierChain<V, T>>);
108 impl<V: Clone + Copy, T> Default for AtomicNotifierChain<V, T> {
114 impl<V: Clone + Copy, T> AtomicNotifierChain<V, T> {
116 Self(SpinLock::new(NotifierChain::<V, T>::new())) in new()
119 pub fn register(&mut self, block: Arc<dyn NotifierBlock<V, T>>) -> Result<(), SystemError> { in register()
126 block: Arc<dyn NotifierBlock<V, T>>, in register_unique_prio() argument
132 pub fn unregister(&mut self, block: Arc<dyn NotifierBlock<V, T>>) -> Result<(), SystemError> { in unregister()
140 data: Option<&T>, in call_chain() argument
151 pub struct BlockingNotifierChain<V: Clone + Copy, T>(RwLock<NotifierChain<V, T>>);
153 impl<V: Clone + Copy, T> BlockingNotifierChain<V, T> {
155 Self(RwLock::new(NotifierChain::<V, T>::new())) in new()
158 pub fn register(&mut self, block: Arc<dyn NotifierBlock<V, T>>) -> Result<(), SystemError> { in register()
165 block: Arc<dyn NotifierBlock<V, T>>, in register_unique_prio() argument
171 pub fn unregister(&mut self, block: Arc<dyn NotifierBlock<V, T>>) -> Result<(), SystemError> { in unregister()
179 data: Option<&T>, in call_chain() argument
188 pub struct RawNotifierChain<V: Clone + Copy, T>(NotifierChain<V, T>);
190 impl<V: Clone + Copy, T> RawNotifierChain<V, T> {
192 Self(NotifierChain::<V, T>::new()) in new()
195 pub fn register(&mut self, block: Arc<dyn NotifierBlock<V, T>>) -> Result<(), SystemError> { in register()
199 pub fn unregister(&mut self, block: Arc<dyn NotifierBlock<V, T>>) -> Result<(), SystemError> { in unregister()
206 data: Option<&T>, in call_chain() argument