Struct VoaLocation

Source
pub struct VoaLocation {
    load_path: LoadPath,
    os: Os,
    purpose: Purpose,
    context: Context,
    technology: Technology,
}
Expand description

A VoaLocation combines a load path and a full set of identifier parameters. It represents a logical (not canonicalized) location in a VOA filesystem hierarchy.

A VoaLocation points to a “leaf directory” in the VOA structure. Signature verifier files are situated in a VoaLocation.

Fields§

§load_path: LoadPath§os: Os§purpose: Purpose§context: Context§technology: Technology

Implementations§

Source§

impl VoaLocation

Source

pub(crate) fn new( load_path: LoadPath, os: Os, purpose: Purpose, context: Context, technology: Technology, ) -> Self

Creates a new VoaLocation.

Source

pub fn load_path(&self) -> &LoadPath

The load path of the VoaLocation.

Source

pub fn os(&self) -> &Os

The Os of the VoaLocation.

Source

pub fn purpose(&self) -> &Purpose

The Purpose of the VoaLocation.

Source

pub fn context(&self) -> &Context

The Context of the VoaLocation.

Source

pub fn technology(&self) -> &Technology

The Technology of the VoaLocation.

Source

pub(crate) fn check_and_canonicalize( &self, legal_symlink_paths: &[&LoadPath], ) -> Result<PathBuf, Error>

Canonicalize a VoaLocation and check that its identifiers conform to VOA restrictions.

Ensures that the provided VoaLocation points to a legal path in the local filesystem, and that any involved symlinks conform to the VOA symlink restrictions.

Checks the legality of symlinks (if any) in the VOA path structure, and returns the canonicalized path to the target directory.

§Errors

Returns an error if

Source

fn append( current_path: &Path, segment: &Path, legal_symlink_paths: &[&LoadPath], ) -> Result<PathBuf, Error>

Append a segment to a path and ensure that the resulting path conforms to the VOA symlink constraints.

§Errors

Returns an error if

Trait Implementations§

Source§

impl Clone for VoaLocation

Source§

fn clone(&self) -> VoaLocation

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for VoaLocation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for VoaLocation

Source§

fn eq(&self, other: &VoaLocation) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for VoaLocation

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.