aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib.rs
blob: 9c8d96849d2e90a81ad733330ea912c5f798fe4e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#![allow(unused_must_use)]
// #![feature(let_chains)]

// TODO: logging (dropped errors)
pub mod client;
pub mod connection;
pub mod error;
pub mod jabber;
pub mod jid;
pub mod stanza;

pub use connection::Connection;
use connection::Tls;
pub use error::Error;
pub use jabber::JabberStream;
pub use jid::JID;

pub type Result<T> = std::result::Result<T, Error>;

pub async fn login<J: AsRef<str>, P: AsRef<str>>(jid: J, password: P) -> Result<JabberStream<Tls>> {
    todo!()
    // Ok(Connection::connect_user(jid, password.as_ref().to_string())
    //     .await?
    //     .ensure_tls()
    //     .await?
    //     .negotiate()
    //     .await?)
}

#[cfg(test)]
mod tests {
    #[tokio::test]
    async fn test_login() {
        crate::login("test@blos.sm/clown", "slayed").await.unwrap();
    }
}