Fennel: /home/pub/open/dev/fennel/common/DataVisitor.h Source File (original) (raw)
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 #ifndef Fennel_DataVisitor_Included 00025 #define Fennel_DataVisitor_Included 00026 00027 FENNEL_BEGIN_NAMESPACE 00028 00036 class FENNEL_COMMON_EXPORT DataVisitor 00037 { 00038 public: 00039 virtual ~DataVisitor(); 00040 virtual void preVisitDocument(std::string) = 0; 00041 virtual void postVisitDocument() = 0; 00042 virtual void preVisitTable(std::string title) = 0; 00043 virtual void postVisitTable() = 0; 00044 virtual void preVisitRow() = 0; 00045 virtual void postVisitRow() = 0; 00046 virtual void visitAttribute(std::string) = 0; 00047 virtual void visitString(std::string) = 0; 00048 virtual void visitChars(char const *, TupleStorageByteLength nChars) = 0; 00049 virtual void visitUnicodeChars(Ucs2ConstBuffer, uint nChars) = 0; 00050 virtual void visitUnsignedInt(uint64_t) = 0; 00051 virtual void visitSignedInt(int64_t) = 0; 00052 virtual void visitDouble(double) = 0; 00053 virtual void visitFloat(float) = 0; 00054 virtual void visitBoolean(bool) = 0; 00055 virtual void visitPageId(PageId) = 0; 00056 virtual void visitPageOwnerId(PageOwnerId) = 0; 00057 virtual void visitSegByteId(SegByteId) = 0; 00058 virtual void visitFormatted(char const *) = 0; 00059 virtual void visitBytes(void const *v,TupleStorageByteLength iBytes) = 0; 00060 }; 00061 00062 FENNEL_END_NAMESPACE 00063 00064 #endif 00065 00066