PTLib
Version 2.10.4
|
This class handles the client side of a C2S (Client to Server) XMPP stream. More...
#include <xmpp_c2s.h>
enum XMPP::C2S::StreamHandler::StreamState [protected] |
XMPP::C2S::StreamHandler::StreamHandler | ( | const JID & | jid, |
const PString & | pwd, | ||
PBoolean | newAccount = false |
||
) |
virtual PBoolean XMPP::C2S::StreamHandler::Discover | ( | const PString & | xmlns, |
const PString & | jid, | ||
PNotifier * | responseHandler, | ||
const PString & | node | ||
) | [protected, virtual] |
virtual PBoolean XMPP::C2S::StreamHandler::DiscoverInfo | ( | const PString & | jid, |
PNotifier * | responseHandler, | ||
const PString & | node = PString::Empty() |
||
) | [virtual] |
jid | JID to which a query will be send |
responseHandler | Handler function for responses |
node | Optional node |
virtual PBoolean XMPP::C2S::StreamHandler::DiscoverItems | ( | const PString & | jid, |
PNotifier * | responseHandler, | ||
const PString & | node = PString::Empty() |
||
) | [virtual] |
PNotifierList& XMPP::C2S::StreamHandler::ErrorHandlers | ( | ) | [inline] |
These notifier lists are fired when a XMPP stanza or a stream error is received.
For the notifier lists to be fired the stream must be already in the established state (i.e. after the bind and the session state). The parameter passed to the notifiers is a reference to the received pdu
References m_ErrorHandlers.
const JID& XMPP::C2S::StreamHandler::GetJID | ( | ) | const [inline] |
References m_JID.
void XMPP::C2S::StreamHandler::GetVersion | ( | WORD & | major, |
WORD & | minor | ||
) | const |
virtual void XMPP::C2S::StreamHandler::HandleBindSentState | ( | PXML & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::HandleEstablishedState | ( | PXML & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::HandleNonSASLStartedState | ( | PXML & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::HandleNullState | ( | PXML & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::HandleRegStartedState | ( | PXML & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::HandleSessionSentState | ( | PXML & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::HandleStreamSentState | ( | PXML & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::HandleTLSStartedState | ( | PXML & | pdu | ) | [protected, virtual] |
PNotifierList& XMPP::C2S::StreamHandler::IQHandlers | ( | ) | [inline] |
References m_IQHandlers.
PNotifierList& XMPP::C2S::StreamHandler::IQNamespaceHandlers | ( | const PString & | xml_namespace | ) |
A notifier list for a specific namespace.
The list will be fired only upon receiving an IQ with the child element of the specified namespace
virtual PBoolean XMPP::C2S::StreamHandler::IsEstablished | ( | ) | const [inline, virtual] |
References Established, and m_State.
PNotifierList& XMPP::C2S::StreamHandler::MessageHandlers | ( | ) | [inline] |
References m_MessageHandlers.
PNotifierList& XMPP::C2S::StreamHandler::MessageSenderHandlers | ( | const JID & | from | ) |
A notifier list for a particular message originator.
The list will be fired only upon receiving a message from the specified jid. NOTE: if a matching notifier list is found and it's not emnpty, the generic MessageHandlers list IS NOT fired.
virtual void XMPP::C2S::StreamHandler::OnClose | ( | Stream & | stream, |
INT | |||
) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::OnElement | ( | PXML & | pdu | ) | [protected, virtual] |
Reimplemented from XMPP::BaseStreamHandler.
virtual void XMPP::C2S::StreamHandler::OnError | ( | PXML & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::OnIQ | ( | XMPP::IQ & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::OnMessage | ( | XMPP::Message & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::OnOpen | ( | Stream & | stream, |
INT | |||
) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::OnPresence | ( | XMPP::Presence & | pdu | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::OnSessionEstablished | ( | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::OnSessionReleased | ( | ) | [protected, virtual] |
PNotifierList& XMPP::C2S::StreamHandler::PresenceHandlers | ( | ) | [inline] |
References m_PresenceHandlers.
PBoolean XMPP::C2S::StreamHandler::Send | ( | Stanza * | stanza | ) |
Request the delivery of the specified stanza NOTE: the StreamHandler takes ownership of the stanza and will take care of deleting it.
BIG NOTE: use this method and not Write() if you want to get a notification when an answer to an iq arrives
These notifier lists after when a client session is established (i.e.
after the handshake and authentication steps are completed) or is released. The parameter passed to the notifiers is a reference to the stream handler
References m_SessionEstablishedHandlers.
References m_SessionReleasedHandlers.
virtual void XMPP::C2S::StreamHandler::SetState | ( | StreamState | s | ) | [protected, virtual] |
void XMPP::C2S::StreamHandler::SetVersion | ( | WORD | major, |
WORD | minor | ||
) |
virtual PBoolean XMPP::C2S::StreamHandler::Start | ( | Transport * | transport = 0 | ) | [virtual] |
Reimplemented from XMPP::BaseStreamHandler.
virtual void XMPP::C2S::StreamHandler::StartAuthNegotiation | ( | ) | [protected, virtual] |
virtual void XMPP::C2S::StreamHandler::StartRegistration | ( | ) | [protected, virtual] |
Referenced by ErrorHandlers().
PBoolean XMPP::C2S::StreamHandler::m_HasBind [protected] |
PBoolean XMPP::C2S::StreamHandler::m_HasSession [protected] |
PNotifierList XMPP::C2S::StreamHandler::m_IQHandlers [protected] |
Referenced by IQHandlers().
JID XMPP::C2S::StreamHandler::m_JID [protected] |
Referenced by GetJID().
Referenced by MessageHandlers().
PBoolean XMPP::C2S::StreamHandler::m_NewAccount [protected] |
const PString XMPP::C2S::StreamHandler::m_Password [protected] |
StanzaList XMPP::C2S::StreamHandler::m_PendingIQs [protected] |
PMutex XMPP::C2S::StreamHandler::m_PendingIQsLock [protected] |
Referenced by PresenceHandlers().
Referenced by SessionEstablishedHandlers().
Referenced by SessionReleasedHandlers().
StreamState XMPP::C2S::StreamHandler::m_State [protected] |
Referenced by IsEstablished().
PString XMPP::C2S::StreamHandler::m_StreamID [protected] |
WORD XMPP::C2S::StreamHandler::m_VersionMajor [protected] |
WORD XMPP::C2S::StreamHandler::m_VersionMinor [protected] |