KDE PIM / Developers / API Docs / kitchensync

KSync::Syncer Class Reference

This class provides syncing of sets of data entries. More...

#include <syncer.h>

List of all members.

Public Member Functions


Detailed Description

This class provides syncing of sets of data entries.

Author:
Cornelius Schumacher, zecke
See also:
SyncEntry, Syncee, SyncUi
The Syncer class provides the top level framework for syncing. It implements the actual syncing algorithm, which operates on data objects implementing the Syncee and SyncEntry interfaces. By this mechanism the syncing algorithm is decoupled from the concrete type of data and has to be implemented only once.

To perform a syncing process you have to create objects of the concrete subclasses of Syncee, representing the type of the data to be synced. They are added to Syncer with the function addSyncee(). When all data sets to be synced are added, call the sync() functions to perform the actual syncing.

For conflict resolution, a user interface is needed. This has to be a subclass of SyncUi and is provided, when constructing a Syncer instance.


Constructor & Destructor Documentation

Syncer::Syncer (  SyncUi *  ui = 0,
SyncAlgorithm *  algorithm = 0
) 
 

Create a Syncer instance.

You have to provide an instance of a conflict resolution user interface, which is used to resolve conflicts in the synced data, which cannot be resolved automatically. The UI does not necessarily have to be interactive.


Member Function Documentation

void Syncer::setSyncAlgorithm (  SyncAlgorithm *   ) 
 

Sets the syncing algorithm which is used to perform the sync.

void Syncer::setSyncUi (  SyncUi *   ) 
 

Sets user interface handler which is used for resolving conflicts.

void Syncer::addSyncee (  Syncee *   ) 
 

Add a data set, which is to be synced.

void Syncer::clear (   ) 
 

Removes all Syncee objects added with addSyncee from the Syncer.

void Syncer::sync (   ) 
 

Sync all data sets.

After execution of this functions all data sets, which have been added to Syncer contain the same set of data.

This function might call conflict resolution functions of the SyncUi object.

void Syncer::syncAllToTarget (  Syncee *  target,
bool  writeback = false
) 
 

Sync all data sets with a target data sets.

After execution of this function the target Syncee data set contains a combination of all data sets added to Syncer. The added data sets are not changed.

This function might call conflict resolution functions of the SyncUi object.

void Syncer::syncToTarget (  Syncee *  syncee,
Syncee *  target,
bool  override = false
) 
 

Sync one specific data set to a target data set.

After execution of this function the target contains the combination of the two data sets. Only the target is changed.

This function might call conflict resolution functions of the SyncUi object.


The documentation for this class was generated from the following files: