72 lines
2.3 KiB
Rust
72 lines
2.3 KiB
Rust
use std::fmt::{Debug, Formatter};
|
|
|
|
use matrix_sdk::ruma::{OwnedMxcUri, OwnedRoomId, OwnedUserId};
|
|
|
|
use crate::utils::Sender;
|
|
|
|
#[derive(Debug)]
|
|
pub enum LoginStyle {
|
|
Password(String, String),
|
|
}
|
|
|
|
pub enum WorkerTask {
|
|
Init(Sender<anyhow::Result<()>>),
|
|
Login(LoginStyle, Sender<anyhow::Result<()>>),
|
|
RunForever(Sender<()>),
|
|
GetDisplayName(Sender<anyhow::Result<Option<String>>>),
|
|
GetAvatar(Sender<anyhow::Result<Option<Vec<u8>>>>),
|
|
|
|
GetRoomAvatar(OwnedRoomId, Sender<anyhow::Result<Option<Vec<u8>>>>),
|
|
GetRoomMemberAvatar(
|
|
Option<OwnedMxcUri>,
|
|
OwnedRoomId,
|
|
OwnedUserId,
|
|
Sender<anyhow::Result<Option<Vec<u8>>>>,
|
|
),
|
|
JoinRoom(OwnedRoomId, Sender<anyhow::Result<bool>>),
|
|
}
|
|
|
|
impl Debug for WorkerTask {
|
|
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), std::fmt::Error> {
|
|
match self {
|
|
WorkerTask::Init(_) => f
|
|
.debug_tuple("WorkerTask::Init")
|
|
.field(&format_args!("_"))
|
|
// .field(&format_args!("_"))
|
|
.finish(),
|
|
WorkerTask::RunForever(_) => f
|
|
.debug_tuple("WorkerTask::RunForever")
|
|
.field(&format_args!("_"))
|
|
.finish(),
|
|
WorkerTask::Login(style, _) => f
|
|
.debug_tuple("WorkerTask::Login")
|
|
.field(style)
|
|
// .field(&format_args!("_"))
|
|
.finish(),
|
|
WorkerTask::GetDisplayName(_) => f
|
|
.debug_tuple("WorkerTask::GetDisplayName")
|
|
.field(&format_args!("_"))
|
|
.finish(),
|
|
WorkerTask::GetAvatar(_) => f
|
|
.debug_tuple("WorkerTask::GetAvatar")
|
|
.field(&format_args!("_"))
|
|
.finish(),
|
|
|
|
WorkerTask::GetRoomAvatar(id, _) => f
|
|
.debug_tuple("WorkerTask::GetRoomAvatar")
|
|
.field(id)
|
|
.finish(),
|
|
WorkerTask::GetRoomMemberAvatar(room_id, user_id, avatar_url, _) => f
|
|
.debug_tuple("WorkerTask::GetRoomMemberAvatar")
|
|
.field(avatar_url)
|
|
.field(room_id)
|
|
.field(user_id)
|
|
.finish(),
|
|
WorkerTask::JoinRoom(room_id, _) => f
|
|
.debug_tuple("WorkerTask::JoinRoom")
|
|
.field(room_id)
|
|
.finish(),
|
|
}
|
|
}
|
|
}
|