RosterItem Class Reference

An abstraction of a roster item. More...

#include <rosteritem.h>

List of all members.

Public Types

enum  SubscriptionEnum {
  S10N_NONE, S10N_NONE_OUT, S10N_NONE_IN, S10N_NONE_OUT_IN,
  S10N_TO, S10N_TO_IN, S10N_FROM, S10N_FROM_OUT,
  S10N_BOTH
}
typedef std::map< std::string,
Resource * > 
ResourceMap

Public Member Functions

 RosterItem (const JID &jid, const std::string &name="")
virtual ~RosterItem ()
virtual void setName (const std::string &name)
virtual const std::string & name () const
virtual const std::string & jid () const
virtual SubscriptionEnum subscription () const
virtual void setGroups (const StringList &groups)
virtual const StringListgroups ()
virtual bool changed () const
virtual bool online () const
virtual const ResourceMapresources () const

Protected Member Functions

virtual void setStatus (const std::string &resource, Presence status)
virtual void setStatusMsg (const std::string &resource, const std::string &msg)
virtual void setPriority (const std::string &resource, int priority)
virtual void setSubscription (const std::string &subscription, bool ask)
virtual void setSynchronized ()
virtual void removeResource (const std::string &resource)

Friends

class RosterManager

Classes

class  Resource
 Holds resource attributes. More...


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 36 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 101 of file rosteritem.h.


Member Enumeration Documentation

enum SubscriptionEnum

Describes possible subscribtion types according to RFC 3921, Section 9.

Enumerator:
S10N_NONE  Contact and user are not subscribed to each other, and neither has requested a subscription from the other.
S10N_NONE_OUT  Contact and user are not subscribed to each other, and user has sent contact a subscription request but contact has not replied yet.
S10N_NONE_IN  Contact and user are not subscribed to each other, and contact has sent user a subscription request but user has not replied yet (note: contact's server SHOULD NOT push or deliver roster items in this state, but instead SHOULD wait until contact has approved subscription request from user).
S10N_NONE_OUT_IN  Contact and user are not subscribed to each other, contact has sent user a subscription request but user has not replied yet, and user has sent contact a subscription request but contact has not replied yet.
S10N_TO  User is subscribed to contact (one-way).
S10N_TO_IN  User is subscribed to contact, and contact has sent user a subscription request but user has not replied yet.
S10N_FROM  Contact is subscribed to user (one-way).
S10N_FROM_OUT  Contact is subscribed to user, and user has sent contact a subscription request but contact has not replied yet.
S10N_BOTH  User and contact are subscribed to each other (two-way).

Definition at line 106 of file rosteritem.h.


Constructor & Destructor Documentation

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

Constructs a new item of the roster.

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

Definition at line 20 of file rosteritem.cpp.

~RosterItem (  )  [virtual]

Virtual destructor.

Definition at line 25 of file rosteritem.cpp.


Member Function Documentation

void setName ( const std::string &  name  )  [virtual]

Sets the displayed name of a contact/roster item.

Parameters:
name The contact's new name.

Definition at line 35 of file rosteritem.cpp.

virtual const std::string& name (  )  const [inline, virtual]

Retrieves the displayed name of a contact/roster item.

Returns:
The contact's name.

Definition at line 153 of file rosteritem.h.

virtual const std::string& jid (  )  const [inline, virtual]

Returns the contact's bare JID.

Returns:
The contact's bare JID.

Definition at line 159 of file rosteritem.h.

virtual SubscriptionEnum subscription (  )  const [inline, virtual]

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

Returns:
The subscription type.

Definition at line 165 of file rosteritem.h.

void setGroups ( const StringList groups  )  [virtual]

Sets the groups this RosterItem belongs to.

Parameters:
groups The groups to set for this item.

Definition at line 89 of file rosteritem.cpp.

virtual const StringList& groups (  )  [inline, virtual]

Returns the groups this RosterItem belongs to.

Returns:
The groups this item belongs to.

Definition at line 177 of file rosteritem.h.

virtual bool changed (  )  const [inline, virtual]

Whether the item has unsynchronized changes.

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

Definition at line 183 of file rosteritem.h.

bool online (  )  const [virtual]

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 105 of file rosteritem.cpp.

virtual const ResourceMap& resources (  )  const [inline, virtual]

Returns the contact's resources.

Returns:
The contact's resources.

Definition at line 195 of file rosteritem.h.

void setStatus ( const std::string &  resource,
Presence  status 
) [protected, virtual]

Sets the current status of the resource.

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

Definition at line 41 of file rosteritem.cpp.

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

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 51 of file rosteritem.cpp.

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

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 61 of file rosteritem.cpp.

void setSubscription ( const std::string &  subscription,
bool  ask 
) [protected, virtual]

Sets the current subscription status of the contact.

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

Definition at line 71 of file rosteritem.cpp.

virtual void setSynchronized (  )  [inline, protected, virtual]

Removes the 'changed' flag from the item.

Definition at line 229 of file rosteritem.h.

Referenced by RosterManager::RosterManager().

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

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

Parameters:
resource The resource to remove.

Definition at line 95 of file rosteritem.cpp.


The documentation for this class was generated from the following files:
Generated on Tue May 1 14:20:26 2007 for gloox by  doxygen 1.5.1