diff options
Diffstat (limited to 'bindings/csharp/ProxyPluginMgrCallback.cs')
-rw-r--r-- | bindings/csharp/ProxyPluginMgrCallback.cs | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/bindings/csharp/ProxyPluginMgrCallback.cs b/bindings/csharp/ProxyPluginMgrCallback.cs new file mode 100644 index 0000000..900aad6 --- /dev/null +++ b/bindings/csharp/ProxyPluginMgrCallback.cs @@ -0,0 +1,90 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.9 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +namespace org.doubango.tinyWRAP { + +using System; +using System.Runtime.InteropServices; + +public class ProxyPluginMgrCallback : IDisposable { + private HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal ProxyPluginMgrCallback(IntPtr cPtr, bool cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = new HandleRef(this, cPtr); + } + + internal static HandleRef getCPtr(ProxyPluginMgrCallback obj) { + return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; + } + + ~ProxyPluginMgrCallback() { + Dispose(); + } + + public virtual void Dispose() { + lock(this) { + if (swigCPtr.Handle != IntPtr.Zero) { + if (swigCMemOwn) { + swigCMemOwn = false; + tinyWRAPPINVOKE.delete_ProxyPluginMgrCallback(swigCPtr); + } + swigCPtr = new HandleRef(null, IntPtr.Zero); + } + GC.SuppressFinalize(this); + } + } + + public ProxyPluginMgrCallback() : this(tinyWRAPPINVOKE.new_ProxyPluginMgrCallback(), true) { + SwigDirectorConnect(); + } + + public virtual int OnPluginCreated(ulong id, twrap_proxy_plugin_type_t type) { + int ret = (SwigDerivedClassHasMethod("OnPluginCreated", swigMethodTypes0) ? tinyWRAPPINVOKE.ProxyPluginMgrCallback_OnPluginCreatedSwigExplicitProxyPluginMgrCallback(swigCPtr, id, (int)type) : tinyWRAPPINVOKE.ProxyPluginMgrCallback_OnPluginCreated(swigCPtr, id, (int)type)); + return ret; + } + + public virtual int OnPluginDestroyed(ulong id, twrap_proxy_plugin_type_t type) { + int ret = (SwigDerivedClassHasMethod("OnPluginDestroyed", swigMethodTypes1) ? tinyWRAPPINVOKE.ProxyPluginMgrCallback_OnPluginDestroyedSwigExplicitProxyPluginMgrCallback(swigCPtr, id, (int)type) : tinyWRAPPINVOKE.ProxyPluginMgrCallback_OnPluginDestroyed(swigCPtr, id, (int)type)); + return ret; + } + + private void SwigDirectorConnect() { + if (SwigDerivedClassHasMethod("OnPluginCreated", swigMethodTypes0)) + swigDelegate0 = new SwigDelegateProxyPluginMgrCallback_0(SwigDirectorOnPluginCreated); + if (SwigDerivedClassHasMethod("OnPluginDestroyed", swigMethodTypes1)) + swigDelegate1 = new SwigDelegateProxyPluginMgrCallback_1(SwigDirectorOnPluginDestroyed); + tinyWRAPPINVOKE.ProxyPluginMgrCallback_director_connect(swigCPtr, swigDelegate0, swigDelegate1); + } + + 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(ProxyPluginMgrCallback)); + return hasDerivedMethod; + } + + private int SwigDirectorOnPluginCreated(ulong id, int type) { + return OnPluginCreated(id, (twrap_proxy_plugin_type_t)type); + } + + private int SwigDirectorOnPluginDestroyed(ulong id, int type) { + return OnPluginDestroyed(id, (twrap_proxy_plugin_type_t)type); + } + + public delegate int SwigDelegateProxyPluginMgrCallback_0(ulong id, int type); + public delegate int SwigDelegateProxyPluginMgrCallback_1(ulong id, int type); + + private SwigDelegateProxyPluginMgrCallback_0 swigDelegate0; + private SwigDelegateProxyPluginMgrCallback_1 swigDelegate1; + + private static Type[] swigMethodTypes0 = new Type[] { typeof(ulong), typeof(twrap_proxy_plugin_type_t) }; + private static Type[] swigMethodTypes1 = new Type[] { typeof(ulong), typeof(twrap_proxy_plugin_type_t) }; +} + +} |