1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.3.0
//
// Do not make changes to this file unless you know what you are doing - modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------
namespace Xapian {
public class Stopper : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
internal Stopper(global::System.IntPtr cPtr, bool cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Stopper obj) {
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
internal static global::System.Runtime.InteropServices.HandleRef swigRelease(Stopper obj) {
if (obj != null) {
if (!obj.swigCMemOwn)
throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
obj.swigCMemOwn = false;
obj.Dispose();
return ptr;
} else {
return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
}
}
~Stopper() {
Dispose(false);
}
public void Dispose() {
Dispose(true);
global::System.GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing) {
lock(this) {
if (swigCPtr.Handle != global::System.IntPtr.Zero) {
if (swigCMemOwn) {
swigCMemOwn = false;
XapianPINVOKE.delete_Stopper(swigCPtr);
}
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
}
}
}
public Stopper() : this(XapianPINVOKE.new_Stopper(), true) {
if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
SwigDirectorConnect();
}
public virtual bool Apply(string term) {
bool ret = XapianPINVOKE.Stopper_Apply(swigCPtr, term);
if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
public virtual string GetDescription() {
string ret = (SwigDerivedClassHasMethod("GetDescription", swigMethodTypes1) ? XapianPINVOKE.Stopper_GetDescriptionSwigExplicitStopper(swigCPtr) : XapianPINVOKE.Stopper_GetDescription(swigCPtr));
if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
public Stopper Release() {
global::System.IntPtr cPtr = XapianPINVOKE.Stopper_Release(swigCPtr);
Stopper ret = (cPtr == global::System.IntPtr.Zero) ? null : new Stopper(cPtr, false);
if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
private void SwigDirectorConnect() {
if (SwigDerivedClassHasMethod("Apply", swigMethodTypes0))
swigDelegate0 = new SwigDelegateStopper_0(SwigDirectorMethodApply);
if (SwigDerivedClassHasMethod("GetDescription", swigMethodTypes1))
swigDelegate1 = new SwigDelegateStopper_1(SwigDirectorMethodGetDescription);
XapianPINVOKE.Stopper_director_connect(swigCPtr, swigDelegate0, swigDelegate1);
}
private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
global::System.Reflection.MethodInfo[] methodInfos = this.GetType().GetMethods(
global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance);
foreach (global::System.Reflection.MethodInfo methodInfo in methodInfos) {
if (methodInfo.DeclaringType == null)
continue;
if (methodInfo.Name != methodName)
continue;
var parameters = methodInfo.GetParameters();
if (parameters.Length != methodTypes.Length)
continue;
bool parametersMatch = true;
for (var i = 0; i < parameters.Length; i++) {
if (parameters[i].ParameterType != methodTypes[i]) {
parametersMatch = false;
break;
}
}
if (!parametersMatch)
continue;
if (methodInfo.IsVirtual && (methodInfo.DeclaringType.IsSubclassOf(typeof(Stopper))) &&
methodInfo.DeclaringType != methodInfo.GetBaseDefinition().DeclaringType) {
return true;
}
}
return false;
}
private bool SwigDirectorMethodApply(string term) {
return Apply(term);
}
private string SwigDirectorMethodGetDescription() {
return GetDescription();
}
public delegate bool SwigDelegateStopper_0(string term);
public delegate string SwigDelegateStopper_1();
private SwigDelegateStopper_0 swigDelegate0;
private SwigDelegateStopper_1 swigDelegate1;
private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(string) };
private static global::System.Type[] swigMethodTypes1 = new global::System.Type[] { };
}
}
|