gloox  1.0
Public Member Functions | Protected Member Functions | List of all members
Component Class Reference

#include <component.h>

Inheritance diagram for Component:
Inheritance graph

Public Member Functions

 Component (const std::string &ns, const std::string &server, const std::string &component, const std::string &password, int port=5347)
virtual ~Component ()
void disconnect ()
- Public Member Functions inherited from ClientBase
 ClientBase (const std::string &ns, const std::string &server, int port=-1)
 ClientBase (const std::string &ns, const std::string &password, const std::string &server, int port=-1)
virtual ~ClientBase ()
bool connect (bool block=true)
ConnectionError recv (int timeout=-1)
virtual const std::string & username () const
const JIDjid ()
void setSasl (bool sasl)
void setTls (TLSPolicy tls)
void setCompression (bool compression)
void setPort (int port)
void setServer (const std::string &server)
void setPassword (const std::string &password)
const std::string & server () const
bool sasl () const
TLSPolicy tls () const
bool compression () const
int port () const
virtual const std::string & password () const
virtual Discodisco () const
const std::string getID ()
void send (Tag *tag)
void send (IQ &iq, IqHandler *ih, int context, bool del=false)
void send (const IQ &iq)
void send (const Message &msg)
void send (const Subscription &sub)
void send (Presence &pres)
bool authed () const
ConnectionState state () const
const std::string & xmlLang () const
void setXmlLang (const std::string &xmllang)
ConnectionBaseconnectionImpl () const
void setConnectionImpl (ConnectionBase *cb)
TLSBaseencryptionImpl () const
void setEncryptionImpl (TLSBase *tb)
CompressionBasecompressionImpl () const
void setCompressionImpl (CompressionBase *cb)
void whitespacePing ()
void xmppPing (const JID &to, EventHandler *eh)
void setAuthzid (const JID &authzid)
void setAuthcid (const std::string &authcid)
void setSASLMechanisms (int mechanisms)
void registerStanzaExtension (StanzaExtension *ext)
bool removeStanzaExtension (int ext)
void registerConnectionListener (ConnectionListener *cl)
void registerIqHandler (IqHandler *ih, int exttype)
void removeIDHandler (IqHandler *ih)
void registerMessageHandler (MessageHandler *mh)
void removeMessageHandler (MessageHandler *mh)
void registerMessageSession (MessageSession *session)
void disposeMessageSession (MessageSession *session)
void registerPresenceHandler (PresenceHandler *ph)
void registerPresenceHandler (const JID &jid, PresenceHandler *ph)
void registerSubscriptionHandler (SubscriptionHandler *sh)
void registerTagHandler (TagHandler *th, const std::string &tag, const std::string &xmlns)
void registerStatisticsHandler (StatisticsHandler *sh)
void removeConnectionListener (ConnectionListener *cl)
void removeIqHandler (IqHandler *ih, int exttype)
void removePresenceHandler (PresenceHandler *ph)
void removePresenceHandler (const JID &jid, PresenceHandler *ph)
void removeSubscriptionHandler (SubscriptionHandler *sh)
void removeTagHandler (TagHandler *th, const std::string &tag, const std::string &xmlns)
void removeStatisticsHandler ()
void setCACerts (const StringList &cacerts)
void setClientCert (const std::string &clientKey, const std::string &clientCerts)
void registerMessageSessionHandler (MessageSessionHandler *msh, int types=0)
LogSinklogInstance ()
StreamError streamError () const
const std::string & streamErrorText (const std::string &lang="default") const
const std::string & streamErrorCData () const
const TagstreamErrorAppCondition () const
AuthenticationError authError () const
StatisticsStruct getStatistics ()
void registerMUCInvitationHandler (MUCInvitationHandler *mih)
void removeMUCInvitationHandler ()
void addPresenceExtension (StanzaExtension *se)
bool removePresenceExtension (int type)
const StanzaExtensionListpresenceExtensions () const
virtual void handleTag (Tag *tag)
virtual void handleCompressedData (const std::string &data)
virtual void handleDecompressedData (const std::string &data)
virtual void handleReceivedData (const ConnectionBase *connection, const std::string &data)
virtual void handleConnect (const ConnectionBase *connection)
virtual void handleDisconnect (const ConnectionBase *connection, ConnectionError reason)
virtual void handleEncryptedData (const TLSBase *base, const std::string &data)
virtual void handleDecryptedData (const TLSBase *base, const std::string &data)
virtual void handleHandshakeResult (const TLSBase *base, bool success, CertInfo &certinfo)
- Public Member Functions inherited from TagHandler
virtual ~TagHandler ()
- Public Member Functions inherited from ConnectionDataHandler
virtual ~ConnectionDataHandler ()
- Public Member Functions inherited from CompressionDataHandler
virtual ~CompressionDataHandler ()
- Public Member Functions inherited from TLSHandler
virtual ~TLSHandler ()
- Public Member Functions inherited from IqHandler
virtual ~IqHandler ()
virtual bool handleIq (const IQ &iq)=0
virtual void handleIqID (const IQ &iq, int context)=0

