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