# XMPP::JID Class Reference

`#include <xmpp.h>`

Inheritance diagram for XMPP::JID:

List of all members.

## Public Member Functions

| JID (const char *jid=0)
| JID (const PString &jid)
| JID (const PString &user, const PString &server, const PString &resource=PString::Empty())
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank.
JID & | operator= (const PString &jid)
| operator const PString & () const
virtual PObject * | Clone () const
| Create a copy of the class on the heap.
PString | GetUser () const
PString | GetServer () const
virtual PString | GetResource () const
virtual void | SetUser (const PString &user)
virtual void | SetServer (const PString &server)
virtual void | SetResource (const PString &resource)
virtual PBoolean | IsBare () const
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream.

## Protected Member Functions

virtual void | ParseJID (const PString &jid)
virtual void | BuildJID () const

## Protected Attributes

PString | m_User
PString | m_Server
PString | m_Resource
PString | m_JID
PBoolean | m_IsDirty

## Constructor & Destructor Documentation

XMPP::JID::JID | ( | const char * | jid = `0` | ) |

XMPP::JID::JID | ( | const PString & | jid | ) |

XMPP::JID::JID | ( | const PString & | user,
|  | const PString & | server,
|  | const PString & | resource = `PString::Empty()` |
| ) |  |  |

## Member Function Documentation

virtual void XMPP::JID::BuildJID | ( |  | ) | const`[protected, virtual]`

virtual PObject* XMPP::JID::Clone | ( |  | ) | const`[inline, virtual]`

Create a copy of the class on the heap.

The exact semantics of the descendent class determine what is required to make a duplicate of the instance. Not all classes can even do a clone operation.

The main user of the clone function is the `PDictionary` class as it requires copies of the dictionary keys.

The default behaviour is for this function to assert.

Returns:
  pointer to new copy of the class instance.

Reimplemented from PObject.

Reimplemented in XMPP::BareJID.

virtual Comparison XMPP::JID::Compare | ( | const PObject & | obj | ) | const`[virtual]`

Compare the two objects and return their relative rank.

This function is usually overridden by descendent classes to yield the ranking according to the semantics of the object.

The default function is to use the `CompareObjectMemoryDirect()` function to do a byte wise memory comparison of the two objects.

Returns:
  `LessThan`, `EqualTo` or `GreaterThan` according to the relative rank of the objects.

Parameters:

  obj | Object to compare against.

Reimplemented from PObject.

Reimplemented in XMPP::BareJID.

virtual PString XMPP::JID::GetResource | ( |  | ) | const`[inline, virtual]`

Reimplemented in XMPP::BareJID.

PString XMPP::JID::GetServer | ( |  | ) | const`[inline]`

PString XMPP::JID::GetUser | ( |  | ) | const`[inline]`

virtual PBoolean XMPP::JID::IsBare | ( |  | ) | const`[inline, virtual]`

Reimplemented in XMPP::BareJID.

XMPP::JID::operator const PString & | ( |  | ) | const

JID& XMPP::JID::operator= | ( | const PString & | jid | ) |

Parameters:

  jid | New JID to assign.

Reimplemented in XMPP::BareJID.

virtual void XMPP::JID::ParseJID | ( | const PString & | jid | ) | `[protected, virtual]`

virtual void XMPP::JID::PrintOn | ( | ostream & | strm | ) | const`[virtual]`

Output the contents of the object to the stream.

The exact output is dependent on the exact semantics of the descendent class. This is primarily used by the standard `operator<<` function.

The default behaviour is to print the class name.

Reimplemented from PObject.

virtual void XMPP::JID::SetResource | ( | const PString & | resource | ) | `[virtual]`

Reimplemented in XMPP::BareJID.

virtual void XMPP::JID::SetServer | ( | const PString & | server | ) | `[virtual]`

virtual void XMPP::JID::SetUser | ( | const PString & | user | ) | `[virtual]`

## Member Data Documentation

PBoolean XMPP::JID::m_IsDirty `[mutable, protected]`

PString XMPP::JID::m_JID `[mutable, protected]`

PString XMPP::JID::m_Resource `[protected]`

PString XMPP::JID::m_Server `[protected]`

PString XMPP::JID::m_User `[protected]`

The documentation for this class was generated from the following file:

- xmpp.h