gloox 1.0
Public Types | Public Member Functions | Protected Member Functions

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

build buildd gloox src rosteritem cpp RosterItem ( const std::string &  jid,
const std::string &  name = EmptyString 
)

Constructs a new item of the roster.

Parameters:
jidThe JID of the contact.
nameThe displayed name of the contact.

Definition at line 23 of file rosteritem.cpp.

RosterItem ( const RosterItemData data)

Constructs a new RosterItem using the data holding class.

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

Definition at line 28 of file rosteritem.cpp.

~RosterItem ( ) [virtual]

Virtual destructor.

Definition at line 33 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 89 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 81 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 127 of file rosteritem.cpp.

const std::string & jid ( ) const

Returns the contact's bare JID.

Returns:
The contact's bare JID.

Definition at line 53 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 45 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 161 of file rosteritem.cpp.

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

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

Parameters:
resourceThe resource to remove.

Definition at line 151 of file rosteritem.cpp.

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

Returns the Resource for a specific resource string.

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

Definition at line 166 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 172 of file rosteritem.cpp.

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

Sets the resource's presence extensions.

Parameters:
resourceThe resource to set the extensions for.
extsThe extensions to set.

Definition at line 143 of file rosteritem.cpp.

void setGroups ( const StringList groups)

Sets the groups this RosterItem belongs to.

Parameters:
groupsThe groups to set for this item.

Definition at line 75 of file rosteritem.cpp.

void setName ( const std::string &  name)

Sets the displayed name of a contact/roster item.

Parameters:
nameThe contact's new name.

Definition at line 39 of file rosteritem.cpp.

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

Sets the current presence of the resource.

Parameters:
resourceThe resource to set the presence for.
presenceThe current presence.

Definition at line 103 of file rosteritem.cpp.

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

Sets the current priority of the resource.

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

Definition at line 119 of file rosteritem.cpp.

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

Sets the current status message of the resource.

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

Definition at line 111 of file rosteritem.cpp.

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

Sets the current subscription status of the contact.

Parameters:
subscriptionThe current subscription.
askWhether a subscription request is pending.

Definition at line 61 of file rosteritem.cpp.

void setSynchronized ( ) [protected]

Removes the 'changed' flag from the item.

Definition at line 97 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 67 of file rosteritem.cpp.


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