1 //------------------------------------------------------------------------------
2 // <auto-generated />
3 //
4 // This file was automatically generated by SWIG (http://www.swig.org).
5 // Version 4.0.2
6 //
7 // Do not make changes to this file unless you know what you are doing--modify
8 // the SWIG interface file instead.
9 //------------------------------------------------------------------------------
10 
11 namespace libsbml {
12 
13  using System;
14  using System.Runtime.InteropServices;
15 
16 /**
17  * @sbmlpackage{core}
18  *
19 @htmlinclude pkg-marker-core.html Base class for identifier transformers.
20  * @internal
21  */
22 
23 public class IdentifierTransformer : global::System.IDisposable {
24 	private HandleRef swigCPtr;
25 	protected bool swigCMemOwn;
26 
IdentifierTransformer(IntPtr cPtr, bool cMemoryOwn)27 	internal IdentifierTransformer(IntPtr cPtr, bool cMemoryOwn)
28 	{
29 		swigCMemOwn = cMemoryOwn;
30 		swigCPtr    = new HandleRef(this, cPtr);
31 	}
32 
getCPtr(IdentifierTransformer obj)33 	internal static HandleRef getCPtr(IdentifierTransformer obj)
34 	{
35 		return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
36 	}
37 
getCPtrAndDisown(IdentifierTransformer obj)38 	internal static HandleRef getCPtrAndDisown (IdentifierTransformer obj)
39 	{
40 		HandleRef ptr = new HandleRef(null, IntPtr.Zero);
41 
42 		if (obj != null)
43 		{
44 			ptr             = obj.swigCPtr;
45 			obj.swigCMemOwn = false;
46 		}
47 
48 		return ptr;
49 	}
50 
~IdentifierTransformer()51   ~IdentifierTransformer() {
52     Dispose(false);
53   }
54 
Dispose()55   public void Dispose() {
56     Dispose(true);
57     global::System.GC.SuppressFinalize(this);
58   }
59 
Dispose(bool disposing)60   protected virtual void Dispose(bool disposing) {
61     lock(this) {
62       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
63         if (swigCMemOwn) {
64           swigCMemOwn = false;
65           libsbmlPINVOKE.delete_IdentifierTransformer(swigCPtr);
66         }
67         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
68       }
69     }
70   }
71 
IdentifierTransformer()72   public IdentifierTransformer() : this(libsbmlPINVOKE.new_IdentifierTransformer(), true) {
73     SwigDirectorConnect();
74   }
75 
transform(SBase element)76   public virtual int transform(SBase element) {
77     int ret = (SwigDerivedClassHasMethod("transform", swigMethodTypes0) ? libsbmlPINVOKE.IdentifierTransformer_transformSwigExplicitIdentifierTransformer(swigCPtr, SBase.getCPtr(element)) : libsbmlPINVOKE.IdentifierTransformer_transform(swigCPtr, SBase.getCPtr(element)));
78     return ret;
79   }
80 
SwigDirectorConnect()81   private void SwigDirectorConnect() {
82     if (SwigDerivedClassHasMethod("transform", swigMethodTypes0))
83       swigDelegate0 = new SwigDelegateIdentifierTransformer_0(SwigDirectorMethodtransform);
84     libsbmlPINVOKE.IdentifierTransformer_director_connect(swigCPtr, swigDelegate0);
85   }
86 
SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)87   private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
88     global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null);
89     bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(IdentifierTransformer));
90     return hasDerivedMethod;
91   }
92 
SwigDirectorMethodtransform(global::System.IntPtr element)93   private int SwigDirectorMethodtransform(global::System.IntPtr element) {
94     return transform((element == global::System.IntPtr.Zero) ? null : new SBase(element, false));
95   }
96 
SwigDelegateIdentifierTransformer_0(global::System.IntPtr element)97   public delegate int SwigDelegateIdentifierTransformer_0(global::System.IntPtr element);
98 
99   private SwigDelegateIdentifierTransformer_0 swigDelegate0;
100 
101   private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(SBase) };
102 }
103 
104 }
105