pub trait Provider<X: Xml, A> {
type Error;
// Required method
fn visit<VE, W: Work>(
&self,
credential: &Checked<'_, '_, A, X::Id, X::Document, X::Generation>,
open: &[Opaque<X::Id, X::Document, X::Generation>],
access: &Access<'_, X, W>,
visitor: impl for<'value, 'document> FnMut(Need<'value, 'document, X::Id, X::Document, X::Generation>) -> Result<(), VE>,
) -> Result<Completeness, VisitError<Self::Error, VE>>;
}Expand description
Same format owner as credential authentication, operating on its actual
retained receipt A, WITHOUT authenticating the credential again. It visits
every required input, including the attribute certificate’s own status;
returning no inputs is Complete only if that format actually needs none.
CertificateFree is never an implicit implementation of this capability.
EN319132-1 V1.3.1 §§5.2.6/5.4.4/5.4.5/6.3(aa) leave concrete assertion and other credential formats with their owners while requiring their validation material. A X.509 issuer’s status does not substitute for credential status. https://www.etsi.org/deliver/etsi_en/319100_319199/31913201/01.03.01_60/en_31913201v010301p.pdf
Required Associated Types§
Required Methods§
Sourcefn visit<VE, W: Work>(
&self,
credential: &Checked<'_, '_, A, X::Id, X::Document, X::Generation>,
open: &[Opaque<X::Id, X::Document, X::Generation>],
access: &Access<'_, X, W>,
visitor: impl for<'value, 'document> FnMut(Need<'value, 'document, X::Id, X::Document, X::Generation>) -> Result<(), VE>,
) -> Result<Completeness, VisitError<Self::Error, VE>>
fn visit<VE, W: Work>( &self, credential: &Checked<'_, '_, A, X::Id, X::Document, X::Generation>, open: &[Opaque<X::Id, X::Document, X::Generation>], access: &Access<'_, X, W>, visitor: impl for<'value, 'document> FnMut(Need<'value, 'document, X::Id, X::Document, X::Generation>) -> Result<(), VE>, ) -> Result<Completeness, VisitError<Self::Error, VE>>
Visit dependencies of THIS authenticated original credential once. Source decoding, semantic/status checks and every traversal/copy/allocation use the supplied current Access/Work before execution. Do not reparse XML, reverify the credential, acquire sources implicitly or drop a callback refusal. The common caller independently preserves that first refusal.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".