1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 2.0.5
4  *
5  * Do not make changes to this file unless you know what you are doing--modify
6  * the SWIG interface file instead.
7  * ----------------------------------------------------------------------------- */
8 
9 namespace Xapian {
10 
11 using System;
12 using System.Runtime.InteropServices;
13 
14 public class QueryParser : IDisposable {
15   private HandleRef swigCPtr;
16   protected bool swigCMemOwn;
17 
QueryParser(IntPtr cPtr, bool cMemoryOwn)18   internal QueryParser(IntPtr cPtr, bool cMemoryOwn) {
19     swigCMemOwn = cMemoryOwn;
20     swigCPtr = new HandleRef(this, cPtr);
21   }
22 
getCPtr(QueryParser obj)23   internal static HandleRef getCPtr(QueryParser obj) {
24     return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
25   }
26 
~QueryParser()27   ~QueryParser() {
28     Dispose();
29   }
30 
Dispose()31   public virtual void Dispose() {
32     lock(this) {
33       if (swigCPtr.Handle != IntPtr.Zero) {
34         if (swigCMemOwn) {
35           swigCMemOwn = false;
36           XapianPINVOKE.delete_QueryParser(swigCPtr);
37         }
38         swigCPtr = new HandleRef(null, IntPtr.Zero);
39       }
40       GC.SuppressFinalize(this);
41     }
42   }
43 
QueryParser()44   public QueryParser() : this(XapianPINVOKE.new_QueryParser(), true) {
45     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
46   }
47 
SetStemmer(Stem stemmer)48   public void SetStemmer(Stem stemmer) {
49     XapianPINVOKE.QueryParser_SetStemmer(swigCPtr, Stem.getCPtr(stemmer));
50     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
51   }
52 
SetStemmingStrategy(QueryParser.stem_strategy strategy)53   public void SetStemmingStrategy(QueryParser.stem_strategy strategy) {
54     XapianPINVOKE.QueryParser_SetStemmingStrategy(swigCPtr, (int)strategy);
55     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
56   }
57 
SetStopper(Stopper stop)58   public void SetStopper(Stopper stop) {
59     XapianPINVOKE.QueryParser_SetStopper__SWIG_0(swigCPtr, Stopper.getCPtr(stop));
60     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
61   }
62 
SetStopper()63   public void SetStopper() {
64     XapianPINVOKE.QueryParser_SetStopper__SWIG_1(swigCPtr);
65     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
66   }
67 
SetDefaultOp(Query.op default_op)68   public void SetDefaultOp(Query.op default_op) {
69     XapianPINVOKE.QueryParser_SetDefaultOp(swigCPtr, (int)default_op);
70     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
71   }
72 
GetDefaultOp()73   public Query.op GetDefaultOp() {
74     Query.op ret = (Query.op)XapianPINVOKE.QueryParser_GetDefaultOp(swigCPtr);
75     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
76     return ret;
77   }
78 
SetDatabase(Database db)79   public void SetDatabase(Database db) {
80     XapianPINVOKE.QueryParser_SetDatabase(swigCPtr, Database.getCPtr(db));
81     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
82   }
83 
SetMaxWildcardExpansion(uint limit)84   public void SetMaxWildcardExpansion(uint limit) {
85     XapianPINVOKE.QueryParser_SetMaxWildcardExpansion(swigCPtr, limit);
86     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
87   }
88 
ParseQuery(string query_string, uint flags, string default_prefix)89   public Query ParseQuery(string query_string, uint flags, string default_prefix) {
90     Query ret = new Query(XapianPINVOKE.QueryParser_ParseQuery__SWIG_0(swigCPtr, query_string, flags, default_prefix), true);
91     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
92     return ret;
93   }
94 
ParseQuery(string query_string, uint flags)95   public Query ParseQuery(string query_string, uint flags) {
96     Query ret = new Query(XapianPINVOKE.QueryParser_ParseQuery__SWIG_1(swigCPtr, query_string, flags), true);
97     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
98     return ret;
99   }
100 
ParseQuery(string query_string)101   public Query ParseQuery(string query_string) {
102     Query ret = new Query(XapianPINVOKE.QueryParser_ParseQuery__SWIG_2(swigCPtr, query_string), true);
103     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
104     return ret;
105   }
106 
AddPrefix(string field, string prefix)107   public void AddPrefix(string field, string prefix) {
108     XapianPINVOKE.QueryParser_AddPrefix(swigCPtr, field, prefix);
109     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
110   }
111 
AddBooleanPrefix(string field, string prefix, bool exclusive)112   public void AddBooleanPrefix(string field, string prefix, bool exclusive) {
113     XapianPINVOKE.QueryParser_AddBooleanPrefix__SWIG_0(swigCPtr, field, prefix, exclusive);
114     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
115   }
116 
AddBooleanPrefix(string field, string prefix)117   public void AddBooleanPrefix(string field, string prefix) {
118     XapianPINVOKE.QueryParser_AddBooleanPrefix__SWIG_1(swigCPtr, field, prefix);
119     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
120   }
121 
StopListBegin()122   public TermIterator StopListBegin() {
123     TermIterator ret = new TermIterator(XapianPINVOKE.QueryParser_StopListBegin(swigCPtr), true);
124     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
125     return ret;
126   }
127 
StopListEnd()128   public TermIterator StopListEnd() {
129     TermIterator ret = new TermIterator(XapianPINVOKE.QueryParser_StopListEnd(swigCPtr), true);
130     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
131     return ret;
132   }
133 
UnstemBegin(string term)134   public TermIterator UnstemBegin(string term) {
135     TermIterator ret = new TermIterator(XapianPINVOKE.QueryParser_UnstemBegin(swigCPtr, term), true);
136     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
137     return ret;
138   }
139 
UnstemEnd(string arg0)140   public TermIterator UnstemEnd(string arg0) {
141     TermIterator ret = new TermIterator(XapianPINVOKE.QueryParser_UnstemEnd(swigCPtr, arg0), true);
142     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
143     return ret;
144   }
145 
AddValuerangeprocessor(ValueRangeProcessor vrproc)146   public void AddValuerangeprocessor(ValueRangeProcessor vrproc) {
147     XapianPINVOKE.QueryParser_AddValuerangeprocessor(swigCPtr, ValueRangeProcessor.getCPtr(vrproc));
148     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
149   }
150 
GetCorrectedQueryString()151   public string GetCorrectedQueryString() {
152     string ret = XapianPINVOKE.QueryParser_GetCorrectedQueryString(swigCPtr);
153     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
154     return ret;
155   }
156 
GetDescription()157   public string GetDescription() {
158     string ret = XapianPINVOKE.QueryParser_GetDescription(swigCPtr);
159     if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
160     return ret;
161   }
162 
163   public enum feature_flag {
164     FLAG_BOOLEAN = 1,
165     FLAG_PHRASE = 2,
166     FLAG_LOVEHATE = 4,
167     FLAG_BOOLEAN_ANY_CASE = 8,
168     FLAG_WILDCARD = 16,
169     FLAG_PURE_NOT = 32,
170     FLAG_PARTIAL = 64,
171     FLAG_SPELLING_CORRECTION = 128,
172     FLAG_SYNONYM = 256,
173     FLAG_AUTO_SYNONYMS = 512,
174     FLAG_AUTO_MULTIWORD_SYNONYMS = 1024|FLAG_AUTO_SYNONYMS,
175     FLAG_CJK_NGRAM = 2048,
176     FLAG_DEFAULT = FLAG_PHRASE|FLAG_BOOLEAN|FLAG_LOVEHATE
177   }
178 
179   public enum stem_strategy {
180     STEM_NONE,
181     STEM_SOME,
182     STEM_ALL,
183     STEM_ALL_Z
184   }
185 
186 }
187 
188 }
189