SyncClient Class Reference
[Sync Client]

This class wraps the common operations executed by a typical client. More...

#include <SyncClient.h>

Collaboration diagram for SyncClient:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual int sync (SyncManagerConfig &config, SyncSource **sources)
virtual int sync (SyncManagerConfig &config, char **sourceNames=NULL)
 Execute a synchronization with sources that are chosen based on the sourceNames param or, if sourceNames is NULL, based on the configuration: in this case all available sources will be used.
SyncReportgetSyncReport ()

Protected Member Functions

virtual int prepareSync (SyncManagerConfig &config)
 A callback into a derived class which is called after reading the SyncML configuration and before creating sources.
virtual int createSyncSource (const char *name, const int pos, SyncSourceConfig *config, SyncSource **source)
 A factory method that is used by the sync() call to create the sync sources that are to be synchronized.
virtual int beginSync (SyncSource **source)
 Callback invoked after creating all sources.
virtual int endSync (SyncSource **source)
 Callback invoked after the sync process.
virtual int continueAfterPrepareSync ()
 Callback invoked after the prepareSync function.
virtual int continueAfterSync ()
 Callback invoked after the sync function.

Protected Attributes

SyncReport syncReport

Detailed Description

This class wraps the common operations executed by a typical client.

It contains default implementations for calls invoked by the library core to parameterize or control the synchronization. A client can override these calls by subclassing SyncClient and using an instance of its own class instead.

Warning: the library contains global data in several different places. Therefore it is not possible to execute multiple sessions in parallel.


Member Function Documentation

virtual int SyncClient::sync ( SyncManagerConfig config,
char **  sourceNames = NULL 
) [virtual]

Execute a synchronization with sources that are chosen based on the sourceNames param or, if sourceNames is NULL, based on the configuration: in this case all available sources will be used.

This version of the call is easier to use for clients whose sync sources are determined by the configuration or by an array of desired sources to sync

Parameters:
config,: the configuration to be used for this sync
sourceNames,: optional, a NULL terminated array of source names that we want to sync. If NULL, sources to sync are chosen from the configuration.
Returns:
0 on success, an error otherwise

virtual int SyncClient::prepareSync ( SyncManagerConfig config  )  [inline, protected, virtual]

A callback into a derived class which is called after reading the SyncML configuration and before creating sources.

Not used by the sync(SyncSource**) call.

Parameters:
config a reference to SyncManager configuration can be used to read client specific properties
Returns:
0 for success, an error code otherwise - an error code aborts the whole synchronization

virtual int SyncClient::createSyncSource ( const char *  name,
const int  pos,
SyncSourceConfig config,
SyncSource **  source 
) [inline, protected, virtual]

A factory method that is used by the sync() call to create the sync sources that are to be synchronized.

Not used by the sync(SyncSource**) call.

Parameters:
name name of the sync source
pos position of the SyncSource in the SSConfig array (index: 0 - numSources-1)
config a pointer to the source's configuration: this includes all properties that the client library knows and uses itself (only valid during this call) This pointer is owned by SyncManagerConfig, sources uses it to initialize the internal config by reference.
Return values:
source the sync source created by the client or NULL if there is no sync source currently associated with the config or it is inactive; instance is a new SyncSource* and it's freed by the caller (see finally)
Returns:
0 for success, an error code otherwise - an error code aborts the whole synchronization and the value of *source is ignored

virtual int SyncClient::beginSync ( SyncSource **  source  )  [inline, protected, virtual]

Callback invoked after creating all sources.

Returns:
0 for success, an error code otherwise - an error code stops immediately

virtual int SyncClient::endSync ( SyncSource **  source  )  [inline, protected, virtual]

Callback invoked after the sync process.

Returns:
: 0 for success, an error code otherwise

virtual int SyncClient::continueAfterPrepareSync (  )  [inline, protected, virtual]

Callback invoked after the prepareSync function.

Returns:
0 for success, an error code otherwise - an error code stops immediately

virtual int SyncClient::continueAfterSync (  )  [inline, protected, virtual]

Callback invoked after the sync function.

Returns:
: 0 for success, an error code otherwise


The documentation for this class was generated from the following file:
Generated on Fri Apr 27 12:29:23 2007 for Funambol C++ Client Library by  doxygen 1.5.2