aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 88b91a6..681d1d0 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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)]