Skip to main content

PropertyResolutionService

Trait PropertyResolutionService 

Source
pub trait PropertyResolutionService: Send + Sync {
    // Required method
    fn resolve(
        &self,
        request: &PropertyRequest,
    ) -> Result<PropertyResolution, PropertyResolutionError>;

    // Provided methods
    fn source_snapshots(&self) -> &[SourceSnapshot] { ... }
    fn enumerate(
        &self,
        request: &PropertyEnumerationRequest,
    ) -> Result<PropertyEnumeration, PropertyResolutionError> { ... }
}
Expand description

Trusted adapter seam for property resolution.

Required Methods§

Source

fn resolve( &self, request: &PropertyRequest, ) -> Result<PropertyResolution, PropertyResolutionError>

Resolves one request or reports why it is not conclusive.

Provided Methods§

Source

fn source_snapshots(&self) -> &[SourceSnapshot]

Exact source snapshots used to construct this resolver.

The default is intentionally unbound for services used only through a raw crate::ServiceRegistry; an crate::EvidenceSession rejects it.

Source

fn enumerate( &self, request: &PropertyEnumerationRequest, ) -> Result<PropertyEnumeration, PropertyResolutionError>

Enumerates every property of one object the request selects, or reports why the enumeration is not conclusive.

The default refuses: a source that cannot list an object’s properties never answers with an empty enumeration, which would be a proof of absence.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§