pub trait Source: Clone {
    type Error: Display + Debug;

    // Required methods
    fn load_metadata<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<SourceMetadata, Self::Error>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn load_index<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Vec<DiscoveredSbom>, Self::Error>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn load_sbom<'life0, 'async_trait>(
        &'life0 self,
        sbom: DiscoveredSbom
    ) -> Pin<Box<dyn Future<Output = Result<RetrievedSbom, Self::Error>> + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

A source of SBOM documents

Required Associated Types§

Required Methods§

source

fn load_metadata<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<SourceMetadata, Self::Error>> + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn load_index<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Vec<DiscoveredSbom>, Self::Error>> + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

source

fn load_sbom<'life0, 'async_trait>( &'life0 self, sbom: DiscoveredSbom ) -> Pin<Box<dyn Future<Output = Result<RetrievedSbom, Self::Error>> + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Implementors§