Protected Member Functions

virtual void handleStartNode ()
virtual bool handleNormalNode (Tag *tag)
virtual bool checkStreamVersion (const std::string &)
- Protected Member Functions inherited from ClientBase
void notifyOnResourceBindError (const Error *error)
void notifyOnResourceBind (const std::string &resource)
void notifyOnSessionCreateError (const Error *error)
bool notifyOnTLSConnect (const CertInfo &info)
void notifyOnConnect ()
void notifyStreamEvent (StreamEvent event)
virtual void disconnect (ConnectionError reason)
void header ()
void setAuthed (bool authed)
void setAuthFailure (AuthenticationError e)
void startSASL (SaslMechanism type)
void processSASLSuccess ()
void processSASLChallenge (const std::string &challenge)
void processSASLError (Tag *tag)
void setNTLMDomain (const std::string &domain)
void startTls ()
bool hasTls ()

Additional Inherited Members

- Protected Attributes inherited from ClientBase
JID m_jid
JID m_authzid
std::string m_authcid
StanzaExtensionList m_presenceExtensions
std::string m_selectedResource
std::string m_clientCerts
std::string m_clientKey
std::string m_namespace
std::string m_password
std::string m_xmllang
std::string m_server
std::string m_sid
bool m_compressionActive
bool m_encryptionActive
bool m_compress
bool m_authed
bool m_block
bool m_sasl
TLSPolicy m_tls
int m_port
int m_availableSaslMechs

Detailed Description

This is an implementation of a basic jabber Component.

It's using XEP-0114 (Jabber Component Protocol) to authenticate with a server.

Jakob Schroeter

Definition at line 33 of file component.h.

Constructor & Destructor Documentation

Component ( const std::string &  ns,
const std::string &  server,
const std::string &  component,
const std::string &  password,
int  port = 5347 

Constructs a new Component.

nsThe namespace that qualifies the stream. Either jabber:component:accept or jabber:component:connect. See XEP-0114 for details.
serverThe server to connect to.
componentThe component's hostname. FQDN.
passwordThe component's password.
portThe port to connect to. The default of 5347 is the default port of the router in jabberd2.

Definition at line 27 of file component.cpp.

virtual ~Component ( )

Virtual Destructor.

Definition at line 52 of file component.h.

Member Function Documentation

virtual bool checkStreamVersion ( const std::string &  version)

Implementors of this function can check if they support the advertized stream version. The return value indicates whether or not the stream can be handled. A default implementation is provided.

versionThe advertized stream version.
True if the stream can be handled, false otherwise.

Reimplemented from ClientBase.

Definition at line 67 of file component.h.

void disconnect ( )

Disconnects from the server.

Definition at line 57 of file component.h.

bool handleNormalNode ( Tag tag)

This function is called for each Tag. Only stream initiation/negotiation should be done here.

tagA Tag to handle.

Implements ClientBase.

Definition at line 50 of file component.cpp.

void handleStartNode ( )

This function is called right after the opening <stream:stream> was received.

Implements ClientBase.

Definition at line 35 of file component.cpp.

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