14 #ifndef JINGLEPLUGIN_H__
15 #define JINGLEPLUGIN_H__
87 void addPlugin(
const Plugin* plugin ) {
if( plugin ) m_plugins.push_back( plugin ); }
96 PluginList::const_iterator it = m_plugins.begin();
97 for( ; it != m_plugins.end() && (*it)->pluginType() != type; ++it ) ;
98 return it != m_plugins.end() ? (*it) : 0;
113 return static_cast<const T*
>( findPlugin( type ) );
169 void setFactory(
PluginFactory* factory ) { m_factory = factory; }
179 #endif // JINGLEPLUGIN_H__
const PluginList & plugins() const
virtual Plugin * clone() const =0
void clearList(std::list< T * > &L)
void addPlugin(const Plugin *plugin)
virtual const StringList features() const
An abstraction of a Jingle plugin. This is part of Jingle (XEP-0166 et al.)
JinglePluginType pluginType() const
std::list< const Plugin * > PluginList
std::list< std::string > StringList
Plugin(JinglePluginType type)
virtual Plugin * newInstance(const Tag *tag) const =0
The namespace for the gloox library.
This is an abstraction of an XML element.
virtual Tag * tag() const =0
virtual const std::string & filterString() const =0
A factory for which creates Plugin instances based on Tags. This is part of Jingle (XEP-0166).
const T * findPlugin(int type) const
const Plugin * findPlugin(int type) const