64 lines
1.5 KiB
Rust
64 lines
1.5 KiB
Rust
use std::fmt::{Debug, Formatter};
|
|
|
|
use matrix_sdk::{ruma::OwnedRoomId, RoomState};
|
|
use tracing::Span;
|
|
|
|
use super::room_event::RoomEventsReceiver;
|
|
use crate::{domain::model::space::SpaceId, utils::Sender};
|
|
|
|
#[derive(Clone)]
|
|
pub enum AccountEvent {
|
|
NewRoom(
|
|
OwnedRoomId,
|
|
Vec<SpaceId>,
|
|
Option<String>,
|
|
Option<String>,
|
|
Option<bool>,
|
|
RoomState,
|
|
RoomEventsReceiver,
|
|
Sender<bool>,
|
|
Span,
|
|
),
|
|
|
|
NewSpace(
|
|
OwnedRoomId,
|
|
Option<String>,
|
|
Option<String>,
|
|
RoomEventsReceiver,
|
|
Sender<bool>,
|
|
Span,
|
|
),
|
|
}
|
|
|
|
impl Debug for AccountEvent {
|
|
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
|
|
match self {
|
|
Self::NewRoom(
|
|
id,
|
|
spaces,
|
|
name,
|
|
topic,
|
|
is_direct,
|
|
state,
|
|
_events_receiver,
|
|
_sender,
|
|
_span,
|
|
) => f
|
|
.debug_tuple("AccountEvent::NewRoom")
|
|
.field(id)
|
|
.field(spaces)
|
|
.field(name)
|
|
.field(topic)
|
|
.field(is_direct)
|
|
.field(state)
|
|
.finish(),
|
|
Self::NewSpace(id, name, topic, _events_receiver, _sender, _span) => f
|
|
.debug_tuple("AccountEvent::NewSpace")
|
|
.field(id)
|
|
.field(name)
|
|
.field(topic)
|
|
.finish(),
|
|
}
|
|
}
|
|
}
|