14 #include "jinglesessionmanager.h"
16 #include "clientbase.h"
17 #include "jinglesession.h"
18 #include "jinglesessionhandler.h"
29 : m_parent( parent ), m_handler( sh )
53 StringList::const_iterator it = features.begin();
54 for( ; it != features.end(); ++it )
61 if( !( handler || m_handler ) || !callee )
64 Session* sess =
new Session( m_parent, callee, handler ? handler : m_handler );
65 m_sessions.push_back( sess );
74 m_sessions.remove( session );
86 SessionList::iterator it = m_sessions.begin();
87 for( ; it != m_sessions.end() && (*it)->sid() != j->
sid(); ++it ) ;
88 if( it == m_sessions.end() )
91 m_sessions.push_back( s );
97 (*it)->handleIq( iq );
This is the common base class for a Jabber/XMPP Client and a Jabber Component.
virtual Disco * disco() const
void registerIqHandler(IqHandler *ih, int exttype)
void registerStanzaExtension(StanzaExtension *ext)
void addFeature(const std::string &feature)
An abstraction of an IQ stanza.
void addPlugins(Plugin &plugin, const Tag *tag)
void registerPlugin(Plugin *plugin)
An abstraction of a Jingle plugin. This is part of Jingle (XEP-0166 et al.)
virtual const StringList features() const
A Jingle session handler.
virtual void handleIncomingSession(Session *session)=0
virtual ~SessionManager()
virtual bool handleIq(const IQ &iq)
SessionManager(ClientBase *parent, SessionHandler *sh)
void registerPlugin(Plugin *plugin)
Session * createSession(const JID &callee, SessionHandler *handler)
void discardSession(Session *session)
This is an abstraction of Jingle's (XEP-0166) <jingle> element as a StanzaExtension.
const std::string & sid() const
Tag * embeddedTag() const
This is an implementation of a Jingle Session (XEP-0166).
virtual bool handleIq(const IQ &iq)
const StanzaExtension * findExtension(int type) const
void clearList(std::list< T * > &L)
The namespace for the gloox library.
const std::string XMLNS_JINGLE
std::list< std::string > StringList