aboutsummaryrefslogblamecommitdiffstats
path: root/src/lib.rs
blob: 9c8d96849d2e90a81ad733330ea912c5f798fe4e (plain) (tree)
1
2
3
4
5
6
7
8
9
                          
                          
 
                                 
               
                   

               
            
               
 
                               
                    
                     
                             
                 
 
                                                   
 







                                                                                                    

 

            
                  

                                                                    

     
#![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();
    }
}