gloox  1.0.23
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 ()
virtual 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)
virtual 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 (const 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
const TagList sendQueue ()
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 ()

Protected Member Functions

virtual void handleStartNode (const Tag *start)
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)
bool processSASLSuccess (const std::string &payload)
void processSASLChallenge (const std::string &challenge)
void processSASLError (Tag *tag)
void setNTLMDomain (const std::string &domain)
void startTls ()
bool hasTls ()
void send (const std::string &xml)
void checkQueue (int handled, bool resend)
int stanzasSent () const
std::string getRandom ()

Additional Inherited Members

- Protected Types inherited from ClientBase
enum  SMContext {
  CtxSMInvalid, CtxSMFailed, CtxSMEnable, CtxSMResume,
  CtxSMEnabled, CtxSMResumed
- Protected Attributes inherited from ClientBase
JID m_jid
JID m_authzid
std::string m_authcid
StanzaExtensionList m_presenceExtensions
GLOOX_DEPRECATED 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_resourceBound
bool m_block
bool m_sasl
TLSPolicy m_tls
int m_port
int m_availableSaslMechs
SMContext m_smContext
int m_smHandled

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 Schröter

Definition at line 33 of file component.h.

Constructor & Destructor Documentation

◆ Component()

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.

◆ ~Component()

virtual ~Component ( )

Virtual Destructor.

Definition at line 52 of file component.h.

Member Function Documentation

◆ checkStreamVersion()

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.

◆ disconnect()

virtual void disconnect ( )

Disconnects from the server.

Definition at line 57 of file component.h.

◆ handleNormalNode()

bool handleNormalNode ( Tag tag)

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

tagA Tag to handle.
Returns true if the tag has been handled inside the function, false otherwise.

Implements ClientBase.

Definition at line 50 of file component.cpp.

◆ handleStartNode()

void handleStartNode ( const Tag start)

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

startThe complete stream opening tag. Note that the XML representation (Tag::xml()) will contain a closed stream tag. The original is open.

Implements ClientBase.

Definition at line 35 of file component.cpp.

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