/* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version 1.3.32 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ namespace Xapian { using System; using System.Runtime.InteropServices; public class ExpandDecider : IDisposable { private HandleRef swigCPtr; protected bool swigCMemOwn; internal ExpandDecider(IntPtr cPtr, bool cMemoryOwn) { swigCMemOwn = cMemoryOwn; swigCPtr = new HandleRef(this, cPtr); } internal static HandleRef getCPtr(ExpandDecider obj) { return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } ~ExpandDecider() { Dispose(); } public virtual void Dispose() { lock(this) { if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { swigCMemOwn = false; XapianPINVOKE.delete_ExpandDecider(swigCPtr); } swigCPtr = new HandleRef(null, IntPtr.Zero); GC.SuppressFinalize(this); } } public virtual bool Apply(string term) { bool ret = XapianPINVOKE.ExpandDecider_Apply(swigCPtr, term); if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); return ret; } public ExpandDecider() : this(XapianPINVOKE.new_ExpandDecider(), true) { if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve(); SwigDirectorConnect(); } private void SwigDirectorConnect() { if (SwigDerivedClassHasMethod("Apply", swigMethodTypes0)) swigDelegate0 = new SwigDelegateExpandDecider_0(SwigDirectorApply); XapianPINVOKE.ExpandDecider_director_connect(swigCPtr, swigDelegate0); } private bool SwigDerivedClassHasMethod(string methodName, Type[] methodTypes) { System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, null, methodTypes, null); bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(ExpandDecider)); return hasDerivedMethod; } private bool SwigDirectorApply(string term) { return Apply(term); } public delegate bool SwigDelegateExpandDecider_0(string term); private SwigDelegateExpandDecider_0 swigDelegate0; private static Type[] swigMethodTypes0 = new Type[] { typeof(string) }; } }