//------------------------------------------------------------------------------
// <auto-generated />
//
// 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 MessageListener : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
internal MessageListener(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(MessageListener obj) {
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
~MessageListener() {
Dispose();
}
public virtual void Dispose() {
lock(this) {
if (swigCPtr.Handle != global::System.IntPtr.Zero) {
if (swigCMemOwn) {
swigCMemOwn = false;
ONSClient4CPPPINVOKE.delete_MessageListener(swigCPtr);
}
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
}
global::System.GC.SuppressFinalize(this);
}
}
public MessageListener() : this(ONSClient4CPPPINVOKE.new_MessageListener(), true) {
SwigDirectorConnect();
}
public virtual Action consume(Message message, ConsumeContext context) {
Action ret = (Action)ONSClient4CPPPINVOKE.MessageListener_consume(swigCPtr, Message.getCPtr(message), ConsumeContext.getCPtr(context));
if (ONSClient4CPPPINVOKE.SWIGPendingException.Pending) throw ONSClient4CPPPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
private void SwigDirectorConnect() {
if (SwigDerivedClassHasMethod("consume", swigMethodTypes0))
swigDelegate0 = new SwigDelegateMessageListener_0(SwigDirectorconsume);
ONSClient4CPPPINVOKE.MessageListener_director_connect(swigCPtr, swigDelegate0);
}
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(MessageListener));
return hasDerivedMethod;
}
private int SwigDirectorconsume(global::System.IntPtr message, global::System.IntPtr context) {
return (int)consume(new Message(message, false), new ConsumeContext(context, false));
}
public delegate int SwigDelegateMessageListener_0(global::System.IntPtr message, global::System.IntPtr context);
private SwigDelegateMessageListener_0 swigDelegate0;
private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(Message), typeof(ConsumeContext) };
}
}