//------------------------------------------------------------------------------
// <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 OrderConsumer : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
internal OrderConsumer(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(OrderConsumer obj) {
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
~OrderConsumer() {
Dispose();
}
public virtual void Dispose() {
lock(this) {
if (swigCPtr.Handle != global::System.IntPtr.Zero) {
if (swigCMemOwn) {
swigCMemOwn = false;
ONSClient4CPPPINVOKE.delete_OrderConsumer(swigCPtr);
}
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
}
global::System.GC.SuppressFinalize(this);
}
}
public OrderConsumer() : this(ONSClient4CPPPINVOKE.new_OrderConsumer(), true) {
SwigDirectorConnect();
}
public virtual void start() {
ONSClient4CPPPINVOKE.OrderConsumer_start(swigCPtr);
}
public virtual void shutdown() {
ONSClient4CPPPINVOKE.OrderConsumer_shutdown(swigCPtr);
}
public virtual void subscribe(string topic, string subExpression, MessageOrderListener listener) {
ONSClient4CPPPINVOKE.OrderConsumer_subscribe(swigCPtr, topic, subExpression, MessageOrderListener.getCPtr(listener));
}
private void SwigDirectorConnect() {
if (SwigDerivedClassHasMethod("start", swigMethodTypes0))
swigDelegate0 = new SwigDelegateOrderConsumer_0(SwigDirectorstart);
if (SwigDerivedClassHasMethod("shutdown", swigMethodTypes1))
swigDelegate1 = new SwigDelegateOrderConsumer_1(SwigDirectorshutdown);
if (SwigDerivedClassHasMethod("subscribe", swigMethodTypes2))
swigDelegate2 = new SwigDelegateOrderConsumer_2(SwigDirectorsubscribe);
ONSClient4CPPPINVOKE.OrderConsumer_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(OrderConsumer));
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 MessageOrderListener(listener, false));
}
public delegate void SwigDelegateOrderConsumer_0();
public delegate void SwigDelegateOrderConsumer_1();
public delegate void SwigDelegateOrderConsumer_2(string topic, string subExpression, global::System.IntPtr listener);
private SwigDelegateOrderConsumer_0 swigDelegate0;
private SwigDelegateOrderConsumer_1 swigDelegate1;
private SwigDelegateOrderConsumer_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(MessageOrderListener) };
}
}