ResolvedInstanceInterface

Trait ResolvedInstanceInterface 

Source
pub trait ResolvedInstanceInterface: Send + Sync {
    type Component;

    // Required methods
    fn uses(&self) -> Box<[UseDecl]>;
    fn exposes(&self) -> Box<[ExposeDecl]>;
    fn offers(&self) -> Box<[OfferDecl]>;
    fn capabilities(&self) -> Box<[CapabilityDecl]>;
    fn collections(&self) -> Box<[CollectionDecl]>;
    fn get_child(
        &self,
        moniker: &BorrowedChildName,
    ) -> Option<Arc<Self::Component>>;
    fn children_in_collection(
        &self,
        collection: &Name,
    ) -> Vec<(ChildName, Arc<Self::Component>)>;
    fn address<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<ComponentAddress, ResolverError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn context_to_resolve_children(&self) -> Option<ComponentResolutionContext>;
}
Expand description

A trait providing a representation of a resolved component instance.

Required Associated Types§

Source

type Component

Type representing a (unlocked and potentially unresolved) component instance.

Required Methods§

Source

fn uses(&self) -> Box<[UseDecl]>

Current view of this component’s uses declarations.

Source

fn exposes(&self) -> Box<[ExposeDecl]>

Current view of this component’s exposes declarations.

Source

fn offers(&self) -> Box<[OfferDecl]>

Current view of this component’s offers declarations. Does not include any dynamic offers between children of this component.

Source

fn capabilities(&self) -> Box<[CapabilityDecl]>

Current view of this component’s capabilities declarations.

Source

fn collections(&self) -> Box<[CollectionDecl]>

Current view of this component’s collections declarations.

Source

fn get_child(&self, moniker: &BorrowedChildName) -> Option<Arc<Self::Component>>

Returns a live child of this instance.

Source

fn children_in_collection( &self, collection: &Name, ) -> Vec<(ChildName, Arc<Self::Component>)>

Returns a vector of the live children in collection.

Source

fn address<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<ComponentAddress, ResolverError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the resolver-ready location of the component, which is either an absolute component URL or a relative path URL with context.

Source

fn context_to_resolve_children(&self) -> Option<ComponentResolutionContext>

Returns the context to be used to resolve a component from a path relative to this component (for example, a component in a subpackage). If None, the resolver cannot resolve relative path component URLs.

Implementors§