RosterItem Class Reference

An abstraction of a roster item. More...

#include <rosteritem.h>

List of all members.

Public Types

typedef std::map< std::string,
Resource * > 
ResourceMap

Public Member Functions

 RosterItem (const std::string &jid, const std::string &name=EmptyString)
 RosterItem (const RosterItemData &data)
virtual ~RosterItem ()
void setName (const std::string &name)
const std::string & name () const
const std::string & jid () const
void setSubscription (const std::string &subscription, const std::string &ask)
SubscriptionType subscription () const
void setGroups (const StringList &groups)
const StringList groups () const
bool changed () const
bool online () const
const ResourceMapresources () const
const Resourceresource (const std::string &res) const
const ResourcehighestResource () const

Protected Member Functions

void setPresence (const std::string &resource, Presence::PresenceType presence)
void setStatus (const std::string &resource, const std::string &msg)
void setPriority (const std::string &resource, int priority)
void setExtensions (const std::string &resource, const StanzaExtensionList &exts)
void setSynchronized ()
void removeResource (const std::string &resource)
void setData (const RosterItemData &rid)

Detailed Description

An abstraction of a roster item.

For each RosterItem all resources that are available (online in some way) are stored in a ResourceMap. This map is accessible using the resources() function.

Author:
Jakob Schroeter <js@camaya.net>
Since:
0.3

Definition at line 39 of file rosteritem.h.


Member Typedef Documentation

typedef std::map<std::string, Resource*> ResourceMap

A list of resources for the given JID.

Definition at line 47 of file rosteritem.h.


Constructor & Destructor Documentation

RosterItem ( const std::string &  jid,
const std::string &  name = EmptyString 
)

Constructs a new item of the roster.

Parameters:
jid The JID of the contact.
name The displayed name of the contact.

Definition at line 19 of file rosteritem.cpp.

RosterItem ( const RosterItemData data  ) 

Constructs a new RosterItem using the data holding class.

Parameters:
data The RosterItemData to construct the item from. The new item will own the data object.

Definition at line 24 of file rosteritem.cpp.

~RosterItem (  )  [virtual]

Virtual destructor.

Definition at line 29 of file rosteritem.cpp.


Member Function Documentation

bool changed (  )  const

Whether the item has unsynchronized changes.

Returns:
True if the item has unsynchronized changes, false otherwise.

Definition at line 85 of file rosteritem.cpp.

const StringList groups (  )  const

Returns the groups this RosterItem belongs to.

Returns:
The groups this item belongs to.

Definition at line 77 of file rosteritem.cpp.

const Resource * highestResource (  )  const

Returns the Resource with the highest priority.

Returns:
The Resource with the highest priority.

Definition at line 123 of file rosteritem.cpp.

const std::string & jid (  )  const

Returns the contact's bare JID.

Returns:
The contact's bare JID.

Definition at line 49 of file rosteritem.cpp.

const std::string & name (  )  const

Retrieves the displayed name of a contact/roster item.

Returns:
The contact's name.

Definition at line 41 of file rosteritem.cpp.

bool online (  )  const

Indicates whether this item has at least one resource online (in any state).

Returns:
True if at least one resource is online, false otherwise.

Definition at line 157 of file rosteritem.cpp.

void removeResource ( const std::string &  resource  )  [protected]

This function is called to remove subsequent resources from a RosterItem.

Parameters:
resource The resource to remove.

Definition at line 147 of file rosteritem.cpp.

const Resource * resource ( const std::string &  res  )  const

Returns the Resource for a specific resource string.

Parameters:
res The resource string.
Returns:
The Resource if found, 0 otherwise.

Definition at line 162 of file rosteritem.cpp.

const ResourceMap& resources (  )  const [inline]

Returns the contact's resources.

Returns:
The contact's resources.

Definition at line 127 of file rosteritem.h.

void setData ( const RosterItemData rid  )  [protected]

This function deletes the internal RosterItemData and replaces it with the provided one. The RosterItem will own the RosterItemData instance.

Definition at line 168 of file rosteritem.cpp.

void setExtensions ( const std::string &  resource,
const StanzaExtensionList exts 
) [protected]

Sets the resource's presence extensions.

Parameters:
resource The resource to set the extensions for.
exts The extensions to set.

Definition at line 139 of file rosteritem.cpp.

void setGroups ( const StringList groups  ) 

Sets the groups this RosterItem belongs to.

Parameters:
groups The groups to set for this item.

Definition at line 71 of file rosteritem.cpp.

void setName ( const std::string &  name  ) 

Sets the displayed name of a contact/roster item.

Parameters:
name The contact's new name.

Definition at line 35 of file rosteritem.cpp.

void setPresence ( const std::string &  resource,
Presence::PresenceType  presence 
) [protected]

Sets the current presence of the resource.

Parameters:
resource The resource to set the presence for.
presence The current presence.

Definition at line 99 of file rosteritem.cpp.

void setPriority ( const std::string &  resource,
int  priority 
) [protected]

Sets the current priority of the resource.

Parameters:
resource The resource to set the status message for.
priority The resource's priority, i.e. from the presence info.

Definition at line 115 of file rosteritem.cpp.

void setStatus ( const std::string &  resource,
const std::string &  msg 
) [protected]

Sets the current status message of the resource.

Parameters:
resource The resource to set the status message for.
msg The current status message, i.e. from the presence info.

Definition at line 107 of file rosteritem.cpp.

void setSubscription ( const std::string &  subscription,
const std::string &  ask 
)

Sets the current subscription status of the contact.

Parameters:
subscription The current subscription.
ask Whether a subscription request is pending.

Definition at line 57 of file rosteritem.cpp.

void setSynchronized (  )  [protected]

Removes the 'changed' flag from the item.

Definition at line 93 of file rosteritem.cpp.

SubscriptionType subscription (  )  const

Returns the current subscription type between the remote and the local entity.

Returns:
The subscription type.

Definition at line 63 of file rosteritem.cpp.


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

Generated by  doxygen 1.6.2