Struct ExportedAction
pub struct ExportedAction {Show 15 fields
pub resource: String,
pub semantic_identity: Option<ResourceSemanticIdentity>,
pub action: String,
pub resource_kind: String,
pub resource_label: String,
pub action_label: String,
pub keywords: Vec<String>,
pub icon: Option<String>,
pub description: Option<String>,
pub state: ActionState,
pub operation_kind: OperationKind,
pub params: Vec<ActionParam>,
pub contract: ActionContract,
pub view: Option<ResourceViewDescriptor>,
pub input: ExportedInput,
}Expand description
One inert operation an application exports, without execution authority.
This is the one Rust shape of an exported action: the application builds
it from its typed ActionDescriptor, the broker holds it as its
published surface, and only this crate’s codec turns it into wire text.
Fields§
§resource: String§semantic_identity: Option<ResourceSemanticIdentity>§action: String§resource_kind: String§resource_label: String§action_label: String§keywords: Vec<String>The other words people use for the action, published with its label.
icon: Option<String>The action’s own picture, by its Lucide name, published with its label.
description: Option<String>§state: ActionStateWhat the action’s row shows of the state it acts on.
operation_kind: OperationKind§params: Vec<ActionParam>The canonical typed parameter descriptors.
contract: ActionContractThe complete safety/lifecycle/result contract.
view: Option<ResourceViewDescriptor>§input: ExportedInputImplementations§
§impl ExportedAction
impl ExportedAction
pub fn check(&self) -> Result<(), String>
pub fn check(&self) -> Result<(), String>
Whether this action, read from the app that published it, names a semantic identity only of its own kind and in bounds.
pub fn descriptor(&self, locus: ExecutionLocus) -> ActionDescriptor
pub fn descriptor(&self, locus: ExecutionLocus) -> ActionDescriptor
The typed descriptor this action exports, run at locus: the wire
carries no locus of its own.
§impl ExportedAction
impl ExportedAction
pub fn shape(&self) -> ExportedAction
pub fn shape(&self) -> ExportedAction
The catalogue entry of this action: everything but its resource’s own
fields, which a [SurfaceResource] carries.
pub fn resource_fields(&self) -> ResourceFields
Trait Implementations§
§impl Clone for ExportedAction
impl Clone for ExportedAction
§fn clone(&self) -> ExportedAction
fn clone(&self) -> ExportedAction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ExportedAction
impl Debug for ExportedAction
§impl<'de> Deserialize<'de> for ExportedAction
impl<'de> Deserialize<'de> for ExportedAction
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ExportedAction, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ExportedAction, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl From<&ActionDescriptor> for ExportedAction
impl From<&ActionDescriptor> for ExportedAction
§fn from(descriptor: &ActionDescriptor) -> ExportedAction
fn from(descriptor: &ActionDescriptor) -> ExportedAction
§impl PartialEq for ExportedAction
impl PartialEq for ExportedAction
§impl Serialize for ExportedAction
impl Serialize for ExportedAction
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for ExportedAction
impl StructuralPartialEq for ExportedAction
Auto Trait Implementations§
impl Freeze for ExportedAction
impl RefUnwindSafe for ExportedAction
impl Send for ExportedAction
impl Sync for ExportedAction
impl Unpin for ExportedAction
impl UnsafeUnpin for ExportedAction
impl UnwindSafe for ExportedAction
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§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>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§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.§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.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more