gloox
1.1-svn
|
#include <clientbase.h>
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) |
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) |
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 () |
void | addPresenceExtension (StanzaExtension *se) |
bool | removePresenceExtension (int type) |
const StanzaExtensionList & | presenceExtensions () const |
virtual void | handleTag (Tag *tag) |
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 *, const std::string &) |
virtual void | handleDecryptedData (const TLSBase *, const std::string &) |
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 IqHandler | |
virtual | ~IqHandler () |
virtual bool | handleIq (const IQ &iq)=0 |
virtual void | handleIqID (const IQ &iq, int context)=0 |
Public Member Functions inherited from TLSHandler | |
virtual | ~TLSHandler () |
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 () |
void | notifyStreamEvent (StreamEvent event) |
virtual void | disconnect (ConnectionError reason) |
void | header () |
void | setAuthed (bool authed) |
void | setAuthFailure (AuthenticationError e) |
virtual bool | checkStreamVersion (const std::string &version) |
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 () |
Protected Attributes | |
JID | m_jid |
JID | m_authzid |
std::string | m_authcid |
ConnectionBase * | m_connection |
ConnectionTLS * | m_encryption |
ConnectionCompression * | m_compression |
Disco * | m_disco |
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_block |
bool | m_sasl |
TLSPolicy | m_tls |
int | m_port |
int | m_availableSaslMechs |
This is the common base class for a Jabber/XMPP Client and a Jabber Component.
It manages connection establishing, authentication, filter registration and invocation. You should normally use Client for client connections and Component for component connections.
Definition at line 74 of file clientbase.h.
ClientBase | ( | const std::string & | ns, |
const std::string & | server, | ||
int | port = -1 |
||
) |
Constructs a new ClientBase. You should not need to use this class directly. Use Client or Component instead.
ns | The namespace which qualifies the stream. Either jabber:client or jabber:component:* |
server | The server to connect to. |
port | The port to connect to. The default of -1 means to look up the port via DNS SRV or to use a default port of 5222 as defined in XMPP Core. |
Definition at line 89 of file clientbase.cpp.
ClientBase | ( | const std::string & | ns, |
const std::string & | password, | ||
const std::string & | server, | ||
int | port = -1 |
||
) |
Constructs a new ClientBase. You should not need to use this class directly. Use Client or Component instead.
ns | The namespace which qualifies the stream. Either jabber:client or jabber:component:* |
password | The password to use for further authentication. |
server | The server to connect to. |
port | The port to connect to. The default of -1 means to look up the port via DNS SRV or to use a default port of 5222 as defined in XMPP: Core. |
Definition at line 104 of file clientbase.cpp.
|
virtual |
Virtual destrcuctor.
Definition at line 142 of file clientbase.cpp.
void addPresenceExtension | ( | StanzaExtension * | se | ) |
Adds a StanzaExtension that will be sent with every Presence stanza sent. Capabilities are included by default if you are using a Client.
se | A StanzaExtension to add. If an extension of the same type has been added previously it will be replaced by the new one. Use removePresenceExtension() to remove an extension. |
Definition at line 1486 of file clientbase.cpp.
|
inline |
Returns whether authentication has taken place and was successful.
Definition at line 287 of file clientbase.h.
|
inline |
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 605 of file clientbase.h.
|
protectedvirtual |
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.
version | The advertized stream version. |
Reimplemented in Component.
Definition at line 924 of file clientbase.cpp.
|
inline |
Returns whether Stream Compression is currently enabled (not necessarily used).
Definition at line 211 of file clientbase.h.
bool connect | ( | bool | block = true | ) |
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.
block | True for blocking, false for non-blocking connect. Defaults to true. |
Definition at line 184 of file clientbase.cpp.
|
inline |
This function returns the concrete connection implementation currently in use.
Definition at line 314 of file clientbase.h.
|
inlinevirtual |
This function gives access to the Disco
object.
Definition at line 230 of file clientbase.h.
|
protectedvirtual |
Disconnects the underlying stream and broadcasts the given reason.
reason | The reason for the disconnect. |
Definition at line 349 of file clientbase.cpp.
void disposeMessageSession | ( | MessageSession * | session | ) |
Removes the given MessageSession from the list of MessageSessions and deletes it.
session | The MessageSession to be deleted. |
Definition at line 1142 of file clientbase.cpp.
const std::string getID | ( | ) |
Creates a string which is unique in the current instance and can be used as an ID for queries.
Definition at line 915 of file clientbase.cpp.
StatisticsStruct getStatistics | ( | ) |
Returns a StatisticsStruct containing byte and stanza counts for the current active connection.
Definition at line 865 of file clientbase.cpp.
|
virtual |
This function is called when e.g. the raw TCP connection was established.
connection | The connection. |
Implements ConnectionDataHandler.
Definition at line 321 of file clientbase.cpp.
|
inlinevirtual |
Reimplement this function to receive decrypted data from a TLSBase implementation.
base | The encryption implementation which called this function. |
data | The decrypted data (e.g. to parse). |
Implements TLSHandler.
Definition at line 663 of file clientbase.h.
|
virtual |
This connection is called when e.g. the raw TCP connection was closed.
connection | The connection. |
reason | The reason for the disconnect. |
Implements ConnectionDataHandler.
Definition at line 326 of file clientbase.cpp.
|
inlinevirtual |
Reimplement this function to receive encrypted data from a TLSBase implementation.
base | The encryption implementation which called this function. |
data | The encrypted data (e.g. to send over the wire). |
Implements TLSHandler.
Definition at line 660 of file clientbase.h.
Reimplement this function to receive the result of a TLS handshake.
base | The encryption implementation which called this function. |
success | Whether or not the handshake was successful. |
certinfo | Information about the server's certificate. |
Implements TLSHandler.
Definition at line 294 of file clientbase.cpp.
|
virtual |
This function is called for received from the underlying transport.
connection | The connection that received the data. |
data | The data received. |
Implements ConnectionDataHandler.
Definition at line 316 of file clientbase.cpp.
|
virtual |
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().
tag | The complete Tag. |
Implements TagHandler.
Definition at line 210 of file clientbase.cpp.
|
protected |
Indicates whether or not TLS is supported.
Definition at line 388 of file clientbase.cpp.
|
protected |
Sends the stream header.
Definition at line 379 of file clientbase.cpp.
|
inline |
Returns the current Jabber ID. If an authorization ID has been set (using setAuthzid()) this authzid is returned.
Definition at line 144 of file clientbase.h.
|
inline |
Returns the LogSink instance for this ClientBase and all related objects.
Definition at line 564 of file clientbase.h.
|
protected |
This function is called to notify about successful connection.
Definition at line 1244 of file clientbase.cpp.
|
protected |
This function is called when binding a resource succeeded.
resource | The bound resource. |
Definition at line 1268 of file clientbase.cpp.
|
protected |
This function is called when resource binding yieled an error.
error | A pointer to an Error object that contains more information. May be 0. |
Definition at line 1263 of file clientbase.cpp.
|
protected |
This function is called when session creation yieled an error.
error | A pointer to an Error object that contains more information. May be 0. |
Definition at line 1273 of file clientbase.cpp.
|
protected |
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.
info | Information on the server's certificate. |
Definition at line 1255 of file clientbase.cpp.
|
protected |
This function is used to notify subscribers of stream events.
event | The event to publish. |
Definition at line 1278 of file clientbase.cpp.
|
inlinevirtual |
Returns the current password.
Definition at line 224 of file clientbase.h.
|
inline |
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 218 of file clientbase.h.
|
inline |
Returns the current list of Presence StanzaExtensions.
Definition at line 645 of file clientbase.h.
|
protected |
Processes the given SASL challenge and sends a response.
challenge | The SASL challenge to process. |
Definition at line 562 of file clientbase.cpp.
|
protected |
Examines the given Tag for SASL errors.
tag | The Tag to parse. |
Definition at line 711 of file clientbase.cpp.
|
protected |
Releases SASL related resources.
Definition at line 739 of file clientbase.cpp.
ConnectionError recv | ( | int | timeout = -1 | ) |
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.
timeout | The timeout in microseconds to use for select. Default of -1 means blocking until data was available. |
Definition at line 176 of file clientbase.cpp.
void registerConnectionListener | ( | ConnectionListener * | cl | ) |
Registers cl
as object that receives connection notifications.
cl | The object to receive connection notifications. |
Definition at line 1232 of file clientbase.cpp.
void registerIqHandler | ( | IqHandler * | ih, |
int | exttype | ||
) |
Registers ih
as object that receives notifications for IQ stanzas that contain StanzaExtensions of the given type. The number of handlers per extension type is not limited.
ih | The object to receive IQ stanza notifications. |
exttype | The extension type. See StanzaExtension and StanzaExtensionType . |
Definition at line 1101 of file clientbase.cpp.
void registerMessageHandler | ( | MessageHandler * | mh | ) |
Registers mh
as object that receives Message stanza notifications.
mh | The object to receive Message stanza notifications. |
Definition at line 1157 of file clientbase.cpp.
void registerMessageSession | ( | MessageSession * | session | ) |
Registers the given MessageSession to receive Messages incoming from the session's target JID.
session | The MessageSession to register. |
Definition at line 1136 of file clientbase.cpp.
void registerMessageSessionHandler | ( | MessageSessionHandler * | msh, |
int | types = 0 |
||
) |
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.
A MessageSession will be created for every incoming message stanza if there is no MessageHandler registered for the originating JID.
msh | The MessageSessionHandler that will receive the newly created MessageSession. |
types | ORed StanzaSubType's that describe the desired message types the handler shall receive. Only StanzaMessage* types are valid. A value of 0 means any type (default). |
Definition at line 1033 of file clientbase.cpp.
void registerMUCInvitationHandler | ( | MUCInvitationHandler * | mih | ) |
Registers a MUCInvitationHandler with the ClientBase.
mih | The MUCInvitationHandler to register. |
Definition at line 1217 of file clientbase.cpp.
void registerPresenceHandler | ( | PresenceHandler * | ph | ) |
Registers ph
as object that receives Presence stanza notifications.
ph | The object to receive Presence stanza notifications. |
Definition at line 1048 of file clientbase.cpp.
void registerPresenceHandler | ( | const JID & | jid, |
PresenceHandler * | ph | ||
) |
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.
jid | The JID to 'watch'. |
ph | The PresenceHandler to inform about presence changes from jid . |
Definition at line 1060 of file clientbase.cpp.
void registerStanzaExtension | ( | StanzaExtension * | ext | ) |
Registers a new StanzaExtension with the StanzaExtensionFactory.
ext | The extension to register. |
Definition at line 849 of file clientbase.cpp.
void registerStatisticsHandler | ( | StatisticsHandler * | sh | ) |
Registers sh
as object that receives up-to-date connection statistics each time a Stanza is received or sent. Alternatively, you can use getStatistics() manually. Only one StatisticsHandler per ClientBase at a time is possible.
sh | The StatisticsHandler to register. |
Definition at line 1206 of file clientbase.cpp.
void registerSubscriptionHandler | ( | SubscriptionHandler * | sh | ) |
Registers sh
as object that receives Subscription stanza notifications.
sh | The object to receive Subscription stanza notifications. |
Definition at line 1169 of file clientbase.cpp.
void registerTagHandler | ( | TagHandler * | th, |
const std::string & | tag, | ||
const std::string & | xmlns | ||
) |
Registers th
as object that receives incoming packts with a given root tag qualified by the given namespace.
th | The object to receive Subscription packet notifications. |
tag | The element's name. |
xmlns | The element's namespace. |
Definition at line 1181 of file clientbase.cpp.
void removeConnectionListener | ( | ConnectionListener * | cl | ) |
Removes the given object from the list of connection listeners.
cl | The object to remove from the list. |
Definition at line 1238 of file clientbase.cpp.
void removeIDHandler | ( | IqHandler * | ih | ) |
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.
ih | The IqHandler to remove. |
Definition at line 1087 of file clientbase.cpp.
void removeIqHandler | ( | IqHandler * | ih, |
int | exttype | ||
) |
Removes the given IQ handler for the given extension type.
ih | The IqHandler. |
exttype | The extension type. See StanzaExtensionType . |
Definition at line 1118 of file clientbase.cpp.
void removeMessageHandler | ( | MessageHandler * | mh | ) |
Removes the given object from the list of message handlers.
mh | The object to remove from the list. |
Definition at line 1163 of file clientbase.cpp.
void removeMUCInvitationHandler | ( | ) |
Removes the currently registered MUCInvitationHandler.
Definition at line 1226 of file clientbase.cpp.
bool removePresenceExtension | ( | int | type | ) |
Removes the StanzaExtension of the given type from the list of Presence StanzaExtensions. Use addPresenceExtension() to replace an already added type.
Definition at line 1495 of file clientbase.cpp.
void removePresenceHandler | ( | PresenceHandler * | ph | ) |
Removes the given object from the list of presence handlers.
ph | The object to remove from the list. |
Definition at line 1054 of file clientbase.cpp.
void removePresenceHandler | ( | const JID & | jid, |
PresenceHandler * | ph | ||
) |
Removes the given object from the list of presence handlers for the given JID.
jid | The JID to remove the PresenceHandler(s) for. |
ph | The PresenceHandler to remove from the list. If ph is 0, all handlers for the given JID will be removed. |
Definition at line 1071 of file clientbase.cpp.
bool removeStanzaExtension | ( | int | ext | ) |
Removes the given StanzaExtension type from the StanzaExtensionFactory.
ext | The extension type. |
Definition at line 857 of file clientbase.cpp.
void removeStatisticsHandler | ( | ) |
Removes the current StatisticsHandler.
Definition at line 1212 of file clientbase.cpp.
void removeSubscriptionHandler | ( | SubscriptionHandler * | sh | ) |
Removes the given object from the list of subscription handlers.
sh | The object to remove from the list. |
Definition at line 1175 of file clientbase.cpp.
void removeTagHandler | ( | TagHandler * | th, |
const std::string & | tag, | ||
const std::string & | xmlns | ||
) |
Removes the given object from the list of tag handlers for the given element and namespace.
th | The object to remove from the list. |
tag | The element to remove the handler for. |
xmlns | The namespace qualifying the element. |
Definition at line 1193 of file clientbase.cpp.
|
inline |
Returns whether SASL is currently enabled (not necessarily used).
Definition at line 199 of file clientbase.h.
void send | ( | Tag * | tag | ) |
Sends the given Tag over an established connection. The ClientBase object becomes the owner of this Tag and will delete it after sending it. You should not rely on the existance of the Tag after it's been sent. If you still need it after sending it, use Tag::clone() to create a deep copy.
tag | The Tag to send. |
Definition at line 808 of file clientbase.cpp.
Sends the given IQ stanza. The given IqHandler is registered to be notified of replies. This, of course, only works for IQs of type get or set. An ID is added if necessary.
iq | The IQ stanza to send. |
ih | The handler to register for replies. |
context | A value that allows for restoring context. |
del | Whether or not delete the IqHandler object after its being called. Default: false. |
Definition at line 750 of file clientbase.cpp.
void send | ( | const IQ & | iq | ) |
A convenience function that sends the given IQ stanza.
iq | The IQ stanza to send. |
Definition at line 769 of file clientbase.cpp.
void send | ( | const Message & | msg | ) |
A convenience function that sends the given Message stanza.
msg | The Message stanza to send. |
Definition at line 778 of file clientbase.cpp.
void send | ( | const Subscription & | sub | ) |
A convenience function that sends the given Subscription stanza.
sub | The Subscription stanza to send. |
Definition at line 787 of file clientbase.cpp.
void send | ( | const Presence & | pres | ) |
A convenience function that sends the given Presence stanza.
pres | The Presence stanza to send. |
Definition at line 796 of file clientbase.cpp.
|
inline |
Returns the current prepped server.
Definition at line 193 of file clientbase.h.
|
inline |
Use this function to set an authentication ID (authcid) for SASL PLAIN. The default authcid is the username, i.e. the JID's node part. This should work in most cases. If this is not what you want to use for authentication, use this function.
authcid | The authentication ID. |
Definition at line 356 of file clientbase.h.
|
inlineprotected |
Tells ClientBase that authentication was successful (or not).
authed | Whether or not authentication was successful. |
Definition at line 724 of file clientbase.h.
|
inlineprotected |
If authentication failed, this function tells ClientBase the reason.
e | The reason for the authentication failure. |
Definition at line 731 of file clientbase.h.
|
inline |
Use this function to set an authorization ID (authzid). Provided the server supports it and the user has sufficient rights, they could then authenticate as bob@e but act as xamp le.ne talice. @exa mple. net
Definition at line 346 of file clientbase.h.
|
inline |
Use this function to set a number of trusted root CA certificates which shall be used to verify a servers certificate.
cacerts | A list of absolute paths to CA root certificate files in PEM format. |
Definition at line 533 of file clientbase.h.
void setClientCert | ( | const std::string & | clientKey, |
const std::string & | clientCerts | ||
) |
Use this function to set the user's certificate and private key. The certificate will be presented to the server upon request and can be used for SASL EXTERNAL authentication. The user's certificate file should be a bundle of more than one certificate in PEM format. The first one in the file should be the user's certificate, each cert following that one should have signed the previous one.
clientKey | The absolute path to the user's private key in PEM format. |
clientCerts | A path to a certificate bundle in PEM format. |
Definition at line 418 of file clientbase.cpp.
|
inline |
Switches usage of Stream Compression on/off (if available). Default: on if available. Stream Compression should only be disabled if there are problems with using it.
compression | Whether to switch Stream Compression usage on or off. |
Definition at line 165 of file clientbase.h.
void setConnectionImpl | ( | ConnectionBase * | cb | ) |
Use this function if you have a class implementing a UDP, SCTP (or whatever) connection. This should be called before calling connect(). If there already is a connection implementation set (either manually or automatically), it gets deleted.
cb | The connection to use. |
Definition at line 943 of file clientbase.cpp.
|
inlineprotected |
Sets the domain to use in SASL NTLM authentication.
domain | The domain. |
Definition at line 769 of file clientbase.h.
|
inline |
Sets the password to use to connect to the XMPP server.
password | The password to use for authentication. |
Definition at line 187 of file clientbase.h.
|
inline |
Sets the port to connect to. This is not necessary if either the default port (5222) is used or SRV records exist which will be resolved.
port | The port to connect to. |
Definition at line 172 of file clientbase.h.
|
inline |
Switches usage of SASL on/off. Default: on. SASL should only be disabled if there are problems with using it.
sasl | Whether to switch SASL usage on or off. |
Definition at line 151 of file clientbase.h.
|
inline |
Use this function to limit SASL mechanisms gloox can use. By default, all supported mechanisms are allowed. To exclude one (or more) mechanisms, remove it from SaslMechAll like so:
mechanisms | Bitwise ORed SaslMechanism. |
Definition at line 368 of file clientbase.h.
void setServer | ( | const std::string & | server | ) |
Sets the XMPP server to connect to.
server | The server to connect to. Either IP or fully qualified domain name. |
Definition at line 411 of file clientbase.cpp.
|
inline |
Sets the TLS policy. Default: TLS will be used if available. TLS should only be disabled if there are problems with using it.
tls | The TLS policy. |
Definition at line 158 of file clientbase.h.
|
inline |
Sets the value for the xml:lang attribute of the initial stream.
xmllang | The language identifier for the stream. It must conform to section 2.12 of the XML specification and RFC 3066. Default is 'en'. |
Definition at line 307 of file clientbase.h.
|
protected |
Starts authentication using the given SASL mechanism.
type | A SASL mechanism to use for authentication. |
Definition at line 424 of file clientbase.cpp.
|
protected |
Starts the TLS handshake.
Definition at line 406 of file clientbase.cpp.
ConnectionState state | ( | ) | const |
Returns the current connection status.
Definition at line 873 of file clientbase.cpp.
|
inline |
Use this function to retrieve the type of the stream error after it occurs and you received a ConnectionError of type ConnStreamError from the ConnectionListener.
Definition at line 572 of file clientbase.h.
|
inline |
This function can be used to retrieve the application-specific error condition of a stream error.
Definition at line 598 of file clientbase.h.
|
inline |
In case the defined-condition element of an stream error contains XML character data you can use this function to retrieve it. RFC 3920 only defines one condition (see-other-host)where this is possible.
Definition at line 591 of file clientbase.h.
const std::string & streamErrorText | ( | const std::string & | lang = "default" | ) | const |
Returns the text of a stream error for the given language if available. If the requested language is not available, the default text (without a xml:lang attribute) will be returned.
lang | The language identifier for the desired language. It must conform to section 2.12 of the XML specification and RFC 3066. If empty, the default body will be returned, if any. |
Definition at line 1027 of file clientbase.cpp.
|
inline |
Returns whether TLS is currently enabled (not necessarily used).
Definition at line 205 of file clientbase.h.
|
inlinevirtual |
Reimplement this function to provide a username for connection purposes.
Definition at line 135 of file clientbase.h.
void whitespacePing | ( | ) |
|
inline |
Retrieves the value of the xml:lang attribute of the initial stream. Default is 'en', i.e. if not changed by a call to setXmlLang().
Definition at line 299 of file clientbase.h.
void xmppPing | ( | const JID & | to, |
EventHandler * | eh | ||
) |
Sends a XMPP Ping (XEP-0199) to the given JID.
to | Then entity to ping. |
eh | An EventHandler to inform about the reply. |
Definition at line 883 of file clientbase.cpp.
|
protected |
An alternative authentication ID. See setAuthcid().
Definition at line 785 of file clientbase.h.
|
protected |
Whether authentication has been completed successfully.
Definition at line 813 of file clientbase.h.
|
protected |
An optional authorization ID. See setAuthzid().
Definition at line 784 of file clientbase.h.
|
protected |
The SASL mechanisms the server offered.
Definition at line 820 of file clientbase.h.
|
protected |
Whether blocking connection is wanted.
Definition at line 814 of file clientbase.h.
|
protected |
TLS client certificates.
Definition at line 800 of file clientbase.h.
|
protected |
TLS client private key.
Definition at line 801 of file clientbase.h.
|
protected |
Whether stream compression is desired at all.
Definition at line 812 of file clientbase.h.
|
protected |
Used for connection compression.
Definition at line 788 of file clientbase.h.
|
protected |
Indicates whether or not stream compression is currently activated.
Definition at line 808 of file clientbase.h.
|
protected |
The transport connection.
Definition at line 786 of file clientbase.h.
|
protected |
The local Service Discovery client.
Definition at line 789 of file clientbase.h.
|
protected |
Used for connection encryption.
Definition at line 787 of file clientbase.h.
|
protected |
Indicates whether or not stream encryption is currently activated.
Definition at line 810 of file clientbase.h.
|
protected |
The 'self' JID.
Definition at line 783 of file clientbase.h.
|
protected |
Default namespace.
Definition at line 802 of file clientbase.h.
|
protected |
Client's password.
Definition at line 803 of file clientbase.h.
|
protected |
The port to connect to, if not to be determined by querying the server's SRV records.
Definition at line 817 of file clientbase.h.
|
protected |
A list of permanent presence extensions.
Definition at line 792 of file clientbase.h.
|
protected |
Whether SASL authentication is wanted.
Definition at line 815 of file clientbase.h.
|
protected |
The currently selected resource. See Client::selectResource() and Client::bindRessource().
Definition at line 796 of file clientbase.h.
|
protected |
The server to connect to, if different from the JID's server.
Definition at line 805 of file clientbase.h.
|
protected |
The stream ID.
Definition at line 807 of file clientbase.h.
|
protected |
The current TLS policy.
Definition at line 816 of file clientbase.h.
|
protected |
Default value of the xml:lang attribute.
Definition at line 804 of file clientbase.h.