#include <clientbase.h>
Inherits TagHandler, ConnectionDataHandler, CompressionDataHandler, TLSHandler, and IqHandler.
Inherited by Client, and Component.
Inheritance diagram for ClientBase:

Public Member Functions | |
| 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 JID & | jid () |
| 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 Disco * | disco () 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) |
| ConnectionBase * | connectionImpl () const |
| void | setConnectionImpl (ConnectionBase *cb) |
| TLSBase * | encryptionImpl () const |
| void | setEncryptionImpl (TLSBase *tb) |
| CompressionBase * | compressionImpl () const |
| void | setCompressionImpl (CompressionBase *cb) |
| void | whitespacePing () |
| void | xmppPing (const JID &to, EventHandler *eh) |
| void | setAuthzid (const JID &authzid) |
| void | setSASLMechanisms (int mechanisms) |
| void | registerStanzaExtension (StanzaExtension *ext) |
| bool | removeStanzaExtension (int ext) |
| void | registerConnectionListener (ConnectionListener *cl) |
| GLOOX_DEPRECATED void | registerIqHandler (IqHandler *ih, const std::string &xmlns) |
| void | registerIqHandler (IqHandler *ih, int exttype) |
| GLOOX_DEPRECATED void | trackID (IqHandler *ih, const std::string &id, int context) |
| 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) |
| GLOOX_DEPRECATED void | removeIqHandler (IqHandler *ih, const std::string &xmlns) |
| 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) |
| LogSink & | logInstance () |
| StreamError | streamError () const |
| const std::string & | streamErrorText (const std::string &lang="default") const |
| const std::string & | streamErrorCData () const |
| const Tag * | streamErrorAppCondition () const |
| AuthenticationError | authError () const |
| StatisticsStruct | getStatistics () |
| void | registerMUCInvitationHandler (MUCInvitationHandler *mih) |
| void | removeMUCInvitationHandler () |
| 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) |
Protected Member Functions | |
| void | notifyOnResourceBindError (const Error *error) |
| void | notifyOnResourceBind (const std::string &resource) |
| void | notifyOnSessionCreateError (const Error *error) |
| bool | notifyOnTLSConnect (const CertInfo &info) |
| void | notifyOnConnect () |
| virtual bool | checkStreamVersion (const std::string &version) |
It manages connection establishing, authentication, filter registration and invocation.
Definition at line 67 of file clientbase.h.
|
||||||||||||||||
|
Constructs a new ClientBase. You should not need to use this class directly. Use Client or Component instead.
Definition at line 90 of file clientbase.cpp. |
|
||||||||||||||||||||
|
Constructs a new ClientBase. You should not need to use this class directly. Use Client or Component instead.
Definition at line 105 of file clientbase.cpp. |
|
|
Virtual destrcuctor. Definition at line 141 of file clientbase.cpp. |
|
|
Returns whether authentication has taken place and was successful.
Definition at line 281 of file clientbase.h. |
|
|
Use this function to retrieve the type of the authentication error after it occurs and you received a ConnectionError of type ConnAuthenticationFailed from the ConnectionListener.
Definition at line 651 of file clientbase.h. |
|
|
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.
Reimplemented in Component. Definition at line 814 of file clientbase.cpp. |
|
|
Returns whether Stream Compression is currently enabled (not necessarily used).
Definition at line 205 of file clientbase.h. |
|
|
This function returns the concrete compression implementation currently in use.
Definition at line 340 of file clientbase.h. |
|
|
Initiates the connection to a server. This function blocks as long as a connection is established. You can have the connection block 'til the end of the connection, or you can have it return immediately. If you choose the latter, its your responsibility to call recv() every now and then to actually receive data from the socket and to feed the parser.
Definition at line 176 of file clientbase.cpp. |
|
|
This function returns the concrete connection implementation currently in use.
Definition at line 308 of file clientbase.h. |
|
|
This function gives access to the
Definition at line 224 of file clientbase.h. |
|
|
Removes the given MessageSession from the list of MessageSessions and deletes it.
Definition at line 1087 of file clientbase.cpp. |
|
|
This function returns the concrete encryption implementation currently in use.
Definition at line 324 of file clientbase.h. |
|
|
Creates a string which is unique in the current instance and can be used as an ID for queries.
Definition at line 800 of file clientbase.cpp. |
|
|
Returns a StatisticsStruct containing byte and stanza counts for the current active connection.
Definition at line 750 of file clientbase.cpp. |
|
|
This function is called when compression is finished.
Implements CompressionDataHandler. Definition at line 288 of file clientbase.cpp. |
|
|
This function is called when e.g. the raw TCP connection was established.
Implements ConnectionDataHandler. Definition at line 351 of file clientbase.cpp. |
|
|
This function is called when decompression is finished.
Implements CompressionDataHandler. Definition at line 298 of file clientbase.cpp. |
|
||||||||||||
|
Reimplement this function to receive decrypted data from a TLSBase implementation.
Implements TLSHandler. Definition at line 311 of file clientbase.cpp. |
|
||||||||||||
|
This connection is called when e.g. the raw TCP connection was closed.
Implements ConnectionDataHandler. Definition at line 360 of file clientbase.cpp. |
|
||||||||||||
|
Reimplement this function to receive encrypted data from a TLSBase implementation.
Implements TLSHandler. Definition at line 303 of file clientbase.cpp. |
|
||||||||||||||||
|
Reimplement this function to receive the result of a TLS handshake.
Implements TLSHandler. Definition at line 319 of file clientbase.cpp. |
|
||||||||||||
|
This function is called for received from the underlying transport.
Implements ConnectionDataHandler. Definition at line 341 of file clientbase.cpp. |
|
|
This function is called when a registered XML element arrives. As with every handler in gloox, the Tag is going to be deleted after this function returned. If you need a copy afterwards, create it using Tag::clone().
Implements TagHandler. Definition at line 205 of file clientbase.cpp. |
|
|
Returns the current Jabber ID. If an authentication ID has been set (using setAuthzid()) this authzid is returned.
Definition at line 138 of file clientbase.h. |
|
|
Returns the LogSink instance for this ClientBase and all related objects.
Definition at line 610 of file clientbase.h. |
|
|
This function is called to notify about successful connection. Definition at line 1189 of file clientbase.cpp. |
|
|
This function is called when binding a resource succeeded.
Definition at line 1213 of file clientbase.cpp. |
|
|
This function is called when resource binding yieled an error.
Definition at line 1208 of file clientbase.cpp. |
|
|
This function is called when session creation yieled an error.
Definition at line 1218 of file clientbase.cpp. |
|
|
This function is called when the TLS handshake completed correctly. The return value is used to determine whether or not the client accepted the server's certificate. If false is returned the connection is closed.
Definition at line 1200 of file clientbase.cpp. |
|
|
Returns the current password.
Definition at line 218 of file clientbase.h. |
|
|
Returns the port. The default of -1 means that the actual port will be looked up using SRV records, or the XMPP default port of 5222 will be used.
Definition at line 212 of file clientbase.h. |
|
|
Use this periodically to receive data from the socket and to feed the parser. You need to use this only if you chose to connect in non-blocking mode.
Definition at line 168 of file clientbase.cpp. |
|
|
Registers
Definition at line 1177 of file clientbase.cpp. |
|
||||||||||||
|
Registers
Definition at line 1033 of file clientbase.cpp. |
|
||||||||||||
|
Registers
Definition at line 1019 of file clientbase.cpp. |
|
|
Registers
Definition at line 1102 of file clientbase.cpp. |
|
|
Registers the given MessageSession to receive Messages incoming from the session's target JID.
Definition at line 1081 of file clientbase.cpp. |
|
||||||||||||
|
Use this function to register a MessageSessionHandler with the Client. Optionally the MessageSessionHandler can receive only MessageSessions with a given message type. There can be only one handler per message type.
Definition at line 941 of file clientbase.cpp. |
|
|
Registers a MUCInvitationHandler with the ClientBase.
Definition at line 1162 of file clientbase.cpp. |
|
||||||||||||
|
Registers a new PresenceHandler for the given JID. Presences received for this particular JID will not be forwarded to the generic PresenceHandler (and therefore the Roster). This functionality is primarily intended for the MUC implementation.
Definition at line 968 of file clientbase.cpp. |
|
|
Registers
Definition at line 956 of file clientbase.cpp. |
|
|
Registers a new StanzaExtension with the StanzaExtensionFactory.
Definition at line 734 of file clientbase.cpp. |
|
|
Registers
Definition at line 1151 of file clientbase.cpp. |
|
|
Registers
Definition at line 1114 of file clientbase.cpp. |
|
||||||||||||||||
|
Registers
Definition at line 1126 of file clientbase.cpp. |
|
|
Removes the given object from the list of connection listeners.
Definition at line 1183 of file clientbase.cpp. |
|
|
Removes the given IqHandler from the list of handlers of pending operations, added using trackID(). Necessary, for example, when closing a GUI element that has an operation pending.
Definition at line 1006 of file clientbase.cpp. |
|
||||||||||||
|
Removes the given IQ handler for the given extension type.
Definition at line 1064 of file clientbase.cpp. |
|
||||||||||||
|
Removes the given IQ handler for the given namespace.
Definition at line 1047 of file clientbase.cpp. |
|
|
Removes the given object from the list of message handlers.
Definition at line 1108 of file clientbase.cpp. |
|
|
Removes the currently registered MUCInvitationHandler. Definition at line 1171 of file clientbase.cpp. |
|
||||||||||||
|
Removes the given object from the list of presence handlers for the given JID.
Definition at line 979 of file clientbase.cpp. |
|
|
Removes the given object from the list of presence handlers.
Definition at line 962 of file clientbase.cpp. |
|
|
Removes the given StanzaExtension type from the StanzaExtensionFactory.
Definition at line 742 of file clientbase.cpp. |
|
|
Removes the current StatisticsHandler. Definition at line 1157 of file clientbase.cpp. |
|
|
Removes the given object from the list of subscription handlers.
Definition at line 1120 of file clientbase.cpp. |
|
||||||||||||||||
|
Removes the given object from the list of tag handlers for the given element and namespace.
Definition at line 1138 of file clientbase.cpp. |
|
|
Returns whether SASL is currently enabled (not necessarily used).
Definition at line 193 of file clientbase.h. |
|
|
A convenience function that sends the given Presence stanza.
Definition at line 688 of file clientbase.cpp. |
|
|
A convenience function that sends the given Subscription stanza.
Definition at line 680 of file clientbase.cpp. |
|
|
A convenience function that sends the given Message stanza.
Definition at line 672 of file clientbase.cpp. |
|
|
A convenience function that sends the given IQ stanza.
Definition at line 664 of file clientbase.cpp. |
|