Enum DeliveryState
pub enum DeliveryState {
Queued,
Sending,
Submitted,
Sent,
Delivered,
Read,
Failed,
Uncertain,
}Expand description
The state a line shows, in the one vocabulary both apps speak.
Variants§
Implementations§
§impl DeliveryState
impl DeliveryState
pub const fn of_step(step: DeliveryStep) -> DeliveryState
pub const fn of_step(step: DeliveryStep) -> DeliveryState
The state a transport’s step means here.
pub const fn key(self) -> &'static str
pub const fn key(self) -> &'static str
The catalogue key for this state’s word, in the desktop’s language.
pub const fn icon(self) -> Icon
pub const fn icon(self) -> Icon
The glyph this state carries: a clock while it is on its way, a tick
once a transport has it, a circle-check once the other person’s device
has it — and a warning where the answer is a refusal or a silence. A
step within a stage (Submitted and Sent, Delivered and Read) is
told by its word; the glyph tells the stage, which is what a glance
reads.
pub const fn tone(self) -> Tone
pub const fn tone(self) -> Tone
The tone the state reads in. Progress is quiet — it is a fact about a message, not a call on the person’s attention — while a refusal and an unknown are the two states that need them.
pub const fn rank(self) -> u8
pub const fn rank(self) -> u8
How far along the one progression this state stands. A later state never
replaces an earlier one, so a stale Delivered cannot walk a line back
to Sending.
pub const fn is_final(self) -> bool
pub const fn is_final(self) -> bool
Whether this is the last thing the transport will say about a line.
pub const fn needs_attention(self) -> bool
pub const fn needs_attention(self) -> bool
Whether the state asks for the person’s attention (a refusal, or an answer the transport could not give).
pub fn then(self, later: DeliveryState) -> DeliveryState
pub fn then(self, later: DeliveryState) -> DeliveryState
The state a line on self should show, given that later was just
reported: the later one, unless it would move a final state backwards.
Trait Implementations§
§impl Clone for DeliveryState
impl Clone for DeliveryState
§fn clone(&self) -> DeliveryState
fn clone(&self) -> DeliveryState
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 DeliveryState
impl Debug for DeliveryState
§impl PartialEq for DeliveryState
impl PartialEq for DeliveryState
§impl PropType for DeliveryState
impl PropType for DeliveryState
fn ty() -> Type
§fn from_value(value: &Value) -> Result<DeliveryState, String>
fn from_value(value: &Value) -> Result<DeliveryState, String>
impl Copy for DeliveryState
impl Eq for DeliveryState
impl StructuralPartialEq for DeliveryState
Auto Trait Implementations§
impl Freeze for DeliveryState
impl RefUnwindSafe for DeliveryState
impl Send for DeliveryState
impl Sync for DeliveryState
impl Unpin for DeliveryState
impl UnsafeUnpin for DeliveryState
impl UnwindSafe for DeliveryState
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