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;
|
use tokio::fs::File;
|
||||||
pub use tokio_xmpp::parsers;
|
pub use tokio_xmpp::parsers;
|
||||||
use tokio_xmpp::parsers::{
|
use tokio_xmpp::parsers::{
|
||||||
bookmarks, bookmarks2,
|
bookmarks,
|
||||||
caps::{compute_disco, hash_caps, Caps},
|
caps::{compute_disco, hash_caps, Caps},
|
||||||
disco::{DiscoInfoQuery, DiscoInfoResult, Feature},
|
disco::{DiscoInfoQuery, DiscoInfoResult, Feature},
|
||||||
hashes::Algo,
|
hashes::Algo,
|
||||||
|
@ -24,7 +24,7 @@ use tokio_xmpp::parsers::{
|
||||||
presence::{Presence, Type as PresenceType},
|
presence::{Presence, Type as PresenceType},
|
||||||
private::Query as PrivateXMLQuery,
|
private::Query as PrivateXMLQuery,
|
||||||
pubsub::pubsub::{Items, PubSub},
|
pubsub::pubsub::{Items, PubSub},
|
||||||
roster::{Item as RosterItem, Roster},
|
roster::Roster,
|
||||||
Error as ParsersError,
|
Error as ParsersError,
|
||||||
};
|
};
|
||||||
use tokio_xmpp::{AsyncClient as TokioXmppClient, Event as TokioXmppEvent};
|
use tokio_xmpp::{AsyncClient as TokioXmppClient, Event as TokioXmppEvent};
|
||||||
|
@ -33,6 +33,7 @@ pub use tokio_xmpp::{BareJid, Element, FullJid, Jid};
|
||||||
extern crate log;
|
extern crate log;
|
||||||
|
|
||||||
pub mod builder;
|
pub mod builder;
|
||||||
|
pub mod event;
|
||||||
pub mod feature;
|
pub mod feature;
|
||||||
pub mod iq;
|
pub mod iq;
|
||||||
pub mod message;
|
pub mod message;
|
||||||
|
@ -42,35 +43,13 @@ pub mod upload;
|
||||||
|
|
||||||
// Module re-exports
|
// Module re-exports
|
||||||
pub use builder::{ClientBuilder, ClientType};
|
pub use builder::{ClientBuilder, ClientType};
|
||||||
|
pub use event::Event;
|
||||||
pub use feature::ClientFeature;
|
pub use feature::ClientFeature;
|
||||||
|
|
||||||
pub type Error = tokio_xmpp::Error;
|
pub type Error = tokio_xmpp::Error;
|
||||||
pub type Id = Option<String>;
|
pub type Id = Option<String>;
|
||||||
pub type RoomNick = 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 {
|
pub struct Agent {
|
||||||
client: TokioXmppClient,
|
client: TokioXmppClient,
|
||||||
default_nick: Arc<RwLock<String>>,
|
default_nick: Arc<RwLock<String>>,
|
||||||
|
|
Loading…
Reference in a new issue