public unsafe JobUnitWorker(global::Org.Encog.Engine.Concurrency.Job.JobUnitContext p0)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(p0);
                if (GetType() != typeof(JobUnitWorker))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(Lorg/encog/engine/concurrency/job/JobUnitContext;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lorg/encog/engine/concurrency/job/JobUnitContext;)V", __args);
                    return;
                }

                if (id_ctor_Lorg_encog_engine_concurrency_job_JobUnitContext_ == IntPtr.Zero)
                {
                    id_ctor_Lorg_encog_engine_concurrency_job_JobUnitContext_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lorg/encog/engine/concurrency/job/JobUnitContext;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lorg_encog_engine_concurrency_job_JobUnitContext_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lorg_encog_engine_concurrency_job_JobUnitContext_, __args);
            } finally {
            }
        }
        public virtual unsafe void ReportStatus(global::Org.Encog.Engine.Concurrency.Job.JobUnitContext p0, string p1)
        {
            if (id_reportStatus_Lorg_encog_engine_concurrency_job_JobUnitContext_Ljava_lang_String_ == IntPtr.Zero)
            {
                id_reportStatus_Lorg_encog_engine_concurrency_job_JobUnitContext_Ljava_lang_String_ = JNIEnv.GetMethodID(class_ref, "reportStatus", "(Lorg/encog/engine/concurrency/job/JobUnitContext;Ljava/lang/String;)V");
            }
            IntPtr native_p1 = JNIEnv.NewString(p1);

            try {
                JValue *__args = stackalloc JValue [2];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(native_p1);

                if (GetType() == ThresholdType)
                {
                    JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_reportStatus_Lorg_encog_engine_concurrency_job_JobUnitContext_Ljava_lang_String_, __args);
                }
                else
                {
                    JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "reportStatus", "(Lorg/encog/engine/concurrency/job/JobUnitContext;Ljava/lang/String;)V"), __args);
                }
            } finally {
                JNIEnv.DeleteLocalRef(native_p1);
            }
        }
        static void n_ReportStatus_Lorg_encog_engine_concurrency_job_JobUnitContext_Ljava_lang_String_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1)
        {
            global::Org.Encog.Engine.Concurrency.Job.ConcurrentJob  __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Concurrency.Job.ConcurrentJob> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Org.Encog.Engine.Concurrency.Job.JobUnitContext p0     = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Concurrency.Job.JobUnitContext> (native_p0, JniHandleOwnership.DoNotTransfer);
            string p1 = JNIEnv.GetString(native_p1, JniHandleOwnership.DoNotTransfer);

            __this.ReportStatus(p0, p1);
        }
 public override unsafe void PerformJobUnit(global::Org.Encog.Engine.Concurrency.Job.JobUnitContext p0)
 {
     if (id_performJobUnit_Lorg_encog_engine_concurrency_job_JobUnitContext_ == IntPtr.Zero)
     {
         id_performJobUnit_Lorg_encog_engine_concurrency_job_JobUnitContext_ = JNIEnv.GetMethodID(class_ref, "performJobUnit", "(Lorg/encog/engine/concurrency/job/JobUnitContext;)V");
     }
     try {
         JValue *__args = stackalloc JValue [1];
         __args [0] = new JValue(p0);
         JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_performJobUnit_Lorg_encog_engine_concurrency_job_JobUnitContext_, __args);
     } finally {
     }
 }
 public abstract void PerformJobUnit(global::Org.Encog.Engine.Concurrency.Job.JobUnitContext p0);
 static void n_PerformJobUnit_Lorg_encog_engine_concurrency_job_JobUnitContext_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Org.Encog.Engine.Concurrency.Job.ConcurrentJob  __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Concurrency.Job.ConcurrentJob> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Org.Encog.Engine.Concurrency.Job.JobUnitContext p0     = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Concurrency.Job.JobUnitContext> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.PerformJobUnit(p0);
 }
 static void n_SetJobUnit_Ljava_lang_Object_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Org.Encog.Engine.Concurrency.Job.JobUnitContext __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Concurrency.Job.JobUnitContext> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Java.Lang.Object p0 = global::Java.Lang.Object.GetObject <global::Java.Lang.Object> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.JobUnit = p0;
 }
 static IntPtr n_GetJobUnit(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Encog.Engine.Concurrency.Job.JobUnitContext __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Concurrency.Job.JobUnitContext> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.ToLocalJniHandle(__this.JobUnit));
 }
 static void n_SetTaskNumber_I(IntPtr jnienv, IntPtr native__this, int p0)
 {
     global::Org.Encog.Engine.Concurrency.Job.JobUnitContext __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Concurrency.Job.JobUnitContext> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.TaskNumber = p0;
 }
 static int n_GetTaskNumber(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Encog.Engine.Concurrency.Job.JobUnitContext __this = global::Java.Lang.Object.GetObject <global::Org.Encog.Engine.Concurrency.Job.JobUnitContext> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.TaskNumber);
 }