FlexibleOffline Class Reference

An implementation of XEP-0013 (Flexible Offline Message Retrieval). More...

#include <flexoff.h>

Inherits gloox::DiscoHandler, and gloox::IqHandler.

List of all members.

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)

Detailed Description

An implementation of XEP-0013 (Flexible Offline Message Retrieval).

Use the FlexibleOfflineHandler to receive results.

Author:
Jakob Schroeter <js@camaya.net>
Since:
0.7

Definition at line 34 of file flexoff.h.


Constructor & Destructor Documentation

FlexibleOffline ( ClientBase parent  ) 

Creates a new FlexibleOffline object that manages retrieval of offline messages.

Parameters:
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.


Member Function Documentation

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

Parameters:
msgs A list of message nodes to fetch.

Definition at line 74 of file flexoff.h.

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.

void handleDiscoError ( const JID from,
const Error error,
int  context 
) [virtual]

Reimplement this function to receive disco error notifications.

Parameters:
from The sender of the error result.
error The Error. May be 0.
context A context identifier.
Since:
1.0

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.

Parameters:
from The sender of the disco::info result.
info The Info.
context A context identifier.
Since:
1.0

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.

Parameters:
from The sender of the disco::items result.
items The Items.
context A context identifier.
Since:
1.0

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.

Parameters:
iq The complete IQ stanza.
Returns:
Indicates whether a request of type 'get' or 'set' has been handled. This includes the obligatory 'result' answer. If you return false, a 'error' will be sent.
Since:
1.0

Implements IqHandler.

Definition at line 108 of file flexoff.h.

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.

Parameters:
iq The complete IQ stanza.
context A value to restore context, stored with ClientBase::trackID().
Note:
Only IQ stanzas of type 'result' or 'error' can arrive here.
Since:
1.0

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.

Parameters:
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>).

Definition at line 83 of file flexoff.h.


The documentation for this class was generated from the following files:
Generated on Tue Jun 8 23:37:56 2010 for gloox by  doxygen 1.6.3