kitchensync
syncalgorithm.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KSYNC_SYNCALGORITHM_H
00022 #define KSYNC_SYNCALGORITHM_H
00023
00024 namespace KSync {
00025
00026 class Syncee;
00027 class SyncEntry;
00028 class SyncUi;
00029
00034 class SyncAlgorithm
00035 {
00036 public:
00040 SyncAlgorithm( SyncUi *ui = 0 ) { mUi = ui; }
00041
00045 virtual ~SyncAlgorithm() {}
00046
00047 void setUi( SyncUi *ui );
00048
00057 virtual void syncToTarget( Syncee *syncee, Syncee *target,
00058 bool override = false ) = 0;
00059
00060 protected:
00061 SyncEntry *deconflict( SyncEntry* syncEntry, SyncEntry *target );
00062 bool confirmDelete( SyncEntry* syncEntry, SyncEntry* target );
00063 void informBothDeleted( SyncEntry* syncEntry, SyncEntry* target );
00064
00065 private:
00066 SyncUi *mUi;
00067
00068 class SyncAlgorithmPrivate;
00069 SyncAlgorithmPrivate* d;
00070 };
00071
00072 }
00073
00074 #endif
|