# class XMPPFeatureList | JID feature list. More...
Full name | `TelEngine::XMPPFeatureList`
Definition | `#include <libs/yjabber/xmpputils.h>`
Inherits | TelEngine::ObjList [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- inline bool add (int xml, int feature, bool required = false)
- inline bool add (int feature)
- inline bool add (XMPPFeature* feature)
- inline void reset ()
- void add (XMPPFeatureList& list)
- void fromStreamFeatures (XmlElement& xml)
- void fromDiscoInfo (XmlElement& xml)
- inline void remove (int feature)
- XMPPFeature* get (int feature)
- inline XMPPFeature* get (const String& feature)
- inline XMPPFeatureSasl* getSasl ()
- inline XMPPFeatureCompress* getCompress ()
- XmlElement* buildStreamFeatures ()
- XmlElement* buildDiscoInfo (const char* from, const char* to, const char* id, const char* node = 0, const char* cap = 0)
- void add (XmlElement& xml)
- void updateEntityCaps ()

#### Public Members

- JIDIdentityList m_identities
- String m_entityCapsHash

## Detailed Description

This class holds a list of JID features

inline bool add (int xml, int feature, bool required = false) | ### add

Add a feature to the list

Parameters:

xml | XML element tag as enumeration
feature | The feature to add as enumeration
required | True if this feature is required

Returns: False if the given feature already exists

inline bool add (int feature) | ### add

Add a feature to the list

Parameters:

feature | The feature to add as enumeration

Returns: False if the given feature already exists

inline bool add (XMPPFeature* feature) | ### add

Add a feature to the list. Destroy the received parameter if already in the list

Parameters:

feature | The feature to add

Returns: False if the given feature already exists

inline void reset () | ### reset

Clear data

void add (XMPPFeatureList& list) | ### add

Move a list of features to this list. Don't check duplicates

Parameters:

list | The source list

void fromStreamFeatures (XmlElement& xml) | ### fromStreamFeatures

Re-build this list from stream features

Parameters:

xml | The features element to parse

void fromDiscoInfo (XmlElement& xml) | ### fromDiscoInfo

Re-build this list from disco info responses

Parameters:

xml | The element to parse

inline void remove (int feature) | ### remove

Remove a feature from the list

Parameters:

feature | The feature to remove

Reimplemented from ObjList.

XMPPFeature* get (int feature) | ### get

Get a feature from the list

Parameters:

feature | The feature to get

Returns: Pointer to the feature or 0 if it doesn't exists

Reimplemented from ObjList.

inline XMPPFeature* get (const String& feature) | ### get

Get a feature from the list

Parameters:

feature | The feature name to find

Returns: Pointer to the feature or 0 if it doesn't exists

Reimplemented from ObjList.

inline XMPPFeatureSasl* getSasl () | ### getSasl

Get a XMPPFeatureSasl feature from list

Returns: XMPPFeatureSasl pointer or 0 if not found

inline XMPPFeatureCompress* getCompress () | ### getCompress

Get a XMPPFeatureCompress feature from list

Returns: XMPPFeatureCompress pointer or 0 if not found

XmlElement* buildStreamFeatures () | ### buildStreamFeatures

Build stream features from this list

Returns: XmlElement pointer

XmlElement* buildDiscoInfo (const char* from, const char* to, const char* id, const char* node = 0, const char* cap = 0) | ### buildDiscoInfo

Build an iq query disco info result from this list

Parameters:

from | The 'from' attribute
to | The 'to' attribute
id | The 'id' attribute
node | Optional 'node' attribute
cap | Optional capability to be set as 'node' suffix

Returns: XmlElement pointer

void add (XmlElement& xml) | ### add

Add this list to an xml element

Parameters:

xml | Destination element

void updateEntityCaps () | ### updateEntityCaps

Update the entity capabilities hash

JIDIdentityList m_identities | ### m_identities

String m_entityCapsHash | ### m_entityCapsHash

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.