//------------------------------------------------------------------------------ // // // This file was automatically generated by SWIG (http://www.swig.org). // Version 3.0.12 // // Do not make changes to this file unless you know what you are doing--modify // the SWIG interface file instead. //------------------------------------------------------------------------------ namespace ons { public class PushConsumer : global::System.IDisposable { private global::System.Runtime.InteropServices.HandleRef swigCPtr; protected bool swigCMemOwn; internal PushConsumer(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(PushConsumer obj) { return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; } ~PushConsumer() { Dispose(); } public virtual void Dispose() { lock(this) { if (swigCPtr.Handle != global::System.IntPtr.Zero) { if (swigCMemOwn) { swigCMemOwn = false; ONSClient4CPPPINVOKE.delete_PushConsumer(swigCPtr); } swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); } global::System.GC.SuppressFinalize(this); } } public PushConsumer() : this(ONSClient4CPPPINVOKE.new_PushConsumer(), true) { SwigDirectorConnect(); } public virtual void start() { ONSClient4CPPPINVOKE.PushConsumer_start(swigCPtr); } public virtual void shutdown() { ONSClient4CPPPINVOKE.PushConsumer_shutdown(swigCPtr); } public virtual void subscribe(string topic, string subExpression, MessageListener listener) { ONSClient4CPPPINVOKE.PushConsumer_subscribe(swigCPtr, topic, subExpression, MessageListener.getCPtr(listener)); } private void SwigDirectorConnect() { if (SwigDerivedClassHasMethod("start", swigMethodTypes0)) swigDelegate0 = new SwigDelegatePushConsumer_0(SwigDirectorstart); if (SwigDerivedClassHasMethod("shutdown", swigMethodTypes1)) swigDelegate1 = new SwigDelegatePushConsumer_1(SwigDirectorshutdown); if (SwigDerivedClassHasMethod("subscribe", swigMethodTypes2)) swigDelegate2 = new SwigDelegatePushConsumer_2(SwigDirectorsubscribe); ONSClient4CPPPINVOKE.PushConsumer_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2); } private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) { 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); bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(PushConsumer)); return hasDerivedMethod; } private void SwigDirectorstart() { start(); } private void SwigDirectorshutdown() { shutdown(); } private void SwigDirectorsubscribe(string topic, string subExpression, global::System.IntPtr listener) { subscribe(topic, subExpression, (listener == global::System.IntPtr.Zero) ? null : new MessageListener(listener, false)); } public delegate void SwigDelegatePushConsumer_0(); public delegate void SwigDelegatePushConsumer_1(); public delegate void SwigDelegatePushConsumer_2(string topic, string subExpression, global::System.IntPtr listener); private SwigDelegatePushConsumer_0 swigDelegate0; private SwigDelegatePushConsumer_1 swigDelegate1; private SwigDelegatePushConsumer_2 swigDelegate2; private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { }; private static global::System.Type[] swigMethodTypes1 = new global::System.Type[] { }; private static global::System.Type[] swigMethodTypes2 = new global::System.Type[] { typeof(string), typeof(string), typeof(MessageListener) }; } }