static void n_OnFailure_Lorg_eclipse_paho_client_mqttv3_IMqttToken_Ljava_lang_Throwable_(IntPtr jnienv, IntPtr native__this, IntPtr native_token, IntPtr native_exception)
 {
     global::Org.Eclipse.Paho.Client.Mqttv3.Internal.ConnectActionListener __this = global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.Internal.ConnectActionListener> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken token = (global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken)global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken> (native_token, JniHandleOwnership.DoNotTransfer);
     global::Java.Lang.Throwable exception = global::Java.Lang.Object.GetObject <global::Java.Lang.Throwable> (native_exception, JniHandleOwnership.DoNotTransfer);
     __this.OnFailure(token, exception);
 }
 static void n_OnFailure_Lorg_eclipse_paho_client_mqttv3_IMqttToken_Ljava_lang_Throwable_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1)
 {
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttActionListener __this = global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttActionListener> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken          p0     = (global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken)global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken> (native_p0, JniHandleOwnership.DoNotTransfer);
     global::Java.Lang.Throwable p1 = global::Java.Lang.Object.GetObject <global::Java.Lang.Throwable> (native_p1, JniHandleOwnership.DoNotTransfer);
     __this.OnFailure(p0, p1);
 }
#pragma warning restore 0649

        public void OnFailure(global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken p0, global::Java.Lang.Throwable p1)
        {
            var __h = OnFailureHandler;

            if (__h != null)
            {
                __h(sender, new FailureEventArgs(p0, p1));
            }
        }
