pub struct CapabilityRegistry { /* private fields */ }Implementations§
Source§impl CapabilityRegistry
impl CapabilityRegistry
pub fn new() -> Self
Sourcepub fn register(
&mut self,
descriptor: CapabilityDescriptor,
handler: impl CapabilityHandler + 'static,
) -> Result<(), CapabilityError>
pub fn register( &mut self, descriptor: CapabilityDescriptor, handler: impl CapabilityHandler + 'static, ) -> Result<(), CapabilityError>
Register a host implementation and its public schema.
§Errors
Returns CapabilityError for duplicate IDs, empty method sets, or
invalid method names.
Sourcepub fn register_async(
&mut self,
descriptor: CapabilityDescriptor,
handler: impl AsyncCapabilityHandler + 'static,
) -> Result<(), CapabilityError>
pub fn register_async( &mut self, descriptor: CapabilityDescriptor, handler: impl AsyncCapabilityHandler + 'static, ) -> Result<(), CapabilityError>
Register one-shot task methods for a capability descriptor.
§Errors
Returns descriptor or duplicate-mode errors.
Sourcepub fn register_subscription(
&mut self,
descriptor: CapabilityDescriptor,
handler: impl SubscriptionCapabilityHandler + 'static,
) -> Result<(), CapabilityError>
pub fn register_subscription( &mut self, descriptor: CapabilityDescriptor, handler: impl SubscriptionCapabilityHandler + 'static, ) -> Result<(), CapabilityError>
Register continuous subscription methods for a capability descriptor.
§Errors
Returns descriptor or duplicate-mode errors.
Sourcepub fn activate(
&mut self,
requirements: &BTreeMap<CapabilityId, VersionReq>,
) -> Result<(), CapabilityError>
pub fn activate( &mut self, requirements: &BTreeMap<CapabilityId, VersionReq>, ) -> Result<(), CapabilityError>
Validate and activate exactly the capabilities declared by an app.
§Errors
Returns CapabilityError::Missing or
CapabilityError::VersionMismatch.
Sourcepub fn call(
&mut self,
id: &CapabilityId,
method: &str,
input: UiValue,
) -> Result<UiValue, CapabilityError>
pub fn call( &mut self, id: &CapabilityId, method: &str, input: UiValue, ) -> Result<UiValue, CapabilityError>
Invoke an activated method through schema validation on both sides.
§Errors
Returns CapabilityError for undeclared access, unknown methods,
invalid values, or a handler failure.
Sourcepub fn start_task(
&mut self,
id: &CapabilityId,
method: &str,
input: UiValue,
) -> Result<(TaskWork, ValueSchema), CapabilityError>
pub fn start_task( &mut self, id: &CapabilityId, method: &str, input: UiValue, ) -> Result<(TaskWork, ValueSchema), CapabilityError>
Build schema-validated one-shot work for the task registry.
§Errors
Returns capability access, schema, mode, or handler setup errors.
Sourcepub fn start_subscription(
&mut self,
id: &CapabilityId,
method: &str,
input: UiValue,
) -> Result<(SubscriptionWork, ValueSchema), CapabilityError>
pub fn start_subscription( &mut self, id: &CapabilityId, method: &str, input: UiValue, ) -> Result<(SubscriptionWork, ValueSchema), CapabilityError>
Build schema-validated continuous work for the subscription registry.
§Errors
Returns capability access, schema, mode, or handler setup errors.
Trait Implementations§
Source§impl Debug for CapabilityRegistry
impl Debug for CapabilityRegistry
Auto Trait Implementations§
impl !RefUnwindSafe for CapabilityRegistry
impl !Send for CapabilityRegistry
impl !Sync for CapabilityRegistry
impl !UnwindSafe for CapabilityRegistry
impl Freeze for CapabilityRegistry
impl Unpin for CapabilityRegistry
impl UnsafeUnpin for CapabilityRegistry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().