00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KSYNC_XMLDIFFALGO_H
00023 #define KSYNC_XMLDIFFALGO_H
00024
00025 #include <tqdom.h>
00026
00027 #include <libkdepim/diffalgo.h>
00028
00029 using namespace KPIM;
00030
00031 namespace KSync {
00032
00033 class XmlDiffAlgo : public DiffAlgo
00034 {
00035 public:
00036 XmlDiffAlgo( const TQString &leftXml, const TQString &rightXml );
00037 XmlDiffAlgo( const TQDomDocument &leftXml, const TQDomDocument &rightXml );
00038
00039 void run();
00040
00041 private:
00042 void appendConflictNodes(TQDomElement &leftElement, TQDomElement &rightElement);
00043 void appendSingleNodes(TQDomElement &element, bool isLeft);
00044
00045
00046 void compareNode(TQDomElement &leftElement, TQDomElement &rightElement);
00047
00048 TQDomDocument mLeftXml;
00049 TQDomDocument mRightXml;
00050 };
00051
00052 }
00053
00054 #endif