Struct xmpp_parsers::BareJid
source · [−]Expand description
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.
Implementations
sourceimpl BareJid
impl BareJid
sourcepub fn new<NS, DS>(node: NS, domain: DS) -> BareJid where
NS: Into<String>,
DS: Into<String>,
pub fn new<NS, DS>(node: NS, domain: DS) -> BareJid where
NS: Into<String>,
DS: Into<String>,
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());
sourcepub fn domain<DS>(domain: DS) -> BareJid where
DS: Into<String>,
pub fn domain<DS>(domain: DS) -> BareJid where
DS: Into<String>,
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());
sourcepub fn with_node<NS>(&self, node: NS) -> BareJid where
NS: Into<String>,
pub fn with_node<NS>(&self, node: NS) -> BareJid where
NS: Into<String>,
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()));
sourcepub fn with_domain<DS>(&self, domain: DS) -> BareJid where
DS: Into<String>,
pub fn with_domain<DS>(&self, domain: DS) -> BareJid where
DS: Into<String>,
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");
sourcepub fn with_resource<RS>(self, resource: RS) -> FullJid where
RS: Into<String>,
pub fn with_resource<RS>(self, resource: RS) -> FullJid where
RS: Into<String>,
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
sourceimpl FromStr for BareJid
impl FromStr for BareJid
type Err = JidParseError
type Err = JidParseError
The associated error which can be returned from parsing.
sourceimpl IntoAttributeValue for BareJid
impl IntoAttributeValue for BareJid
sourcefn into_attribute_value(self) -> Option<String>
fn into_attribute_value(self) -> Option<String>
Turns this into an attribute string, or None if it shouldn’t be added.
impl Eq for BareJid
impl StructuralEq for BareJid
impl StructuralPartialEq for BareJid
Auto Trait Implementations
impl RefUnwindSafe for BareJid
impl Send for BareJid
impl Sync for BareJid
impl Unpin for BareJid
impl UnwindSafe for BareJid
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more