[][src]Struct xmpp_parsers::BareJid

pub struct BareJid {
    pub node: Option<String>,
    pub domain: String,
}

A struct representing a bare Jabber ID.

A bare Jabber ID is composed of 2 components, of which one is optional:

  • A node/name, node, which is the optional part before the @.
  • A domain, domain, which is the mandatory part after the @.

Unlike a FullJid, it can’t contain a resource, and should only be used when you are certain there is no case where a resource can be set. Otherwise, use a Jid enum.

Fields

node: Option<String>

The node part of the Jabber ID, if it exists, else None.

domain: String

The domain of the Jabber ID.

Methods

impl BareJid[src]

pub fn new<NS, DS>(node: NS, domain: DS) -> BareJid where
    DS: Into<String>,
    NS: Into<String>, 
[src]

Constructs a bare Jabber ID, containing two components.

This is of the form node@domain.

Examples

use jid::BareJid;

let jid = BareJid::new("node", "domain");

assert_eq!(jid.node, Some("node".to_owned()));
assert_eq!(jid.domain, "domain".to_owned());

pub fn domain<DS>(domain: DS) -> BareJid where
    DS: Into<String>, 
[src]

Constructs a bare Jabber ID containing only a domain.

This is of the form domain.

Examples

use jid::BareJid;

let jid = BareJid::domain("domain");

assert_eq!(jid.node, None);
assert_eq!(jid.domain, "domain".to_owned());

pub fn with_node<NS>(&self, node: NS) -> BareJid where
    NS: Into<String>, 
[src]

Constructs a new Jabber ID from an existing one, with the node swapped out with a new one.

Examples

use jid::BareJid;

let jid = BareJid::domain("domain");

assert_eq!(jid.node, None);

let new_jid = jid.with_node("node");

assert_eq!(new_jid.node, Some("node".to_owned()));

pub fn with_domain<DS>(&self, domain: DS) -> BareJid where
    DS: Into<String>, 
[src]

Constructs a new Jabber ID from an existing one, with the domain swapped out with a new one.

Examples

use jid::BareJid;

let jid = BareJid::domain("domain");

assert_eq!(jid.domain, "domain");

let new_jid = jid.with_domain("new_domain");

assert_eq!(new_jid.domain, "new_domain");

pub fn with_resource<RS>(self, resource: RS) -> FullJid where
    RS: Into<String>, 
[src]

Constructs a full Jabber ID from a bare Jabber ID, specifying a resource.

Examples

use jid::BareJid;

let bare = BareJid::new("node", "domain");
let full = bare.with_resource("resource");

assert_eq!(full.node, Some("node".to_owned()));
assert_eq!(full.domain, "domain".to_owned());
assert_eq!(full.resource, "resource".to_owned());

Trait Implementations

impl IntoAttributeValue for BareJid[src]

impl FromStr for BareJid[src]

type Err = JidParseError

The associated error which can be returned from parsing.

impl IntoElements for BareJid[src]

impl Eq for BareJid[src]

impl Debug for BareJid[src]

impl PartialEq<BareJid> for BareJid[src]

impl Hash for BareJid[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl Display for BareJid[src]

impl Into<BareJid> for FullJid[src]

impl Clone for BareJid[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl Unpin for BareJid

impl Sync for BareJid

impl Send for BareJid

impl RefUnwindSafe for BareJid

impl UnwindSafe for BareJid

Blanket Implementations

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> IntoElements for T where
    T: Into<Element>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self