fractal::session::model::room::event::imp

Struct Event

Source
pub struct Event {
Show 18 fields room: OnceCell<Room>, item: RefCell<Option<Arc<EventTimelineItem>>>, event_id_string: PhantomData<Option<String>>, sender_id_string: PhantomData<String>, timestamp: PhantomData<DateTime>, formatted_timestamp: PhantomData<String>, source: PhantomData<Option<String>>, has_source: PhantomData<bool>, state: Cell<MessageState>, is_edited: PhantomData<bool>, latest_edit_source: PhantomData<String>, latest_edit_event_id_string: PhantomData<String>, latest_edit_timestamp: PhantomData<Option<DateTime>>, latest_edit_formatted_timestamp: PhantomData<String>, is_highlighted: PhantomData<bool>, reactions: ReactionList, read_receipts: ListStore, has_read_receipts: PhantomData<bool>,
}

Fields§

§room: OnceCell<Room>

The room containing this event.

§item: RefCell<Option<Arc<EventTimelineItem>>>

The underlying SDK timeline item.

§event_id_string: PhantomData<Option<String>>

The global permanent ID of this event, if it has been received from the server, as a string.

§sender_id_string: PhantomData<String>

The ID of the sender of this event, as a string.

§timestamp: PhantomData<DateTime>

The timestamp of this event, as a GDateTime.

§formatted_timestamp: PhantomData<String>

The formatted timestamp of this event.

§source: PhantomData<Option<String>>

The pretty-formatted JSON source, if it has been echoed back by the server.

§has_source: PhantomData<bool>

Whether we have the JSON source of this event.

§state: Cell<MessageState>

The state of this event.

§is_edited: PhantomData<bool>

Whether this event was edited.

§latest_edit_source: PhantomData<String>

The pretty-formatted JSON source for the latest edit of this event.

This string is empty if the event is not edited.

§latest_edit_event_id_string: PhantomData<String>

The ID for the latest edit of this event, as a string.

This string is empty if the event is not edited.

§latest_edit_timestamp: PhantomData<Option<DateTime>>

The timestamp for the latest edit of this event, as a GDateTime, if any.

§latest_edit_formatted_timestamp: PhantomData<String>

The formatted timestamp for the latest edit of this event.

This string is empty if the event is not edited.

§is_highlighted: PhantomData<bool>

Whether this event should be highlighted.

§reactions: ReactionList

The reactions on this event.

§read_receipts: ListStore

The read receipts on this event.

§has_read_receipts: PhantomData<bool>

Whether this event has any read receipt.

Implementations§

Source§

impl Event

Source

fn register_type()

Registers the type only once.

Source§

impl Event

Source

pub fn downgrade(&self) -> <Self as Downgrade>::Weak

Source§

impl Event

Source

fn set_room(&self, room: Room)

Set the room that contains this event.

Source

pub(super) fn set_item(&self, item: EventTimelineItem)

Set the underlying SDK timeline item.

Source

pub(super) fn item(&self) -> Arc<EventTimelineItem>

The underlying SDK timeline item.

Source

pub(super) fn identifier(&self) -> TimelineEventItemId

The global permanent or temporary identifier of this event.

Source

pub(super) fn event_id(&self) -> Option<OwnedEventId>

The global permanent ID of this event, if it has been received from the server.

Source

fn event_id_string(&self) -> Option<String>

The global permanent ID of this event, if it has been received from the server, as a string.

Source

pub(crate) fn transaction_id(&self) -> Option<OwnedTransactionId>

The temporary ID of this event, if it has been sent with this session.

Source

pub(super) fn sender_id(&self) -> OwnedUserId

The ID of the sender of this event.

Source

fn sender_id_string(&self) -> String

The ID of the sender of this event, as a string.

Source

pub(super) fn origin_server_ts(&self) -> MilliSecondsSinceUnixEpoch

The timestamp of this event, as the number of milliseconds since Unix Epoch.

Source

fn timestamp(&self) -> DateTime

The timestamp of this event, as a GDateTime.

Source

fn formatted_timestamp(&self) -> String

The formatted timestamp of this event.

Source

pub(super) fn raw(&self) -> Option<Raw<AnySyncTimelineEvent>>

The raw JSON source, if it has been echoed back by the server.

Source

fn source(&self) -> Option<String>

The pretty-formatted JSON source, if it has been echoed back by the server.

Source

fn has_source(&self) -> bool

Whether we have the JSON source.

Source

fn compute_state(&self) -> MessageState

Compute the current state of this event.

Source

fn update_state(&self)

Update the state of this event.

Source

fn is_edited(&self) -> bool

Whether this event was edited.

Source

fn latest_edit_raw(&self) -> Option<Raw<AnySyncTimelineEvent>>

The JSON source for the latest edit of this event, if any.

Source

fn latest_edit_source(&self) -> String

The pretty-formatted JSON source for the latest edit of this event.

This string is empty if the event is not edited.

Source

fn latest_edit_event_id_string(&self) -> String

The ID of the latest edit of this Event.

This string is empty if the event is not edited.

Source

fn latest_edit_timestamp(&self) -> Option<DateTime>

The timestamp of the latest edit of this Event, as a GDateTime, if any.

