An implementation of XEP-0013 (Flexible Offline Message Retrieval). More...
#include <flexoff.h>
Inherits gloox::DiscoHandler, and gloox::IqHandler.
Public Member Functions | |
FlexibleOffline (ClientBase *parent) | |
virtual | ~FlexibleOffline () |
void | checkSupport () |
void | getMsgCount () |
void | fetchHeaders () |
void | fetchMessages (const StringList &msgs) |
void | removeMessages (const StringList &msgs) |
void | registerFlexibleOfflineHandler (FlexibleOfflineHandler *foh) |
void | removeFlexibleOfflineHandler () |
virtual void | handleDiscoInfo (const JID &from, const Disco::Info &info, int context) |
virtual void | handleDiscoItems (const JID &from, const Disco::Items &items, int context) |
virtual void | handleDiscoError (const JID &from, const Error *error, int context) |
virtual bool | handleIq (const IQ &iq) |
virtual void | handleIqID (const IQ &iq, int context) |
An implementation of XEP-0013 (Flexible Offline Message Retrieval).
Use the FlexibleOfflineHandler to receive results.
Definition at line 34 of file flexoff.h.
FlexibleOffline | ( | ClientBase * | parent | ) |
Creates a new FlexibleOffline object that manages retrieval of offline messages.
parent | The ClientBase to use for communication. |
Definition at line 61 of file flexoff.cpp.
~FlexibleOffline | ( | ) | [virtual] |
Virtual Destructor.
Definition at line 68 of file flexoff.cpp.
void checkSupport | ( | ) |
Initiates querying the server for Flexible Offline Message Retrieval-support. The result is announced through the FlexibleOfflineHandler. An application could cache the result on a per-server basis to eliminate the associated delay.
Definition at line 74 of file flexoff.cpp.
void fetchHeaders | ( | ) |
Initiates fetching the offline message headers. The result is announced through the FlexibleOfflineHandler.
Definition at line 84 of file flexoff.cpp.
void fetchMessages | ( | const StringList & | msgs | ) | [inline] |
Initiates fetching of one or more specific messages, or all messages. The result is announced through the FlexibleOfflineHandler. If the list of message nodes contains one or more nodes, the corresponding messages are fetched. If the list is empty all messages are fetched (<fetch>).
msgs | A list of message nodes to fetch. |
void getMsgCount | ( | ) |
Asks the server for the number of stored offline messages. The result is announced through the FlexibleOfflineHandler.
Definition at line 79 of file flexoff.cpp.
Reimplement this function to receive disco error notifications.
from | The sender of the error result. | |
error | The Error. May be 0. | |
context | A context identifier. |
Implements DiscoHandler.
Definition at line 138 of file flexoff.cpp.
void handleDiscoInfo | ( | const JID & | from, | |
const Disco::Info & | info, | |||
int | context | |||
) | [virtual] |
Reimplement this function if you want to be notified about the result of an disco::info query.
from | The sender of the disco::info result. | |
info | The Info. | |
context | A context identifier. |
Implements DiscoHandler.
Definition at line 108 of file flexoff.cpp.
void handleDiscoItems | ( | const JID & | from, | |
const Disco::Items & | items, | |||
int | context | |||
) | [virtual] |
Reimplement this function if you want to be notified about the result of a disco::items query.
from | The sender of the disco::items result. | |
items | The Items. | |
context | A context identifier. |
Implements DiscoHandler.
Definition at line 129 of file flexoff.cpp.
virtual bool handleIq | ( | const IQ & | iq | ) | [inline, virtual] |
Reimplement this function if you want to be notified about incoming IQs.
iq | The complete IQ stanza. |
Implements IqHandler.
void handleIqID | ( | const IQ & | iq, | |
int | context | |||
) | [virtual] |
Reimplement this function if you want to be notified about incoming IQs with a specific value of the id
attribute. You have to enable tracking of those IDs using Client::trackID(). This is usually useful for IDs that generate a positive reply, i.e. <iq type='result' id='reg'/> where a namespace filter wouldn't work.
iq | The complete IQ stanza. | |
context | A value to restore context, stored with ClientBase::trackID(). |
Implements IqHandler.
Definition at line 142 of file flexoff.cpp.
void registerFlexibleOfflineHandler | ( | FlexibleOfflineHandler * | foh | ) |
Registers a FlexibleOfflineHandler as object that receives results of XEP-0013 queries. Only one Handler at a time is possible.
foh | The Handler object to register. |
Definition at line 98 of file flexoff.cpp.
void removeFlexibleOfflineHandler | ( | ) |
Removes the registered handler.
Definition at line 103 of file flexoff.cpp.
void removeMessages | ( | const StringList & | msgs | ) | [inline] |
Initiates removing of one or more specific messages, or all messages. The result is announced through the FlexibleOfflineHandler. If the list of message nodes contains one or more nodes, the corresponding messages are removed. If the list is empty all messages are removed (<purge>).