We announced a new communications product, Hangouts, in May 2013. Hangouts will replace Google Talk and does not support XMPP.

XmppEngine Class

The underlying XMPP connection engine managed by XmppClient. This class implements the client side of the 'core' XMPP protocol. This class is a pure virtual class run and managed by XmppClient. The methods are not documented because you should not need to call them yourself. However, the enumerations described here are used elsewhere.


class XmppEngine 

XmppEngine defines the following enumerations.


Describes the various connection errors that can occur.

Value Description
ERROR_NONE No error (OK).
ERROR_XML Malformed XML error.
ERROR_STREAM An XMPP stream error.
ERROR_VERSION The XMPP version was incorrect.
ERROR_UNAUTHORIZED The user's credentials have been rejected.
ERROR_TLS A TLS connection could not be established.
ERROR_AUTH Authentication could not be negotiated.
ERROR_BIND The resource or session could not be bound.
ERROR_CONNECTION_CLOSED The connection was closed unexpectedly (not by calling Disconnect).
ERROR_DOCUMENT_CLOSED Connection colsed by </stream:stream>. Call GetStreamError for details.
ERROR_SOCKET Unspecified socket error.


Determines the order in which child Task objects are queried to see whether they can handle an incoming stanza. The lower the Task object's handler level, the higher its priority to see the stanza. If two Task objects have the same handler level, one at random will be given the stanza first. The handler level is defined in the Task object constructor. The following values are defined:

enum HandlerLevel {
    HL_NONE = 0,


Describes the progress of a sign in attempt on a server.

Value Description
STATE_NONE An error has occurred and the underlying engine could not be created.
STATE_START Initial state: sign in has not yet begun.
STATE_OPENING Sign in is proceding but not yet complete.
STATE_OPEN Signed in to the server.
STATE_CLOSED The sign in session has closed.


Attributes: public

Declaration file: talk/xmpp/xmppengine.h