Source

fn latest_edit_formatted_timestamp(&self) -> String

The formatted timestamp of the latest edit of this Event.

Source

fn is_highlighted(&self) -> bool

Whether this Event should be highlighted.

Source

fn update_read_receipts( &self, new_read_receipts: &IndexMap<OwnedUserId, Receipt>, )

Update the read receipts list with the given receipts.

Source

fn has_read_receipts(&self) -> bool

Whether this event has any read receipt.

Trait Implementations§

Source§

impl Debug for Event

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Event

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl DerivedObjectProperties for Event

Source§

fn derived_properties() -> &'static [ParamSpec]

Properties installed for this type.
Source§

fn derived_property(&self, id: usize, pspec: &ParamSpec) -> Value

Similar to ObjectImpl but auto-generated by the Properties macro to allow handling more complex use-cases.
Source§

fn derived_set_property(&self, id: usize, value: &Value, pspec: &ParamSpec)

Similar to ObjectImpl but auto-generated by the Properties macro to allow handling more complex use-cases.
Source§

impl ObjectImpl for Event

Source§

fn signals() -> &'static [Signal]

Signals installed for this type.
Source§

fn properties() -> &'static [ParamSpec]

Properties installed for this type.
Source§

fn set_property(&self, id: usize, value: &Value, pspec: &ParamSpec)

Property setter. Read more
Source§

fn property(&self, id: usize, pspec: &ParamSpec) -> Value

Property getter. Read more
Source§

fn constructed(&self)

Constructed. Read more
Source§

fn dispose(&self)

Disposes of the object. Read more
Source§

fn notify(&self, pspec: &ParamSpec)

Function to be called when property change is notified for with self.notify("property").
Source§

fn dispatch_properties_changed(&self, pspecs: &[ParamSpec])

Source§

impl ObjectSubclass for Event

Source§

const NAME: &'static str = "RoomEvent"

GObject type name. Read more
Source§

type Interfaces = ()

List of interfaces implemented by this type.
Source§

type Class = ClassStruct<Event>

The C class struct. Read more
Source§

type Instance = InstanceStruct<Event>

The C instance struct. Read more
Source§

type Type = Event

Wrapper around this subclass defined with wrapper!
Source§

type ParentType = TimelineItem

Parent Rust type to inherit from.
Source§

fn new() -> Self

Constructor. Read more
Source§

const ABSTRACT: bool = false

If this subclass is an abstract class or not. Read more
Source§

const ALLOW_NAME_CONFLICT: bool = false

Allow name conflicts for this class. Read more
Source§

fn type_init(_type_: &mut InitializingType<Self>)

Additional type initialization. Read more
Source§

fn class_init(_klass: &mut Self::Class)

Class initialization. Read more
Source§

fn with_class(_klass: &Self::Class) -> Self

Constructor. Read more
Source§

fn instance_init(_obj: &InitializingObject<Self>)

Performs additional instance initialization. Read more
Source§

impl ObjectSubclassType for Event

Source§

fn type_data() -> NonNull<TypeData>

Storage for the type-specific data used during registration.
Source§

fn type_() -> Type

Returns the glib::Type ID of the subclass. Read more
Source§

impl TimelineItemImpl for Event

Auto Trait Implementations§

§

impl !Freeze for Event

§

impl !RefUnwindSafe for Event

§

impl !Send for Event

§

impl !Sync for Event

§

impl Unpin for Event

§

impl !UnwindSafe for Event

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> ObjectImplExt for T
where T: ObjectImpl,

Source§

fn parent_constructed(&self)

Chain up to the parent class’ implementation of glib::Object::constructed().
Source§

fn parent_notify(&self, pspec: &ParamSpec)

Chain up to the parent class’ implementation of glib::Object::notify().
Source§

fn parent_dispatch_properties_changed(&self, pspecs: &[ParamSpec])

Chain up to the parent class’ implementation of glib::Object::dispatch_properties_changed().
Source§

fn signal_chain_from_overridden( &self, token: &SignalClassHandlerToken, values: &[Value], ) -> Option<Value>

Chain up to parent class signal handler.
Source§

impl<T> ObjectSubclassExt for T
where T: ObjectSubclass,

Source§

fn instance(&self) -> BorrowedObject<'_, <T as ObjectSubclass>::Type>

👎Deprecated: Use obj() instead
Returns the corresponding object instance.
Source§

fn from_instance(obj: &<T as ObjectSubclass>::Type) -> &T

👎Deprecated: Use from_obj() instead
Returns the implementation from an instance.
Source§

fn obj(&self) -> BorrowedObject<'_, <T as ObjectSubclass>::Type>

Returns the corresponding object instance. Read more
Source§

fn from_obj(obj: &<T as ObjectSubclass>::Type) -> &T

Returns the implementation from an instance. Read more
Source§

fn ref_counted(&self) -> ObjectImplRef<T>

Returns a new reference-counted wrapper around self.
Source§

fn instance_data<U>(&self, type_: Type) -> Option<&U>
where U: Any + Send + Sync + 'static,

Returns a pointer to the instance implementation specific data. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Any for T
where T: Any,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

Source§

impl<T> MaybeSendSync for T