static void n_DidDwellInZone_Lcom_bluecats_sdk_BCZone_Ljava_lang_Integer_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1)
 {
     global::Com.Bluecats.Sdk.IBCZoneMonitorCallback __this = global::Java.Lang.Object.GetObject <global::Com.Bluecats.Sdk.IBCZoneMonitorCallback> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Bluecats.Sdk.BCZone p0 = global::Java.Lang.Object.GetObject <global::Com.Bluecats.Sdk.BCZone> (native_p0, JniHandleOwnership.DoNotTransfer);
     global::Java.Lang.Integer       p1 = global::Java.Lang.Object.GetObject <global::Java.Lang.Integer> (native_p1, JniHandleOwnership.DoNotTransfer);
     __this.DidDwellInZone(p0, p1);
 }
        static void n_DidRangeBeacons_Ljava_util_List_Lcom_bluecats_sdk_BCZone_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1)
        {
            global::Com.Bluecats.Sdk.IBCZoneMonitorCallback __this = global::Java.Lang.Object.GetObject <global::Com.Bluecats.Sdk.IBCZoneMonitorCallback> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            var p0 = global::Android.Runtime.JavaList <global::Com.Bluecats.Sdk.IBCBeacon> .FromJniHandle(native_p0, JniHandleOwnership.DoNotTransfer);

            global::Com.Bluecats.Sdk.BCZone p1 = global::Java.Lang.Object.GetObject <global::Com.Bluecats.Sdk.BCZone> (native_p1, JniHandleOwnership.DoNotTransfer);
            __this.DidRangeBeacons(p0, p1);
        }
        public unsafe void DidReenterZone(global::Com.Bluecats.Sdk.BCZone p0)
        {
            if (id_didReenterZone_Lcom_bluecats_sdk_BCZone_ == IntPtr.Zero)
            {
                id_didReenterZone_Lcom_bluecats_sdk_BCZone_ = JNIEnv.GetMethodID(class_ref, "didReenterZone", "(Lcom/bluecats/sdk/BCZone;)V");
            }
            JValue *__args = stackalloc JValue [1];

            __args [0] = new JValue(p0);
            JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_didReenterZone_Lcom_bluecats_sdk_BCZone_, __args);
        }
        public unsafe void DidDwellInZone(global::Com.Bluecats.Sdk.BCZone p0, global::Java.Lang.Integer p1)
        {
            if (id_didDwellInZone_Lcom_bluecats_sdk_BCZone_Ljava_lang_Integer_ == IntPtr.Zero)
            {
                id_didDwellInZone_Lcom_bluecats_sdk_BCZone_Ljava_lang_Integer_ = JNIEnv.GetMethodID(class_ref, "didDwellInZone", "(Lcom/bluecats/sdk/BCZone;Ljava/lang/Integer;)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_didDwellInZone_Lcom_bluecats_sdk_BCZone_Ljava_lang_Integer_, __args);
        }
        public unsafe void InZone(global::Com.Bluecats.Sdk.BCZone p0, long p1, long p2, long p3)
        {
            if (id_inZone_Lcom_bluecats_sdk_BCZone_JJJ == IntPtr.Zero)
            {
                id_inZone_Lcom_bluecats_sdk_BCZone_JJJ = JNIEnv.GetMethodID(class_ref, "inZone", "(Lcom/bluecats/sdk/BCZone;JJJ)V");
            }
            JValue *__args = stackalloc JValue [4];

            __args [0] = new JValue(p0);
            __args [1] = new JValue(p1);
            __args [2] = new JValue(p2);
            __args [3] = new JValue(p3);
            JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_inZone_Lcom_bluecats_sdk_BCZone_JJJ, __args);
        }
 static void n_InZone_Lcom_bluecats_sdk_BCZone_JJJ(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, long p1, long p2, long p3)
 {
     global::Com.Bluecats.Sdk.IBCZoneMonitorCallback __this = global::Java.Lang.Object.GetObject <global::Com.Bluecats.Sdk.IBCZoneMonitorCallback> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Bluecats.Sdk.BCZone p0 = global::Java.Lang.Object.GetObject <global::Com.Bluecats.Sdk.BCZone> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.InZone(p0, p1, p2, p3);
 }
 static void n_DidReenterZone_Lcom_bluecats_sdk_BCZone_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Com.Bluecats.Sdk.IBCZoneMonitorCallback __this = global::Java.Lang.Object.GetObject <global::Com.Bluecats.Sdk.IBCZoneMonitorCallback> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Bluecats.Sdk.BCZone p0 = global::Java.Lang.Object.GetObject <global::Com.Bluecats.Sdk.BCZone> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.DidReenterZone(p0);
 }
        public unsafe void DidRangeBeacons(global::System.Collections.Generic.IList <global::Com.Bluecats.Sdk.IBCBeacon> p0, global::Com.Bluecats.Sdk.BCZone p1)
        {
            if (id_didRangeBeacons_Ljava_util_List_Lcom_bluecats_sdk_BCZone_ == IntPtr.Zero)
            {
                id_didRangeBeacons_Ljava_util_List_Lcom_bluecats_sdk_BCZone_ = JNIEnv.GetMethodID(class_ref, "didRangeBeacons", "(Ljava/util/List;Lcom/bluecats/sdk/BCZone;)V");
            }
            IntPtr native_p0 = global::Android.Runtime.JavaList <global::Com.Bluecats.Sdk.IBCBeacon> .ToLocalJniHandle(p0);

            JValue *__args = stackalloc JValue [2];

            __args [0] = new JValue(native_p0);
            __args [1] = new JValue(p1);
            JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_didRangeBeacons_Ljava_util_List_Lcom_bluecats_sdk_BCZone_, __args);
            JNIEnv.DeleteLocalRef(native_p0);
        }