Skip to content

Commit bc2c924

Browse files
committed
matrix-sdk-base: remove InvitedRoom, JoinedRoom, LeftRoom and RoomState
They are all replaced by `Room`
1 parent 9332c55 commit bc2c924

File tree

12 files changed

+130
-359
lines changed

12 files changed

+130
-359
lines changed

matrix_sdk/examples/autojoin.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use tokio::time::{sleep, Duration};
44
use matrix_sdk::{
55
self, async_trait,
66
events::{room::member::MemberEventContent, StrippedStateEvent},
7-
Client, ClientConfig, EventHandler, RoomState, SyncSettings,
7+
Client, ClientConfig, EventHandler, Room, RoomType, SyncSettings,
88
};
99
use url::Url;
1010

@@ -22,15 +22,15 @@ impl AutoJoinBot {
2222
impl EventHandler for AutoJoinBot {
2323
async fn on_stripped_state_member(
2424
&self,
25-
room: RoomState,
25+
room: Room,
2626
room_member: &StrippedStateEvent<MemberEventContent>,
2727
_: Option<MemberEventContent>,
2828
) {
2929
if room_member.state_key != self.client.user_id().await.unwrap() {
3030
return;
3131
}
3232

33-
if let RoomState::Invited(room) = room {
33+
if room.room_type() == RoomType::Invited {
3434
println!("Autojoining room {}", room.room_id());
3535
let mut delay = 2;
3636

matrix_sdk/examples/command_bot.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use matrix_sdk::{
66
room::message::{MessageEventContent, MessageType, TextMessageEventContent},
77
AnyMessageEventContent, SyncMessageEvent,
88
},
9-
Client, ClientConfig, EventHandler, RoomState, SyncSettings,
9+
Client, ClientConfig, EventHandler, Room, RoomType, SyncSettings,
1010
};
1111
use url::Url;
1212

@@ -24,12 +24,8 @@ impl CommandBot {
2424

2525
#[async_trait]
2626
impl EventHandler for CommandBot {
27-
async fn on_room_message(
28-
&self,
29-
room: RoomState,
30-
event: &SyncMessageEvent<MessageEventContent>,
31-
) {
32-
if let RoomState::Joined(room) = room {
27+
async fn on_room_message(&self, room: Room, event: &SyncMessageEvent<MessageEventContent>) {
28+
if room.room_type() == RoomType::Joined {
3329
let msg_body = if let SyncMessageEvent {
3430
content:
3531
MessageEventContent {

matrix_sdk/examples/image_bot.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use matrix_sdk::{
1414
room::message::{MessageEventContent, MessageType, TextMessageEventContent},
1515
SyncMessageEvent,
1616
},
17-
Client, EventHandler, RoomState, SyncSettings,
17+
Client, EventHandler, Room, RoomType, SyncSettings,
1818
};
1919
use url::Url;
2020

@@ -32,12 +32,8 @@ impl ImageBot {
3232

3333
#[async_trait]
3434
impl EventHandler for ImageBot {
35-
async fn on_room_message(
36-
&self,
37-
room: RoomState,
38-
event: &SyncMessageEvent<MessageEventContent>,
39-
) {
40-
if let RoomState::Joined(room) = room {
35+
async fn on_room_message(&self, room: Room, event: &SyncMessageEvent<MessageEventContent>) {
36+
if room.room_type() == RoomType::Joined {
4137
let msg_body = if let SyncMessageEvent {
4238
content:
4339
MessageEventContent {

matrix_sdk/examples/login.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,15 @@ use matrix_sdk::{
77
room::message::{MessageEventContent, MessageType, TextMessageEventContent},
88
SyncMessageEvent,
99
},
10-
Client, EventHandler, RoomState, SyncSettings,
10+
Client, EventHandler, Room, RoomType, SyncSettings,
1111
};
1212

1313
struct EventCallback;
1414

1515
#[async_trait]
1616
impl EventHandler for EventCallback {
17-
async fn on_room_message(
18-
&self,
19-
room: RoomState,
20-
event: &SyncMessageEvent<MessageEventContent>,
21-
) {
22-
if let RoomState::Joined(room) = room {
17+
async fn on_room_message(&self, room: Room, event: &SyncMessageEvent<MessageEventContent>) {
18+
if room.room_type() == RoomType::Joined {
2319
if let SyncMessageEvent {
2420
content:
2521
MessageEventContent {

matrix_sdk/src/client.rs

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ use tracing::{error, info, instrument};
4141

4242
use matrix_sdk_base::{
4343
deserialized_responses::{MembersResponse, SyncResponse},
44-
BaseClient, BaseClientConfig, EventHandler, InvitedRoom, JoinedRoom, LeftRoom, RoomState,
45-
Session, Store,
44+
BaseClient, BaseClientConfig, EventHandler, Room, RoomType, Session, Store,
4645
};
4746

4847
#[cfg(feature = "encryption")]
@@ -564,34 +563,34 @@ impl Client {
564563
/// Get all the rooms the client knows about.
565564
///
566565
/// This will return the list of joined, invited, and left rooms.
567-
pub fn rooms(&self) -> Vec<RoomState> {
566+
pub fn rooms(&self) -> Vec<Room> {
568567
self.store().get_rooms()
569568
}
570569

571570
/// Returns the joined rooms this client knows about.
572-
pub fn joined_rooms(&self) -> Vec<JoinedRoom> {
571+
pub fn joined_rooms(&self) -> Vec<Room> {
573572
self.store()
574573
.get_rooms()
575574
.into_iter()
576-
.filter_map(|r| r.joined())
575+
.filter(|room| room.room_type() == RoomType::Joined)
577576
.collect()
578577
}
579578

580579
/// Returns the invited rooms this client knows about.
581-
pub fn invited_rooms(&self) -> Vec<InvitedRoom> {
580+
pub fn invited_rooms(&self) -> Vec<Room> {
582581
self.store()
583582
.get_rooms()
584583
.into_iter()
585-
.filter_map(|r| r.invited())
584+
.filter(|room| room.room_type() == RoomType::Invited)
586585
.collect()
587586
}
588587

589588
/// Returns the left rooms this client knows about.
590-
pub fn left_rooms(&self) -> Vec<LeftRoom> {
589+
pub fn left_rooms(&self) -> Vec<Room> {
591590
self.store()
592591
.get_rooms()
593592
.into_iter()
594-
.filter_map(|r| r.left())
593+
.filter(|room| room.room_type() == RoomType::Left)
595594
.collect()
596595
}
597596

@@ -600,26 +599,32 @@ impl Client {
600599
/// # Arguments
601600
///
602601
/// `room_id` - The unique id of the room that should be fetched.
603-
pub fn get_joined_room(&self, room_id: &RoomId) -> Option<JoinedRoom> {
604-
self.store().get_joined_room(room_id)
602+
pub fn get_joined_room(&self, room_id: &RoomId) -> Option<Room> {
603+
self.store()
604+
.get_room(room_id)
605+
.filter(|room| room.room_type() == RoomType::Joined)
605606
}
606607

607608
/// Get an invited room with the given room id.
608609
///
609610
/// # Arguments
610611
///
611612
/// `room_id` - The unique id of the room that should be fetched.
612-
pub fn get_invited_room(&self, room_id: &RoomId) -> Option<InvitedRoom> {
613-
self.store().get_invited_room(room_id)
613+
pub fn get_invited_room(&self, room_id: &RoomId) -> Option<Room> {
614+
self.store()
615+
.get_room(room_id)
616+
.filter(|room| room.room_type() == RoomType::Invited)
614617
}
615618

616619
/// Get a left room with the given room id.
617620
///
618621
/// # Arguments
619622
///
620623
/// `room_id` - The unique id of the room that should be fetched.
621-
pub fn get_left_room(&self, room_id: &RoomId) -> Option<LeftRoom> {
622-
self.store().get_left_room(room_id)
624+
pub fn get_left_room(&self, room_id: &RoomId) -> Option<Room> {
625+
self.store()
626+
.get_room(room_id)
627+
.filter(|room| room.room_type() == RoomType::Left)
623628
}
624629

625630
/// Login to the server.

matrix_sdk/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ compile_error!("only one of 'native-tls' or 'rustls-tls' features can be enabled
6868
#[cfg_attr(feature = "docs", doc(cfg(encryption)))]
6969
pub use matrix_sdk_base::crypto::{EncryptionInfo, LocalTrust};
7070
pub use matrix_sdk_base::{
71-
CustomEvent, Error as BaseError, EventHandler, InvitedRoom, JoinedRoom, LeftRoom, RoomInfo,
72-
RoomMember, RoomState, RoomType, Session, StateChanges, StoreError,
71+
CustomEvent, Error as BaseError, EventHandler, Room, RoomInfo, RoomMember, RoomType, Session,
72+
StateChanges, StoreError,
7373
};
7474

7575
pub use matrix_sdk_common::*;

matrix_sdk_base/src/client.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ use zeroize::Zeroizing;
6363
use crate::{
6464
error::Result,
6565
event_handler::Handler,
66-
rooms::{RoomInfo, RoomType},
66+
rooms::{Room, RoomInfo, RoomType},
6767
session::Session,
6868
store::{ambiguity_map::AmbiguityCache, Result as StoreResult, StateChanges, Store},
69-
EventHandler, RoomState,
69+
EventHandler,
7070
};
7171

7272
pub type Token = String;
@@ -1178,7 +1178,7 @@ impl BaseClient {
11781178
/// # Arguments
11791179
///
11801180
/// * `room_id` - The id of the room that should be fetched.
1181-
pub fn get_room(&self, room_id: &RoomId) -> Option<RoomState> {
1181+
pub fn get_room(&self, room_id: &RoomId) -> Option<Room> {
11821182
self.store.get_room(room_id)
11831183
}
11841184

0 commit comments

Comments
 (0)