diff options
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -9,14 +9,20 @@ pub mod jid; pub mod stanza; pub use connection::Connection; +use connection::Tls; pub use error::Error; pub use jabber::Jabber; pub use jid::JID; pub type Result<T> = std::result::Result<T, Error>; -pub async fn login<J: TryInto<JID>, P: AsRef<str>>(jid: J, password: P) -> Result<Connection> { - todo!() +pub async fn login<J: AsRef<str>, P: AsRef<str>>(jid: J, password: P) -> Result<Jabber<Tls>> { + Ok(Connection::connect_user(jid, password.as_ref().to_string()) + .await? + .ensure_tls() + .await? + .negotiate() + .await?) } #[cfg(test)] |