pub trait ContextCapabilityClause:
Clone
+ PartialEq
+ Debug {
Show 27 methods
// Required methods
fn service(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>;
fn protocol(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>;
fn directory(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>;
fn storage(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>;
fn runner(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>;
fn resolver(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>;
fn dictionary(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>;
fn config(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>;
fn event_stream(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>;
fn origin(&self) -> &Arc<PathBuf>;
fn availability(&self) -> Option<ContextSpanned<Availability>>;
fn set_availability(&mut self, a: Option<ContextSpanned<Availability>>);
fn set_service(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>);
fn set_protocol(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>);
fn set_directory(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>);
fn set_storage(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>);
fn set_runner(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>);
fn set_resolver(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>);
fn set_event_stream(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>);
fn set_dictionary(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>);
fn set_config(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>);
fn are_many_names_allowed(&self) -> bool;
fn decl_type(&self) -> &'static str;
fn supported(&self) -> &[&'static str];
// Provided methods
fn capability_type(
&self,
origin: Option<Arc<PathBuf>>,
) -> Result<&'static str, Error> { ... }
fn names(&self) -> Vec<ContextSpanned<Name>> { ... }
fn set_names(&mut self, names: Vec<ContextSpanned<Name>>) { ... }
}Required Methods§
fn service(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>
fn protocol(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>
fn directory(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>
fn storage(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>
fn runner(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>
fn resolver(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>
fn dictionary(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>
fn config(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>
fn event_stream(&self) -> Option<ContextSpanned<OneOrMany<&BorrowedName>>>
fn origin(&self) -> &Arc<PathBuf>
fn availability(&self) -> Option<ContextSpanned<Availability>>
fn set_availability(&mut self, a: Option<ContextSpanned<Availability>>)
fn set_service(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>)
fn set_protocol(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>)
fn set_directory(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>)
fn set_storage(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>)
fn set_runner(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>)
fn set_resolver(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>)
fn set_event_stream(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>)
fn set_dictionary(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>)
fn set_config(&mut self, o: Option<ContextSpanned<OneOrMany<Name>>>)
Sourcefn are_many_names_allowed(&self) -> bool
fn are_many_names_allowed(&self) -> bool
Returns true if this capability type allows the ::Many variant of OneOrMany.
fn decl_type(&self) -> &'static str
fn supported(&self) -> &[&'static str]
Provided Methods§
fn capability_type( &self, origin: Option<Arc<PathBuf>>, ) -> Result<&'static str, Error>
Sourcefn names(&self) -> Vec<ContextSpanned<Name>>
fn names(&self) -> Vec<ContextSpanned<Name>>
Returns the names of the capabilities in this clause, wrapped in ContextSpanned. This allows the caller to know the file source of every individual name.
Sourcefn set_names(&mut self, names: Vec<ContextSpanned<Name>>)
fn set_names(&mut self, names: Vec<ContextSpanned<Name>>)
Sets the names for this capability, preserving origin information.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.