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
|
//------------------------------------------------------------------------------
// <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 StemImplementation : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
internal StemImplementation(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(StemImplementation 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(StemImplementation 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);
}
}
~StemImplementation() {
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_StemImplementation(swigCPtr);
}
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
}
}
}
public StemImplementation() : this(XapianPINVOKE.new_StemImplementation(), true) {
if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
SwigDirectorConnect();
}
public virtual string Apply(string word) {
string ret = XapianPINVOKE.StemImplementation_Apply(swigCPtr, word);
if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
public virtual string GetDescription() {
string ret = XapianPINVOKE.StemImplementation_GetDescription(swigCPtr);
if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
private void SwigDirectorConnect() {
if (SwigDerivedClassHasMethod("Apply", swigMethodTypes0))
swigDelegate0 = new SwigDelegateStemImplementation_0(SwigDirectorMethodApply);
if (SwigDerivedClassHasMethod("GetDescription", swigMethodTypes1))
swigDelegate1 = new SwigDelegateStemImplementation_1(SwigDirectorMethodGetDescription);
XapianPINVOKE.StemImplementation_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(StemImplementation))) &&
methodInfo.DeclaringType != methodInfo.GetBaseDefinition().DeclaringType) {
return true;
}
}
return false;
}
private string SwigDirectorMethodApply(string word) {
return Apply(word);
}
private string SwigDirectorMethodGetDescription() {
return GetDescription();
}
public delegate string SwigDelegateStemImplementation_0(string word);
public delegate string SwigDelegateStemImplementation_1();
private SwigDelegateStemImplementation_0 swigDelegate0;
private SwigDelegateStemImplementation_1 swigDelegate1;
private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(string) };
private static global::System.Type[] swigMethodTypes1 = new global::System.Type[] { };
}
}
|