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§
Sourcefn resolve(
&self,
request: &PropertyRequest,
) -> Result<PropertyResolution, PropertyResolutionError>
fn resolve( &self, request: &PropertyRequest, ) -> Result<PropertyResolution, PropertyResolutionError>
Resolves one request or reports why it is not conclusive.
Provided Methods§
Sourcefn source_snapshots(&self) -> &[SourceSnapshot]
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.
Sourcefn enumerate(
&self,
request: &PropertyEnumerationRequest,
) -> Result<PropertyEnumeration, PropertyResolutionError>
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".