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: RoomListRoomInfoThe 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: AbortableHandleImplementations§
Source§impl RemoteRoom
impl RemoteRoom
Sourcefn register_type()
fn register_type()
Registers the type only once.
Source§impl RemoteRoom
impl RemoteRoom
Sourcefn set_session(&self, session: &Session)
fn set_session(&self, session: &Session)
Set the current session.
Sourcepub(super) fn set_uri(&self, uri: MatrixRoomIdUri)
pub(super) fn set_uri(&self, uri: MatrixRoomIdUri)
Set the Matrix URI of this room.
Sourcepub(super) fn uri(&self) -> &MatrixRoomIdUri
pub(super) fn uri(&self) -> &MatrixRoomIdUri
The Matrix URI of this room.
Sourcefn set_room_id(&self, room_id: OwnedRoomId)
fn set_room_id(&self, room_id: OwnedRoomId)
Set the ID of this room.
Sourcefn set_canonical_alias(&self, alias: Option<OwnedRoomAliasId>)
fn set_canonical_alias(&self, alias: Option<OwnedRoomAliasId>)
Set the canonical alias of this room.
Sourcepub(super) fn canonical_alias(&self) -> Option<OwnedRoomAliasId>
pub(super) fn canonical_alias(&self) -> Option<OwnedRoomAliasId>
The canonical alias of this room.
Sourcefn update_identifiers(&self)
fn update_identifiers(&self)
Update the identifiers to watch in the room list.
Sourcepub(super) fn update_display_name(&self)
pub(super) fn update_display_name(&self)
The display name of this room.
Sourcefn set_joined_members_count(&self, count: u32)
fn set_joined_members_count(&self, count: u32)
Set the number of joined members in the room.
Sourcefn set_join_rule(&self, join_rule: &JoinRuleSummary)
fn set_join_rule(&self, join_rule: &JoinRuleSummary)
Set the join rule of the room.
Sourcepub(super) fn set_loading_state(&self, loading_state: LoadingState)
pub(super) fn set_loading_state(&self, loading_state: LoadingState)
Set the loading state.
Sourcepub(super) fn is_data_stale(&self) -> bool
pub(super) fn is_data_stale(&self) -> bool
Whether the data of the room is considered to be stale.
Sourcepub(super) fn update_last_request_time(&self)
pub(super) fn update_last_request_time(&self)
Update the last request time to now.
Sourceasync fn load_data_from_summary(&self, session: &Session) -> bool
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.
Sourceasync fn load_data_from_space_hierarchy(&self, session: &Session)
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
impl Default for RemoteRoom
Source§fn default() -> RemoteRoom
fn default() -> RemoteRoom
Source§impl DerivedObjectProperties for RemoteRoom
impl DerivedObjectProperties for RemoteRoom
Source§fn derived_properties() -> &'static [ParamSpec]
fn derived_properties() -> &'static [ParamSpec]
Source§fn derived_property(&self, id: usize, pspec: &ParamSpec) -> Value
fn derived_property(&self, id: usize, pspec: &ParamSpec) -> Value
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)
fn derived_set_property(&self, id: usize, value: &Value, pspec: &ParamSpec)
ObjectImpl but auto-generated by the Properties macro
to allow handling more complex use-cases.Source§impl ObjectImpl for RemoteRoom
impl ObjectImpl for RemoteRoom
Source§fn properties() -> &'static [ParamSpec]
fn properties() -> &'static [ParamSpec]
Source§fn set_property(&self, id: usize, value: &Value, pspec: &ParamSpec)
fn set_property(&self, id: usize, value: &Value, pspec: &ParamSpec)
Source§fn constructed(&self)
fn constructed(&self)
Source§fn notify(&self, pspec: &ParamSpec)
fn notify(&self, pspec: &ParamSpec)
self.notify("property").fn dispatch_properties_changed(&self, pspecs: &[ParamSpec])
Source§impl ObjectSubclass for RemoteRoom
impl ObjectSubclass for RemoteRoom
Source§type Interfaces = ()
type Interfaces = ()
Source§type Class = ClassStruct<RemoteRoom>
type Class = ClassStruct<RemoteRoom>
Source§type Instance = InstanceStruct<RemoteRoom>
type Instance = InstanceStruct<RemoteRoom>
Source§type Type = RemoteRoom
type Type = RemoteRoom
wrapper!Source§type ParentType = PillSource
type ParentType = PillSource
Source§const ALLOW_NAME_CONFLICT: bool = false
const ALLOW_NAME_CONFLICT: bool = false
Source§fn type_init(_type_: &mut InitializingType<Self>)
fn type_init(_type_: &mut InitializingType<Self>)
Source§fn class_init(_klass: &mut Self::Class)
fn class_init(_klass: &mut Self::Class)
Source§fn with_class(_klass: &Self::Class) -> Self
fn with_class(_klass: &Self::Class) -> Self
Source§fn instance_init(_obj: &InitializingObject<Self>)
fn instance_init(_obj: &InitializingObject<Self>)
Source§impl ObjectSubclassType for RemoteRoom
impl ObjectSubclassType for RemoteRoom
Source§impl PillSourceImpl for RemoteRoom
impl PillSourceImpl for RemoteRoom
Source§fn identifier(&self) -> String
fn identifier(&self) -> String
Auto Trait Implementations§
impl !Freeze for RemoteRoom
impl !RefUnwindSafe for RemoteRoom
impl !Send for RemoteRoom
impl !Sync for RemoteRoom
impl Unpin for RemoteRoom
impl UnsafeUnpin for RemoteRoom
impl !UnwindSafe for RemoteRoom
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
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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> ObjectImplExt for Twhere
T: ObjectImpl,
impl<T> ObjectImplExt for Twhere
T: ObjectImpl,
Source§fn parent_constructed(&self)
fn parent_constructed(&self)
glib::Object::constructed().Source§fn parent_notify(&self, pspec: &ParamSpec)
fn parent_notify(&self, pspec: &ParamSpec)
glib::Object::notify().Source§fn parent_dispatch_properties_changed(&self, pspecs: &[ParamSpec])
fn parent_dispatch_properties_changed(&self, pspecs: &[ParamSpec])
glib::Object::dispatch_properties_changed().Source§fn signal_chain_from_overridden(
&self,
token: &SignalClassHandlerToken,
values: &[Value],
) -> Option<Value>
fn signal_chain_from_overridden( &self, token: &SignalClassHandlerToken, values: &[Value], ) -> Option<Value>
Source§impl<T> ObjectSubclassExt for Twhere
T: ObjectSubclass,
impl<T> ObjectSubclassExt for Twhere
T: ObjectSubclass,
Source§fn obj(&self) -> BorrowedObject<'_, <T as ObjectSubclass>::Type>
fn obj(&self) -> BorrowedObject<'_, <T as ObjectSubclass>::Type>
Source§fn from_obj(obj: &<T as ObjectSubclass>::Type) -> &T
fn from_obj(obj: &<T as ObjectSubclass>::Type) -> &T
Source§fn ref_counted(&self) -> ObjectImplRef<T>
fn ref_counted(&self) -> ObjectImplRef<T>
self.