00001
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef XAPIAN_INCLUDED_SERIALISATIONCONTEXT_H
00023 #define XAPIAN_INCLUDED_SERIALISATIONCONTEXT_H
00024
00025 #include <xapian/base.h>
00026 #include <xapian/visibility.h>
00027 #include <string>
00028
00029 namespace Xapian {
00030
00031
00032 class Weight;
00033 class PostingSource;
00034
00040 class XAPIAN_VISIBILITY_DEFAULT SerialisationContext {
00041 public:
00043 class Internal;
00044
00045 private:
00047 Xapian::Internal::RefCntPtr<Internal> internal;
00048
00049 public:
00050
00055 SerialisationContext(const SerialisationContext & other);
00056
00061 SerialisationContext & operator=(const SerialisationContext & other);
00062
00068 SerialisationContext();
00069
00070 ~SerialisationContext();
00071
00073 void register_weighting_scheme(const Xapian::Weight &wt);
00074
00081 const Xapian::Weight *
00082 get_weighting_scheme(const std::string & name) const;
00083
00085 void register_posting_source(const Xapian::PostingSource &source);
00086
00093 const Xapian::PostingSource *
00094 get_posting_source(const std::string & name) const;
00095 };
00096
00097 }
00098
00099 #endif