Struct tss2_fapi_rs::BranCallback
pub struct BranCallback { /* private fields */ }
Expand description
A callback function that allows the FAPI to request branch choices.
It is usually called during policy evaluation.
Registered to a FAPI context via the set_branch_callback()
function.
Implementations§
§impl BranCallback
impl BranCallback
pub fn new(
bran_fn: impl Fn(BranCallbackParam<'_>) -> Option<usize> + 'static + Send,
) -> Self
pub fn new( bran_fn: impl Fn(BranCallbackParam<'_>) -> Option<usize> + 'static + Send, ) -> Self
Creates a new callback instance.
The supplied bran_fn
will be called whenever a branch needs to be chosen during policy evaluation. Such choices take place when a policy contains a PolicyOR (with more than one branch), or a PolicyAuthorize (which has more than one approved policy). This function receives a BranCallbackParam
as parameter; it shall return Some(n)
, where n is the zero-based index of the chosen branch (must be less than or equal to branches.len()-1
), or None
, if no choice can be made.
pub fn with_data<T: 'static + Send>(
bran_fn: impl Fn(BranCallbackParam<'_>, &T) -> Option<usize> + 'static + Send,
extra_data: T,
) -> Self
pub fn with_data<T: 'static + Send>( bran_fn: impl Fn(BranCallbackParam<'_>, &T) -> Option<usize> + 'static + Send, extra_data: T, ) -> Self
Creates a new callback instance with additional data.
The supplied bran_fn
will be called whenever a branch needs to be chosen during policy evaluation. Such choices take place when a policy contains a PolicyOR (with more than one branch), or a PolicyAuthorize (which has more than one approved policy). This function receives a BranCallbackParam
as parameter; it shall return Some(n)
, where n is the zero-based index of the chosen branch (must be less than or equal to branches.len()-1
), or None
, if no choice can be made.
The application-defined extra_data
argument will be passed to each invocation of bran_fn
as an additional parameter.