#pragma warning restore 0649

        public void OnSuccess(global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken p0)
        {
            var __h = OnSuccessHandler;

            if (__h != null)
            {
                __h(sender, new SuccessEventArgs(p0));
            }
        }
        public unsafe void OnSuccess(global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken p0)
        {
            if (id_onSuccess_Lorg_eclipse_paho_client_mqttv3_IMqttToken_ == IntPtr.Zero)
            {
                id_onSuccess_Lorg_eclipse_paho_client_mqttv3_IMqttToken_ = JNIEnv.GetMethodID(class_ref, "onSuccess", "(Lorg/eclipse/paho/client/mqttv3/IMqttToken;)V");
            }
            JValue *__args = stackalloc JValue [1];

            __args [0] = new JValue(p0);
            JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_onSuccess_Lorg_eclipse_paho_client_mqttv3_IMqttToken_, __args);
        }
        public virtual unsafe void OnSuccess(global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken token)
        {
            const string __id = "onSuccess.(Lorg/eclipse/paho/client/mqttv3/IMqttToken;)V";

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [1];
                __args [0] = new JniArgumentValue((token == null) ? IntPtr.Zero : ((global::Java.Lang.Object)token).Handle);
                _members.InstanceMethods.InvokeVirtualVoidMethod(__id, this, __args);
            } finally {
            }
        }
        public unsafe void OnFailure(global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken p0, global::Java.Lang.Throwable p1)
        {
            if (id_onFailure_Lorg_eclipse_paho_client_mqttv3_IMqttToken_Ljava_lang_Throwable_ == IntPtr.Zero)
            {
                id_onFailure_Lorg_eclipse_paho_client_mqttv3_IMqttToken_Ljava_lang_Throwable_ = JNIEnv.GetMethodID(class_ref, "onFailure", "(Lorg/eclipse/paho/client/mqttv3/IMqttToken;Ljava/lang/Throwable;)V");
            }
            JValue *__args = stackalloc JValue [2];

            __args [0] = new JValue(p0);
            __args [1] = new JValue(p1);
            JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_onFailure_Lorg_eclipse_paho_client_mqttv3_IMqttToken_Ljava_lang_Throwable_, __args);
        }
        public virtual unsafe void OnFailure(global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken token, global::Java.Lang.Throwable exception)
        {
            const string __id = "onFailure.(Lorg/eclipse/paho/client/mqttv3/IMqttToken;Ljava/lang/Throwable;)V";

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [2];
                __args [0] = new JniArgumentValue((token == null) ? IntPtr.Zero : ((global::Java.Lang.Object)token).Handle);
                __args [1] = new JniArgumentValue((exception == null) ? IntPtr.Zero : ((global::Java.Lang.Throwable)exception).Handle);
                _members.InstanceMethods.InvokeVirtualVoidMethod(__id, this, __args);
            } finally {
            }
        }
        public unsafe global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken ConnectWithResult(global::Org.Eclipse.Paho.Client.Mqttv3.MqttConnectOptions p0)
        {
            if (id_connectWithResult_Lorg_eclipse_paho_client_mqttv3_MqttConnectOptions_ == IntPtr.Zero)
            {
                id_connectWithResult_Lorg_eclipse_paho_client_mqttv3_MqttConnectOptions_ = JNIEnv.GetMethodID(class_ref, "connectWithResult", "(Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;");
            }
            JValue *__args = stackalloc JValue [1];

            __args [0] = new JValue(p0);
            global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken __ret = global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken> (JNIEnv.CallObjectMethod(((global::Java.Lang.Object) this).Handle, id_connectWithResult_Lorg_eclipse_paho_client_mqttv3_MqttConnectOptions_, __args), JniHandleOwnership.TransferLocalRef);
            return(__ret);
        }
        public virtual unsafe void OnSuccess(global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken token)
        {
            if (id_onSuccess_Lorg_eclipse_paho_client_mqttv3_IMqttToken_ == IntPtr.Zero)
            {
                id_onSuccess_Lorg_eclipse_paho_client_mqttv3_IMqttToken_ = JNIEnv.GetMethodID(class_ref, "onSuccess", "(Lorg/eclipse/paho/client/mqttv3/IMqttToken;)V");
            }
            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(token);

                if (((object)this).GetType() == ThresholdType)
                {
                    JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_onSuccess_Lorg_eclipse_paho_client_mqttv3_IMqttToken_, __args);
                }
                else
                {
                    JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "onSuccess", "(Lorg/eclipse/paho/client/mqttv3/IMqttToken;)V"), __args);
                }
            } finally {
            }
        }
        public virtual unsafe void OnFailure(global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken token, global::Java.Lang.Throwable exception)
        {
            if (id_onFailure_Lorg_eclipse_paho_client_mqttv3_IMqttToken_Ljava_lang_Throwable_ == IntPtr.Zero)
            {
                id_onFailure_Lorg_eclipse_paho_client_mqttv3_IMqttToken_Ljava_lang_Throwable_ = JNIEnv.GetMethodID(class_ref, "onFailure", "(Lorg/eclipse/paho/client/mqttv3/IMqttToken;Ljava/lang/Throwable;)V");
            }
            try {
                JValue *__args = stackalloc JValue [2];
                __args [0] = new JValue(token);
                __args [1] = new JValue(exception);

                if (((object)this).GetType() == ThresholdType)
                {
                    JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_onFailure_Lorg_eclipse_paho_client_mqttv3_IMqttToken_Ljava_lang_Throwable_, __args);
                }
                else
                {
                    JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "onFailure", "(Lorg/eclipse/paho/client/mqttv3/IMqttToken;Ljava/lang/Throwable;)V"), __args);
                }
            } finally {
            }
        }
 static int n_GetMessageId(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken __this = global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.MessageId);
 }
 static void n_WaitForCompletion_J(IntPtr jnienv, IntPtr native__this, long p0)
 {
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken __this = global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.WaitForCompletion(p0);
 }
 static IntPtr n_GetUserContext(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken __this = global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.ToLocalJniHandle(__this.UserContext));
 }
 static bool n_GetSessionPresent(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken __this = global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.SessionPresent);
 }
 static void n_SetUserContext_Ljava_lang_Object_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken __this = global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Java.Lang.Object p0 = global::Java.Lang.Object.GetObject <global::Java.Lang.Object> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.UserContext = p0;
 }
 public SuccessEventArgs(global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken p0)
 {
     this.p0 = p0;
 }
 public FailureEventArgs(global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken p0, global::Java.Lang.Throwable p1)
 {
     this.p0 = p0;
     this.p1 = p1;
 }
 static IntPtr n_GetTopics(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken __this = global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.NewArray(__this.GetTopics()));
 }
 static void n_OnSuccess_Lorg_eclipse_paho_client_mqttv3_IMqttToken_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttActionListener __this = global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttActionListener> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken          p0     = (global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken)global::Java.Lang.Object.GetObject <global::Org.Eclipse.Paho.Client.Mqttv3.IMqttToken> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.OnSuccess(p0);
 }