COOPY » Guide
version 0.6.5
|
00001 #ifndef CSVSHEET_COMPARE_INC 00002 #define CSVSHEET_COMPARE_INC 00003 00004 #include <coopy/DataSheet.h> 00005 #include <coopy/MergeOutput.h> 00006 #include <coopy/CompareFlags.h> 00007 #include <coopy/SheetView.h> 00008 #include <coopy/OrderResult.h> 00009 00010 namespace coopy { 00011 namespace cmp { 00012 class SheetCompare; 00013 } 00014 } 00015 00016 class coopy::cmp::SheetCompare { 00017 public: 00018 int compare(coopy::store::DataSheet& pivot, 00019 coopy::store::DataSheet& local, 00020 coopy::store::DataSheet& remote, 00021 Patcher& output, const CompareFlags& flags, 00022 const char *output_name = 0/*NULL*/); 00023 00024 void setVerbose(bool verbose); 00025 00026 private: 00027 00028 int homogeneousCompare(coopy::store::DataSheet& pivot, 00029 coopy::store::DataSheet& local, 00030 coopy::store::DataSheet& remote, 00031 Patcher& output, const CompareFlags& flags); 00032 00033 void doRowMapping(coopy::cmp::OrderResult& p2l_row_order, 00034 coopy::cmp::OrderResult& p2r_row_order, 00035 const coopy::cmp::OrderResult& p2l_col_order, 00036 const coopy::cmp::OrderResult& p2r_col_order, 00037 const coopy::cmp::CompareFlags& flags, 00038 const coopy::cmp::CompareFlags& eflags, 00039 coopy::store::SheetView& vpivot, 00040 coopy::store::SheetView& vlocal, 00041 coopy::store::SheetView& vremote, 00042 bool approx); 00043 00044 void doColMapping(const coopy::cmp::OrderResult& p2l_row_order, 00045 const coopy::cmp::OrderResult& p2r_row_order, 00046 coopy::cmp::OrderResult& p2l_col_order, 00047 coopy::cmp::OrderResult& p2r_col_order, 00048 const coopy::cmp::CompareFlags& flags, 00049 const coopy::cmp::CompareFlags& eflags, 00050 coopy::store::SheetView& vpivot, 00051 coopy::store::SheetView& vlocal, 00052 coopy::store::SheetView& vremote); 00053 }; 00054 00055 #endif