Skip to main content

RemoteRoom

Struct RemoteRoom 

Source
pub struct RemoteRoom {
Show 13 fields session: WeakRef<Session>, uri: OnceCell<MatrixRoomIdUri>, room_id: RefCell<Option<OwnedRoomId>>, canonical_alias: RefCell<Option<OwnedRoomAliasId>>, name: RefCell<Option<String>>, topic: RefCell<Option<String>>, topic_linkified: RefCell<Option<String>>, joined_members_count: Cell<u32>, can_knock: Cell<bool>, room_list_info: RoomListRoomInfo, loading_state: Cell<LoadingState>, last_request_time: Cell<Option<Instant>>, request_abort_handle: AbortableHandle,
}

Fields§

§session: WeakRef<Session>

The current session.

§uri: OnceCell<MatrixRoomIdUri>

The Matrix URI of this room.

§room_id: RefCell<Option<OwnedRoomId>>

The ID of this room.

§canonical_alias: RefCell<Option<OwnedRoomAliasId>>

The canonical alias of this room.

§name: RefCell<Option<String>>

The name that is set for this room.

This can be empty, the display name should be used instead in the interface.

§topic: RefCell<Option<String>>

The topic of this room.

§topic_linkified: RefCell<Option<String>>

The linkified topic of this room.

This is the string that should be used in the interface when markup is allowed.

§joined_members_count: Cell<u32>

The number of joined members in the room.

§can_knock: Cell<bool>

Whether we can knock on the room.

§room_list_info: RoomListRoomInfo

The information about this room in the room list.

§loading_state: Cell<LoadingState>

The loading state.

§last_request_time: Cell<Option<Instant>>

The time of the last request.

§request_abort_handle: AbortableHandle

Implementations§

Source§

impl RemoteRoom

Source

fn register_type()

Registers the type only once.

Source§

impl RemoteRoom

Source

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

Source§

impl RemoteRoom

Source

fn set_session(&self, session: &Session)

Set the current session.

Source

pub(super) fn set_uri(&self, uri: MatrixRoomIdUri)

Set the Matrix URI of this room.

Source

pub(super) fn uri(&self) -> &MatrixRoomIdUri

The Matrix URI of this room.

Source

fn set_room_id(&self, room_id: OwnedRoomId)

Set the ID of this room.

Source

pub(super) fn room_id(&self) -> Option<OwnedRoomId>

The ID of this room.

Source

fn set_canonical_alias(&self, alias: Option<OwnedRoomAliasId>)

Set the canonical alias of this room.

Source

pub(super) fn canonical_alias(&self) -> Option<OwnedRoomAliasId>

The canonical alias of this room.

Source

fn update_identifiers(&self)

Update the identifiers to watch in the room list.

Source

fn set_name(&self, name: Option<String>)

Set the name of this room.

Source

pub(super) fn update_display_name(&self)

The display name of this room.

Source

fn set_topic(&self, topic: Option<String>)

Set the topic of this room.

Source

fn set_joined_members_count(&self, count: u32)

Set the number of joined members in the room.

Source

fn set_join_rule(&self, join_rule: &JoinRuleSummary)

Set the join rule of the room.

Source

pub(super) fn set_loading_state(&self, loading_state: LoadingState)

Set the loading state.

Source

pub(super) fn set_data(&self, data: RoomSummary)

Set the room data.

Source

pub(super) fn is_data_stale(&self) -> bool

Whether the data of the room is considered to be stale.

Source

pub(super) fn update_last_request_time(&self)

Update the last request time to now.

Source

pub(super) async fn load_data(&self)

Request the data of this room.

Source

async fn load_data_from_summary(&self, session: &Session) -> bool

Load the data of this room using the room summary endpoint.

At the time of writing this code, MSC3266 has been accepted but the endpoint is not part of a Matrix spec release.

Returns false if the endpoint is not supported by the homeserver.

Source

async fn load_data_from_space_hierarchy(&self, session: &Session)

Load the data of this room using the space hierarchy endpoint.

This endpoint should work for any room already known by the homeserver.

Trait Implementations§

Source§

impl Default for RemoteRoom

Source§

fn default() -> RemoteRoom

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

impl DerivedObjectProperties for RemoteRoom

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 RemoteRoom

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 signals() -> &'static [Signal]

Signals installed for this type.
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 RemoteRoom

Source§

const NAME: &'static str = "RemoteRoom"

GObject type name. Read more
Source§

type Interfaces = ()

List of interfaces implemented by this type.
Source§

type Class = ClassStruct<RemoteRoom>

The C class struct. Read more
Source§

type Instance = InstanceStruct<RemoteRoom>

The C instance struct. Read more
Source§

type Type = RemoteRoom

Wrapper around this subclass defined with wrapper!
Source§

type ParentType = PillSource

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 RemoteRoom

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 PillSourceImpl for RemoteRoom

Source§

fn identifier(&self) -> String

A unique identifier for this source.

Auto Trait Implementations§

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> 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 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. 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,

§

impl<T> JsonCastable<CanonicalJsonValue> for T

§

impl<T> JsonCastable<Value> for T