pub struct PolicyRegistry {
policies: HashMap<PolicyType, Box<dyn PolicyFilter>>,
}Expand description
A registry mapping each PolicyType to its Policy implementation.
This is for FFI callers where the Policy implementation is unknown.
Rust callers should call filter
directly on their desired Policy.
Use PolicyRegistry::builder to construct an instance.
Fields§
§policies: HashMap<PolicyType, Box<dyn PolicyFilter>>Implementations§
Source§impl PolicyRegistry
impl PolicyRegistry
Sourcepub fn builder() -> PolicyRegistryBuilder
pub fn builder() -> PolicyRegistryBuilder
Returns a PolicyRegistryBuilder for constructing a registry.
Sourcepub(crate) fn filter_by_type<'a>(
&self,
policies: &'a [PolicyView],
organizations: &[ProfileOrganization],
policy_type: PolicyType,
) -> Vec<&'a PolicyView>
pub(crate) fn filter_by_type<'a>( &self, policies: &'a [PolicyView], organizations: &[ProfileOrganization], policy_type: PolicyType, ) -> Vec<&'a PolicyView>
Filters policies to those of policy_type that should be enforced.
Uses the registered Policy for policy_type if one exists,
otherwise falls back to DefaultPolicy.
Auto Trait Implementations§
impl Freeze for PolicyRegistry
impl !RefUnwindSafe for PolicyRegistry
impl Send for PolicyRegistry
impl Sync for PolicyRegistry
impl Unpin for PolicyRegistry
impl UnsafeUnpin for PolicyRegistry
impl !UnwindSafe for PolicyRegistry
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more