imag/libimagstore/src/hook/accessor.rs

22 lines
511 B
Rust
Raw Normal View History

2016-03-04 15:43:01 +00:00
use hook::result::HookResult;
use store::FileLockEntry;
pub trait MutableHookDataAccessor : Send + Sync {
fn access_mut(&self, &mut FileLockEntry) -> HookResult<()>;
}
pub trait NonMutableHookDataAccessor : Send + Sync {
fn access(&self, &FileLockEntry) -> HookResult<()>;
}
pub enum HookDataAccessor {
MutableAccess(Box<MutableHookDataAccessor>),
NonMutableAccess(Box<NonMutableHookDataAccessor>),
}
pub trait HookDataAccessorProvider {
fn accessor(&self) -> Box<HookDataAccessor>;
}