static void n_SetOnEmitCallback_Lorbotix_macro_MacroObject_OnEmitCallback_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
        {
            MacroObject __this = Java.Lang.Object.GetObject <MacroObject> (native__this, JniHandleOwnership.DoNotTransfer);

            global::Orbotix.Macro.MacroObject.IOnEmitCallback p0 = Java.Lang.Object.GetObject <global::Orbotix.Macro.MacroObject.IOnEmitCallback> (native_p0, JniHandleOwnership.DoNotTransfer);
            __this.SetOnEmitCallback(p0);
        }
        public virtual void SetOnEmitCallback(global::Orbotix.Macro.MacroObject.IOnEmitCallback p0)
        {
            if (id_setOnEmitCallback_Lorbotix_macro_MacroObject_OnEmitCallback_ == IntPtr.Zero)
            {
                id_setOnEmitCallback_Lorbotix_macro_MacroObject_OnEmitCallback_ = JNIEnv.GetMethodID(class_ref, "setOnEmitCallback", "(Lorbotix/macro/MacroObject$OnEmitCallback;)V");
            }

            if (GetType() == ThresholdType)
            {
                JNIEnv.CallVoidMethod(Handle, id_setOnEmitCallback_Lorbotix_macro_MacroObject_OnEmitCallback_, new JValue(p0));
            }
            else
            {
                JNIEnv.CallNonvirtualVoidMethod(Handle, ThresholdClass, id_setOnEmitCallback_Lorbotix_macro_MacroObject_OnEmitCallback_, new JValue(p0));
            }
        }