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§
Required Methods§
Sourcefn exposes(&self) -> Box<[ExposeDecl]>
fn exposes(&self) -> Box<[ExposeDecl]>
Current view of this component’s exposes
declarations.
Sourcefn offers(&self) -> Box<[OfferDecl]>
fn offers(&self) -> Box<[OfferDecl]>
Current view of this component’s offers
declarations. Does not include any dynamic
offers between children of this component.
Sourcefn capabilities(&self) -> Box<[CapabilityDecl]>
fn capabilities(&self) -> Box<[CapabilityDecl]>
Current view of this component’s capabilities
declarations.
Sourcefn collections(&self) -> Box<[CollectionDecl]>
fn collections(&self) -> Box<[CollectionDecl]>
Current view of this component’s collections
declarations.
Sourcefn get_child(&self, moniker: &BorrowedChildName) -> Option<Arc<Self::Component>>
fn get_child(&self, moniker: &BorrowedChildName) -> Option<Arc<Self::Component>>
Returns a live child of this instance.
Sourcefn children_in_collection(
&self,
collection: &Name,
) -> Vec<(ChildName, Arc<Self::Component>)>
fn children_in_collection( &self, collection: &Name, ) -> Vec<(ChildName, Arc<Self::Component>)>
Returns a vector of the live children in collection
.
Sourcefn 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 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.
Sourcefn context_to_resolve_children(&self) -> Option<ComponentResolutionContext>
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.