Client Class Reference

`#include <linklocalclient.h>`

Inheritance diagram for Client:
[legend]

## Public Member Functions

| Client (const JID &jid)
virtual | ~Client ()
bool | connect ()
bool | connect (const std::string &service, const std::string &type, const std::string &domain, int iface=0)
virtual ConnectionError | recv (int timeout=-1)
virtual void | handleConnect (const ConnectionBase *connection)
Public Member Functions inherited from Client
| Client (const std::string &server)
| Client (const JID &jid, const std::string &password, int port=-1)
bool | bindResource (const std::string &resource)
bool | selectResource (const std::string &resource)
bool | hasResourceBind () const
bool | unbindResource (const std::string &resource)
const std::string & | resource () const
void | setStreamManagement (bool enable=true, bool resume=true)
void | ackStreamManagement ()
void | reqStreamManagement ()
int | priority () const
void | setUsername (const std::string &username)
void | setResource (const std::string &resource)
void | setPresence (const JID &to, Presence::PresenceType pres, int priority, const std::string &status=EmptyString)
void | setPresence (Presence::PresenceType pres, int priority, const std::string &status=EmptyString)
void | setPresence ()
void | setActive ()
void | setInactive ()
bool | hasClientStateIndication () const
Presence & | presence ()
GLOOX_DEPRECATED void | setForceNonSasl (bool force=true)
void | disableRoster ()
RosterManager * | rosterManager ()
void | disconnect ()
bool | login ()
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 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 | 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
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 | 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)
Protected Member Functions inherited from Client
void | nonSaslLogin ()
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)
void | header ()
void | setAuthed (bool authed)
void | setAuthFailure (AuthenticationError e)
virtual bool | checkStreamVersion (const std::string &version)
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
ConnectionBase * | m_connection
TLSBase * | m_encryption
CompressionBase * | 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_resourceBound
bool | m_block
bool | m_sasl
TLSPolicy | m_tls
int | m_port
int | m_availableSaslMechs
SMContext | m_smContext
int | m_smHandled

## Detailed Description

An implementation of a link-local client.

See Manager for more information on how to implement link-local messaging.

Author
  Jakob Schröter js@ca.nosp@m.maya.nosp@m..net

Since
  1.0.x

Definition at line 45 of file linklocalclient.h.

## Constructor & Destructor Documentation

## Client()

Client | ( | const JID & | jid | ) |

Constructs a new instance.

Parameters

  jid | The local JID to use.

Definition at line 40 of file linklocalclient.cpp.

## ~Client()

~Client | ( |  | ) |

virtual

Virtual destructor.

Reimplemented from Client.

Definition at line 46 of file linklocalclient.cpp.

## Member Function Documentation

## connect() [1/2]

bool connect | ( |  | ) |

Internally sets up an already connected connection.

Note
  Use this function only on a Client instance that you created for an incoming connection.

Definition at line 50 of file linklocalclient.cpp.

## connect() [2/2]

bool connect | ( | const std::string & | service,
|  | const std::string & | type,
|  | const std::string & | domain,
|  | int | iface = 0 )

Starts resolving the given service. Use values from Handler::handleBrowseReply().

Parameters

  service | The service to connect to.
  type | The service type.
  domain | The service's domain.
  iface | The network interface the service was found on. May be 0 to try to resolve the service on all available interfaces.

Returns
  True if resolving the service could be started successfully, false otherwise.

Note
  Use this function only for outgoing connections.

Definition at line 55 of file linklocalclient.cpp.

## handleConnect()

void handleConnect | ( | const ConnectionBase * | connection | ) |

virtual

This function is called when e.g. the raw TCP connection was established.

Parameters

  connection | The connection.

Reimplemented from ClientBase.

Definition at line 181 of file linklocalclient.cpp.

## handleStartNode()

void handleStartNode | ( | const Tag * | start | ) |

protected virtual

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

Parameters

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

Reimplemented from Client.

Definition at line 197 of file linklocalclient.cpp.

## recv()

ConnectionError recv | ( | int | timeout = -1 | ) |

virtual

Call this periodically to receive data from the underlying socket.

Parameters

  timeout | An optional timeout in microseconds. Default of -1 means blocking until data was available.

Returns
  The state of the underlying connection.

Reimplemented from ClientBase.

Definition at line 62 of file linklocalclient.cpp.

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

- linklocalclient.h
- linklocalclient.cpp