Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
MbLogCallback.cs
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// <auto-generated />
3//
4// This file was automatically generated by SWIG (https://www.swig.org).
5// Version 4.2.1
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
12
13public class MbLogCallback : global::System.IDisposable {
14 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
15 protected bool swigCMemOwn;
16
17 internal MbLogCallback(global::System.IntPtr cPtr, bool cMemoryOwn) {
18 swigCMemOwn = cMemoryOwn;
19 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
20 }
21
22 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(MbLogCallback obj) {
23 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
24 }
25
26 internal static global::System.Runtime.InteropServices.HandleRef swigRelease(MbLogCallback obj) {
27 if (obj != null) {
28 if (!obj.swigCMemOwn)
29 throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
30 global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
31 obj.swigCMemOwn = false;
32 obj.Dispose();
33 return ptr;
34 } else {
35 return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
36 }
37 }
38
39 ~MbLogCallback() {
40 Dispose(false);
41 }
42
43 public void Dispose() {
44 Dispose(true);
45 global::System.GC.SuppressFinalize(this);
46 }
47
48 protected virtual void Dispose(bool disposing) {
49 lock(this) {
50 if (swigCPtr.Handle != global::System.IntPtr.Zero) {
51 if (swigCMemOwn) {
52 swigCMemOwn = false;
54 }
55 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
56 }
57 }
58 }
59
60 public virtual void NewMessage(string message) {
61 operations_research_model_builderPINVOKE.MbLogCallback_NewMessage(swigCPtr, message);
66 SwigDirectorConnect();
67 }
68
69 private void SwigDirectorConnect() {
70 if (SwigDerivedClassHasMethod("NewMessage", swigMethodTypes0))
71 swigDelegate0 = new SwigDelegateMbLogCallback_0(SwigDirectorMethodNewMessage);
73 }
74
75 private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
76 global::System.Reflection.MethodInfo[] methodInfos = this.GetType().GetMethods(
77 global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance);
78 foreach (global::System.Reflection.MethodInfo methodInfo in methodInfos) {
79 if (methodInfo.DeclaringType == null)
80 continue;
81
82 if (methodInfo.Name != methodName)
83 continue;
84
85 var parameters = methodInfo.GetParameters();
86 if (parameters.Length != methodTypes.Length)
87 continue;
88
89 bool parametersMatch = true;
90 for (var i = 0; i < parameters.Length; i++) {
91 if (parameters[i].ParameterType != methodTypes[i]) {
92 parametersMatch = false;
93 break;
94 }
95 }
96
97 if (!parametersMatch)
98 continue;
99
100 if (methodInfo.IsVirtual && (methodInfo.DeclaringType.IsSubclassOf(typeof(MbLogCallback))) &&
101 methodInfo.DeclaringType != methodInfo.GetBaseDefinition().DeclaringType) {
102 return true;
103 }
104 }
105
106 return false;
107 }
108
109 private void SwigDirectorMethodNewMessage(string message) {
110 NewMessage(message);
111 }
112
113 public delegate void SwigDelegateMbLogCallback_0(string message);
114
115 private SwigDelegateMbLogCallback_0 swigDelegate0;
116
117 private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(string) };
118}
119
120}
virtual void NewMessage(string message)
delegate void SwigDelegateMbLogCallback_0(string message)
static void delete_MbLogCallback(global::System.Runtime.InteropServices.HandleRef jarg1)
static void MbLogCallback_director_connect(global::System.Runtime.InteropServices.HandleRef jarg1, MbLogCallback.SwigDelegateMbLogCallback_0 delegate0)