mirror of
https://gitlab.com/xmpp-rs/xmpp-rs.git
synced 2024-07-12 22:21:53 +00:00
Move Event to event module
This commit is contained in:
parent
0bbc089480
commit
a82b48debc
2 changed files with 36 additions and 25 deletions
32
xmpp/src/event.rs
Normal file
32
xmpp/src/event.rs
Normal file
|
@ -0,0 +1,32 @@
|
|||
// Copyright (c) 2023 xmpp-rs contributors.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
use tokio_xmpp::parsers::{bookmarks2, message::Body, roster::Item as RosterItem, BareJid, Jid};
|
||||
|
||||
use crate::{Error, Id, RoomNick};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Event {
|
||||
Online,
|
||||
Disconnected(Error),
|
||||
ContactAdded(RosterItem),
|
||||
ContactRemoved(RosterItem),
|
||||
ContactChanged(RosterItem),
|
||||
#[cfg(feature = "avatars")]
|
||||
AvatarRetrieved(Jid, String),
|
||||
ChatMessage(Id, BareJid, Body),
|
||||
JoinRoom(BareJid, bookmarks2::Conference),
|
||||
LeaveRoom(BareJid),
|
||||
LeaveAllRooms,
|
||||
RoomJoined(BareJid),
|
||||
RoomLeft(BareJid),
|
||||
RoomMessage(Id, BareJid, RoomNick, Body),
|
||||
/// A private message received from a room, containing the message ID, the room's BareJid,
|
||||
/// the sender's nickname, and the message body.
|
||||
RoomPrivateMessage(Id, BareJid, RoomNick, Body),
|
||||
ServiceMessage(Id, BareJid, Body),
|
||||
HttpUploadedFile(String),
|
||||
}
|
|
@ -12,7 +12,7 @@ use std::sync::{Arc, RwLock};
|
|||
use tokio::fs::File;
|
||||
pub use tokio_xmpp::parsers;
|
||||
use tokio_xmpp::parsers::{
|
||||
bookmarks, bookmarks2,
|
||||
bookmarks,
|
||||
caps::{compute_disco, hash_caps, Caps},
|
||||
disco::{DiscoInfoQuery, DiscoInfoResult, Feature},
|
||||
hashes::Algo,
|
||||
|
@ -24,7 +24,7 @@ use tokio_xmpp::parsers::{
|
|||
presence::{Presence, Type as PresenceType},
|
||||
private::Query as PrivateXMLQuery,
|
||||
pubsub::pubsub::{Items, PubSub},
|
||||
roster::{Item as RosterItem, Roster},
|
||||
roster::Roster,
|
||||
Error as ParsersError,
|
||||
};
|
||||
use tokio_xmpp::{AsyncClient as TokioXmppClient, Event as TokioXmppEvent};
|
||||
|
@ -33,6 +33,7 @@ pub use tokio_xmpp::{BareJid, Element, FullJid, Jid};
|
|||
extern crate log;
|
||||
|
||||
pub mod builder;
|
||||
pub mod event;
|
||||
pub mod feature;
|
||||
pub mod iq;
|
||||
pub mod message;
|
||||
|
@ -42,35 +43,13 @@ pub mod upload;
|
|||
|
||||
// Module re-exports
|
||||
pub use builder::{ClientBuilder, ClientType};
|
||||
pub use event::Event;
|
||||
pub use feature::ClientFeature;
|
||||
|
||||
pub type Error = tokio_xmpp::Error;
|
||||
pub type Id = Option<String>;
|
||||
pub type RoomNick = String;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Event {
|
||||
Online,
|
||||
Disconnected(Error),
|
||||
ContactAdded(RosterItem),
|
||||
ContactRemoved(RosterItem),
|
||||
ContactChanged(RosterItem),
|
||||
#[cfg(feature = "avatars")]
|
||||
AvatarRetrieved(Jid, String),
|
||||
ChatMessage(Id, BareJid, Body),
|
||||
JoinRoom(BareJid, bookmarks2::Conference),
|
||||
LeaveRoom(BareJid),
|
||||
LeaveAllRooms,
|
||||
RoomJoined(BareJid),
|
||||
RoomLeft(BareJid),
|
||||
RoomMessage(Id, BareJid, RoomNick, Body),
|
||||
/// A private message received from a room, containing the message ID, the room's BareJid,
|
||||
/// the sender's nickname, and the message body.
|
||||
RoomPrivateMessage(Id, BareJid, RoomNick, Body),
|
||||
ServiceMessage(Id, BareJid, Body),
|
||||
HttpUploadedFile(String),
|
||||
}
|
||||
|
||||
pub struct Agent {
|
||||
client: TokioXmppClient,
|
||||
default_nick: Arc<RwLock<String>>,
|
||||
|
|
Loading…
Reference in a new issue