COOPY » Guide  version 0.6.5
/home/paulfitz/cvs/coopy_scm/coopy/src/libcoopy_core/include/coopy/MergeOutputIndex.h
Go to the documentation of this file.
00001 #ifndef COOPY_MERGEOUTPUTINDEX
00002 #define COOPY_MERGEOUTPUTINDEX
00003 
00004 #include <coopy/MergeOutput.h>
00005 #include <coopy/PolySheet.h>
00006 #include <coopy/SheetSchema.h>
00007 
00008 namespace coopy {
00009   namespace cmp {
00010     class MergeOutputIndex;
00011   }
00012 }
00013 
00014 class coopy::cmp::MergeOutputIndex : public MergeOutput {
00015 private:
00016   void *implementation;
00017 
00018   coopy::store::PolySheet links;
00019   coopy::store::PolySheet links_column;
00020   coopy::store::SimpleSheetSchema links_column_schema;
00021   coopy::store::PolySheet identity;
00022   bool pending_row, sheet_set;
00023   coopy::store::PolySheet pivot, local, remote;
00024   std::vector<int> ipivot, ilocal, iremote;
00025   std::string name;
00026 
00027 public:
00028   MergeOutputIndex();
00029 
00030   virtual ~MergeOutputIndex();
00031 
00032   virtual bool wantDiff() { return false; }
00033 
00034   virtual bool mergeStart();
00035 
00036   virtual bool mergeDone();
00037 
00038   virtual bool mergeAllDone();
00039 
00040   virtual bool setSheet(const char *name);
00041 
00042   virtual bool declareLink(const LinkDeclare& decl);
00043 
00044   virtual bool wantLinks() { return true; }
00045 
00046   virtual bool needOutputBook() {
00047     return true;
00048   }
00049 };
00050 
00051 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines