kitchensync

KSync::SyncEntry Class Reference

#include <syncentry.h>

Inheritance diagram for KSync::SyncEntry:

KSync::AddressBookSyncEntry KSync::BookmarkSyncEntry KSync::CalendarSyncEntry KSync::OpieDesktopSyncEntry KSync::UnknownSyncEntry List of all members.

Detailed Description

An entry of a dataset which is to be synced.

Author:
Cornelius Schumacher
See also:
Syncee, Syncer
The SyncEntry class represents the basic unit of syncing. It provides an interface for identifying and comparing entries, which has to be implemented by concrete subclasses. This makes it possible to operate with one synchronisation algorithm on different Syncees.

SyncEntry objects are collected by a Syncee objects.

Definition at line 49 of file syncentry.h.


Public Types

enum  Equalness {
  Different = -1, Equal = 0, EqualButModifiedThis = 1, EqualButModifiedOther = 2,
  EqualButModifiedBoth = 3
}
enum  Status { Undefined = -1, Added = 0, Modified = 1, Removed = 2 }
typedef QPtrList< SyncEntryPtrList

Public Member Functions

 SyncEntry (Syncee *parent)
 SyncEntry (const SyncEntry &)
virtual ~SyncEntry ()
QString type () const
virtual QString name ()=0
virtual QString id ()=0
virtual void setId (const QString &id)
virtual QString timestamp ()=0
virtual bool equals (SyncEntry *)=0
virtual int match (SyncEntry *entry)
virtual int compareTo (SyncEntry *entry)
virtual int state () const
void setSyncState (int)
int syncState () const
virtual bool wasAdded () const
virtual bool wasModified () const
virtual bool wasRemoved () const
virtual void setState (int state=Undefined)
virtual SyncEntryclone ()=0
void setSyncee (Syncee *)
Synceesyncee () const
void setDontSync (bool)
bool dontSync () const
bool mergeWith (SyncEntry *other)
virtual KPIM::DiffAlgo * diffAlgo (SyncEntry *, SyncEntry *)

Protected Member Functions

void setType (const QString &)
Mergermerger () const

Constructor & Destructor Documentation

SyncEntry::SyncEntry ( Syncee parent  ) 

This is the basic constructor of a SyncEntry.

Every SyncEntry should have a parent Syncee where it belongs to.

Definition at line 33 of file syncentry.cpp.


Member Function Documentation

QString SyncEntry::type (  )  const

Return a string describing the type of the entry.

Reimplemented in KSync::OpieDesktopSyncEntry.

Definition at line 143 of file syncentry.cpp.

virtual QString KSync::SyncEntry::name (  )  [pure virtual]

Return a string describing this entry.

This is presented to the user as identifier for the entry, when user interaction is required.

Implemented in KSync::AddressBookSyncEntry, KSync::BookmarkSyncEntry, KSync::CalendarSyncEntry, KSync::OpieDesktopSyncEntry, and KSync::UnknownSyncEntry.

virtual QString KSync::SyncEntry::id (  )  [pure virtual]

Return a unique id.

This is used to uniquely identify the entry. Two entries having the same id are considered to be two variants of the same entry. No two entries of the same KSyncee data set must have the same id.

Implemented in KSync::AddressBookSyncEntry, KSync::BookmarkSyncEntry, KSync::CalendarSyncEntry, KSync::OpieDesktopSyncEntry, and KSync::UnknownSyncEntry.

void SyncEntry::setId ( const QString &  id  )  [virtual]

Set the ID of the underlying data.

This is needed for example if the UID is not trusted and could come from a device.

Reimplemented in KSync::AddressBookSyncEntry, and KSync::CalendarSyncEntry.

Definition at line 139 of file syncentry.cpp.

virtual QString KSync::SyncEntry::timestamp (  )  [pure virtual]

Return a time stamp representing the time of the last change.

This is only used to compare, if an entry has changed or not. It is not used to define an order of changes. If an entry has been copied from one KSyncee data set to another KSyncee data set, the timestamp has to be the same on both entries. If the user has changed the entry in one data set the timestamp has to be different.

Return QString::null, if there is no timestamp available. This means that the user has to manually select which entry is the new one.

Implemented in KSync::AddressBookSyncEntry, KSync::BookmarkSyncEntry, KSync::CalendarSyncEntry, KSync::OpieDesktopSyncEntry, and KSync::UnknownSyncEntry.

virtual bool KSync::SyncEntry::equals ( SyncEntry  )  [pure virtual]

Return, if the two entries are equal.

Two entries are considered to be equal, if they contain exactly the same information, including the same id and timestamp.

Implemented in KSync::AddressBookSyncEntry, KSync::BookmarkSyncEntry, KSync::CalendarSyncEntry, KSync::OpieDesktopSyncEntry, and KSync::UnknownSyncEntry.

int SyncEntry::match ( SyncEntry entry  )  [virtual]

For future versions match should try to match one SyncEntry with another.

Parameters:
entry The entry to be matched
Returns:
Return -1 if entry is from a different type than this entry or the percentage of equality. Or -2 if not implemented

Definition at line 56 of file syncentry.cpp.

int SyncEntry::compareTo ( SyncEntry entry  )  [virtual]

Compares one SyncEntry to another.

This functions differs from equals and match in some ways. it returns 0 if both are equal, -1 if not equal at all, or the state of equalnes Equal or EqualModifiedThis, EqualModifiedOther, EqualModifiedBoth -2 if not implemented

Definition at line 61 of file syncentry.cpp.

int SyncEntry::state (  )  const [virtual]

The status of this SyncEntry either Undefined, Added, Modified or Removed.

Definition at line 66 of file syncentry.cpp.

bool SyncEntry::wasAdded (  )  const [virtual]

Convience functions for the state of an Entry.

Definition at line 71 of file syncentry.cpp.

bool SyncEntry::wasModified (  )  const [virtual]

Convience function for the state of an Entry modified.

Definition at line 76 of file syncentry.cpp.

bool SyncEntry::wasRemoved (  )  const [virtual]

Convience function for the state of an Entry.

Definition at line 81 of file syncentry.cpp.

void SyncEntry::setState ( int  state = Undefined  )  [virtual]

Sets the stae of this SyncEntry.

Definition at line 86 of file syncentry.cpp.

virtual SyncEntry* KSync::SyncEntry::clone (  )  [pure virtual]

Creates an exact copy of the this SyncEntry deleting the original is save and does not influence the clone.

Syncee will be unset and SyncStates will be copied over as well.

Implemented in KSync::AddressBookSyncEntry, KSync::BookmarkSyncEntry, KSync::CalendarSyncEntry, KSync::OpieDesktopSyncEntry, and KSync::UnknownSyncEntry.

void SyncEntry::setSyncee ( Syncee  ) 

Set the Syncee data set, the entry belongs to.

Definition at line 51 of file syncentry.cpp.

Syncee * SyncEntry::syncee (  )  const

Return the Syncee data set, the entry belongs to.

Definition at line 101 of file syncentry.cpp.

void SyncEntry::setDontSync ( bool   ) 

Set if the entry should be synced or not.

Definition at line 106 of file syncentry.cpp.

KPIM::DiffAlgo * SyncEntry::diffAlgo ( SyncEntry ,
SyncEntry  
) [virtual]

Returns the diffing algorithm which is used to present the differences between the two SyncEntries when a conflict occurs.

Reimplemented in KSync::AddressBookSyncEntry, and KSync::CalendarSyncEntry.

Definition at line 133 of file syncentry.cpp.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys