gloox  1.0.27
Public Member Functions | Protected Member Functions | List of all members
Client Class Reference

#include <linklocalclient.h>

Inheritance diagram for Client:
Inheritance graph

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
Presencepresence ()
GLOOX_DEPRECATED void setForceNonSasl (bool force=true)
void disableRoster ()
RosterManagerrosterManager ()
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 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 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
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 gloox::LinkLocal::Manager for more information on how to implement link-local messaging.

Jakob Schröter

Definition at line 45 of file linklocalclient.h.

Constructor & Destructor Documentation

◆ Client()

Client ( const JID jid)

Constructs a new instance.

jidThe local JID to use.

Definition at line 40 of file linklocalclient.cpp.

◆ ~Client()

~Client ( )

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.

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().

serviceThe service to connect to.
typeThe service type.
domainThe service's domain.
ifaceThe network interface the service was found on. May be 0 to try to resolve the service on all available interfaces.
True if resolving the service could be started successfully, false otherwise.
Use this function only for outgoing connections.

Definition at line 55 of file linklocalclient.cpp.

◆ handleConnect()

void handleConnect ( const ConnectionBase connection)

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

connectionThe connection.

Reimplemented from ClientBase.

Definition at line 181 of file linklocalclient.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.

Reimplemented from Client.

Definition at line 197 of file linklocalclient.cpp.

◆ recv()

ConnectionError recv ( int  timeout = -1)

Call this periodically to receive data from the underlying socket.

timeoutAn optional timeout in microseconds. Default of -1 means blocking until data was available.
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: