using System;
using System.Collections.Generic;
using Android.Runtime;
using Java.Interop;

namespace Com.Handheld.Uhfr {

	// Metadata.xml XPath class reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']"
	[global::Android.Runtime.Register ("com/handheld/uhfr/UHFRManager", DoNotGenerateAcw=true)]
	public partial class UHFRManager : global::Java.Lang.Object {

		// Metadata.xml XPath field reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/field[@name='dv']"
		[Register ("dv")]
		public global::Com.Uhf.Api.Cls.Reader.DeviceVersion Dv {
			get {
				const string __id = "dv.Lcom/uhf/api/cls/Reader$deviceVersion;";

				var __v = _members.InstanceFields.GetObjectValue (__id, this);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.DeviceVersion> (__v.Handle, JniHandleOwnership.TransferLocalRef);
			}
			set {
				const string __id = "dv.Lcom/uhf/api/cls/Reader$deviceVersion;";

				IntPtr native_value = global::Android.Runtime.JNIEnv.ToLocalJniHandle (value);
				try {
					_members.InstanceFields.SetValue (__id, this, new JniObjectReference (native_value));
				} finally {
					global::Android.Runtime.JNIEnv.DeleteLocalRef (native_value);
				}
			}
		}


		// Metadata.xml XPath field reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/field[@name='mErr']"
		[Register ("mErr")]
		public static global::Com.Uhf.Api.Cls.Reader.READER_ERR MErr {
			get {
				const string __id = "mErr.Lcom/uhf/api/cls/Reader$READER_ERR;";

				var __v = _members.StaticFields.GetObjectValue (__id);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__v.Handle, JniHandleOwnership.TransferLocalRef);
			}
			set {
				const string __id = "mErr.Lcom/uhf/api/cls/Reader$READER_ERR;";

				IntPtr native_value = global::Android.Runtime.JNIEnv.ToLocalJniHandle (value);
				try {
					_members.StaticFields.SetValue (__id, new JniObjectReference (native_value));
				} finally {
					global::Android.Runtime.JNIEnv.DeleteLocalRef (native_value);
				}
			}
		}

		static readonly JniPeerMembers _members = new XAPeerMembers ("com/handheld/uhfr/UHFRManager", typeof (UHFRManager));

		internal static IntPtr class_ref {
			get { return _members.JniPeerType.PeerReference.Handle; }
		}

		[global::System.Diagnostics.DebuggerBrowsable (global::System.Diagnostics.DebuggerBrowsableState.Never)]
		[global::System.ComponentModel.EditorBrowsable (global::System.ComponentModel.EditorBrowsableState.Never)]
		public override global::Java.Interop.JniPeerMembers JniPeerMembers {
			get { return _members; }
		}

		[global::System.Diagnostics.DebuggerBrowsable (global::System.Diagnostics.DebuggerBrowsableState.Never)]
		[global::System.ComponentModel.EditorBrowsable (global::System.ComponentModel.EditorBrowsableState.Never)]
		protected override IntPtr ThresholdClass {
			get { return _members.JniPeerType.PeerReference.Handle; }
		}

		[global::System.Diagnostics.DebuggerBrowsable (global::System.Diagnostics.DebuggerBrowsableState.Never)]
		[global::System.ComponentModel.EditorBrowsable (global::System.ComponentModel.EditorBrowsableState.Never)]
		protected override global::System.Type ThresholdType {
			get { return _members.ManagedPeerType; }
		}

		protected UHFRManager (IntPtr javaReference, JniHandleOwnership transfer) : base (javaReference, transfer)
		{
		}

		// Metadata.xml XPath constructor reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/constructor[@name='UHFRManager' and count(parameter)=0]"
		[Register (".ctor", "()V", "")]
		public unsafe UHFRManager () : base (IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
		{
			const string __id = "()V";

			if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
				return;

			try {
				var __r = _members.InstanceMethods.StartCreateInstance (__id, ((object) this).GetType (), null);
				SetHandle (__r.Handle, JniHandleOwnership.TransferLocalRef);
				_members.InstanceMethods.FinishCreateInstance (__id, this, null);
			} finally {
			}
		}

		static Delegate cb_getGen2session;
#pragma warning disable 0169
		static Delegate GetGetGen2sessionHandler ()
		{
			if (cb_getGen2session == null)
				cb_getGen2session = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_I) n_GetGen2session);
			return cb_getGen2session;
		}

		static int n_GetGen2session (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.Gen2session;
		}
#pragma warning restore 0169

		public virtual unsafe int Gen2session {
			// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='getGen2session' and count(parameter)=0]"
			[Register ("getGen2session", "()I", "GetGetGen2sessionHandler")]
			get {
				const string __id = "getGen2session.()I";
				try {
					var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, null);
					return __rm;
				} finally {
				}
			}
		}

		static Delegate cb_getHardware;
#pragma warning disable 0169
		static Delegate GetGetHardwareHandler ()
		{
			if (cb_getHardware == null)
				cb_getHardware = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_L) n_GetHardware);
			return cb_getHardware;
		}

		static IntPtr n_GetHardware (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return JNIEnv.NewString (__this.Hardware);
		}
#pragma warning restore 0169

		public virtual unsafe string Hardware {
			// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='getHardware' and count(parameter)=0]"
			[Register ("getHardware", "()Ljava/lang/String;", "GetGetHardwareHandler")]
			get {
				const string __id = "getHardware.()Ljava/lang/String;";
				try {
					var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
					return JNIEnv.GetString (__rm.Handle, JniHandleOwnership.TransferLocalRef);
				} finally {
				}
			}
		}

		static Delegate cb_getInfo;
#pragma warning disable 0169
		static Delegate GetGetInfoHandler ()
		{
			if (cb_getInfo == null)
				cb_getInfo = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_L) n_GetInfo);
			return cb_getInfo;
		}

		static IntPtr n_GetInfo (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return JNIEnv.NewString (__this.Info);
		}
#pragma warning restore 0169

		public virtual unsafe string Info {
			// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='getInfo' and count(parameter)=0]"
			[Register ("getInfo", "()Ljava/lang/String;", "GetGetInfoHandler")]
			get {
				const string __id = "getInfo.()Ljava/lang/String;";
				try {
					var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
					return JNIEnv.GetString (__rm.Handle, JniHandleOwnership.TransferLocalRef);
				} finally {
				}
			}
		}

		public static unsafe global::Com.Handheld.Uhfr.UHFRManager Instance {
			// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='getInstance' and count(parameter)=0]"
			[Register ("getInstance", "()Lcom/handheld/uhfr/UHFRManager;", "")]
			get {
				const string __id = "getInstance.()Lcom/handheld/uhfr/UHFRManager;";
				try {
					var __rm = _members.StaticMethods.InvokeObjectMethod (__id, null);
					return global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
				} finally {
				}
			}
		}

		static Delegate cb_getQvalue;
#pragma warning disable 0169
		static Delegate GetGetQvalueHandler ()
		{
			if (cb_getQvalue == null)
				cb_getQvalue = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_I) n_GetQvalue);
			return cb_getQvalue;
		}

		static int n_GetQvalue (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.Qvalue;
		}
#pragma warning restore 0169

		public virtual unsafe int Qvalue {
			// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='getQvalue' and count(parameter)=0]"
			[Register ("getQvalue", "()I", "GetGetQvalueHandler")]
			get {
				const string __id = "getQvalue.()I";
				try {
					var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, null);
					return __rm;
				} finally {
				}
			}
		}

		static Delegate cb_getRegion;
#pragma warning disable 0169
		static Delegate GetGetRegionHandler ()
		{
			if (cb_getRegion == null)
				cb_getRegion = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_L) n_GetRegion);
			return cb_getRegion;
		}

		static IntPtr n_GetRegion (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return JNIEnv.ToLocalJniHandle (__this.Region);
		}
#pragma warning restore 0169

		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.Region_Conf Region {
			// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='getRegion' and count(parameter)=0]"
			[Register ("getRegion", "()Lcom/uhf/api/cls/Reader$Region_Conf;", "GetGetRegionHandler")]
			get {
				const string __id = "getRegion.()Lcom/uhf/api/cls/Reader$Region_Conf;";
				try {
					var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
					return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.Region_Conf> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
				} finally {
				}
			}
		}

		static Delegate cb_getTarget;
#pragma warning disable 0169
		static Delegate GetGetTargetHandler ()
		{
			if (cb_getTarget == null)
				cb_getTarget = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_I) n_GetTarget);
			return cb_getTarget;
		}

		static int n_GetTarget (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.Target;
		}
#pragma warning restore 0169

		public virtual unsafe int Target {
			// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='getTarget' and count(parameter)=0]"
			[Register ("getTarget", "()I", "GetGetTargetHandler")]
			get {
				const string __id = "getTarget.()I";
				try {
					var __rm = _members.InstanceMethods.InvokeVirtualInt32Method (__id, this, null);
					return __rm;
				} finally {
				}
			}
		}

		static Delegate cb_asyncStartReading;
#pragma warning disable 0169
		static Delegate GetAsyncStartReadingHandler ()
		{
			if (cb_asyncStartReading == null)
				cb_asyncStartReading = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_L) n_AsyncStartReading);
			return cb_asyncStartReading;
		}

		static IntPtr n_AsyncStartReading (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return JNIEnv.ToLocalJniHandle (__this.AsyncStartReading ());
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='asyncStartReading' and count(parameter)=0]"
		[Register ("asyncStartReading", "()Lcom/uhf/api/cls/Reader$READER_ERR;", "GetAsyncStartReadingHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR AsyncStartReading ()
		{
			const string __id = "asyncStartReading.()Lcom/uhf/api/cls/Reader$READER_ERR;";
			try {
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
			}
		}

		static Delegate cb_asyncStartReading_I;
#pragma warning disable 0169
		static Delegate GetAsyncStartReading_IHandler ()
		{
			if (cb_asyncStartReading_I == null)
				cb_asyncStartReading_I = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPI_L) n_AsyncStartReading_I);
			return cb_asyncStartReading_I;
		}

		static IntPtr n_AsyncStartReading_I (IntPtr jnienv, IntPtr native__this, int option)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return JNIEnv.ToLocalJniHandle (__this.AsyncStartReading (option));
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='asyncStartReading' and count(parameter)=1 and parameter[1][@type='int']]"
		[Register ("asyncStartReading", "(I)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetAsyncStartReading_IHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR AsyncStartReading (int option)
		{
			const string __id = "asyncStartReading.(I)Lcom/uhf/api/cls/Reader$READER_ERR;";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (option);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
			}
		}

		static Delegate cb_asyncStopReading;
#pragma warning disable 0169
		static Delegate GetAsyncStopReadingHandler ()
		{
			if (cb_asyncStopReading == null)
				cb_asyncStopReading = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_L) n_AsyncStopReading);
			return cb_asyncStopReading;
		}

		static IntPtr n_AsyncStopReading (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return JNIEnv.ToLocalJniHandle (__this.AsyncStopReading ());
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='asyncStopReading' and count(parameter)=0]"
		[Register ("asyncStopReading", "()Lcom/uhf/api/cls/Reader$READER_ERR;", "GetAsyncStopReadingHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR AsyncStopReading ()
		{
			const string __id = "asyncStopReading.()Lcom/uhf/api/cls/Reader$READER_ERR;";
			try {
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
			}
		}

		static Delegate cb_close;
#pragma warning disable 0169
		static Delegate GetCloseHandler ()
		{
			if (cb_close == null)
				cb_close = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_Z) n_Close);
			return cb_close;
		}

		static bool n_Close (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.Close ();
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='close' and count(parameter)=0]"
		[Register ("close", "()Z", "GetCloseHandler")]
		public virtual unsafe bool Close ()
		{
			const string __id = "close.()Z";
			try {
				var __rm = _members.InstanceMethods.InvokeVirtualBooleanMethod (__id, this, null);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_getPower;
#pragma warning disable 0169
		static Delegate GetGetPowerHandler ()
		{
			if (cb_getPower == null)
				cb_getPower = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_L) n_GetPower);
			return cb_getPower;
		}

		static IntPtr n_GetPower (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return JNIEnv.NewArray (__this.GetPower ());
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='getPower' and count(parameter)=0]"
		[Register ("getPower", "()[I", "GetGetPowerHandler")]
		public virtual unsafe int[] GetPower ()
		{
			const string __id = "getPower.()[I";
			try {
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
				return (int[]) JNIEnv.GetArray (__rm.Handle, JniHandleOwnership.TransferLocalRef, typeof (int));
			} finally {
			}
		}

		static Delegate cb_getTagData_IIIarrayBarrayBS;
#pragma warning disable 0169
		static Delegate GetGetTagData_IIIarrayBarrayBSHandler ()
		{
			if (cb_getTagData_IIIarrayBarrayBS == null)
				cb_getTagData_IIIarrayBarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIILLS_L) n_GetTagData_IIIarrayBarrayBS);
			return cb_getTagData_IIIarrayBarrayBS;
		}

		static IntPtr n_GetTagData_IIIarrayBarrayBS (IntPtr jnienv, IntPtr native__this, int mbank, int startaddr, int len, IntPtr native_rdata, IntPtr native_password, short timeout)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var rdata = (byte[]) JNIEnv.GetArray (native_rdata, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var password = (byte[]) JNIEnv.GetArray (native_password, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.GetTagData (mbank, startaddr, len, rdata, password, timeout));
			if (rdata != null)
				JNIEnv.CopyArray (rdata, native_rdata);
			if (password != null)
				JNIEnv.CopyArray (password, native_password);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='getTagData' and count(parameter)=6 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='byte[]'] and parameter[5][@type='byte[]'] and parameter[6][@type='short']]"
		[Register ("getTagData", "(III[B[BS)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetGetTagData_IIIarrayBarrayBSHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR GetTagData (int mbank, int startaddr, int len, byte[] rdata, byte[] password, short timeout)
		{
			const string __id = "getTagData.(III[B[BS)Lcom/uhf/api/cls/Reader$READER_ERR;";
			IntPtr native_rdata = JNIEnv.NewArray (rdata);
			IntPtr native_password = JNIEnv.NewArray (password);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [6];
				__args [0] = new JniArgumentValue (mbank);
				__args [1] = new JniArgumentValue (startaddr);
				__args [2] = new JniArgumentValue (len);
				__args [3] = new JniArgumentValue (native_rdata);
				__args [4] = new JniArgumentValue (native_password);
				__args [5] = new JniArgumentValue (timeout);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				if (rdata != null) {
					JNIEnv.CopyArray (native_rdata, rdata);
					JNIEnv.DeleteLocalRef (native_rdata);
				}
				if (password != null) {
					JNIEnv.CopyArray (native_password, password);
					JNIEnv.DeleteLocalRef (native_password);
				}
				global::System.GC.KeepAlive (rdata);
				global::System.GC.KeepAlive (password);
			}
		}

		static Delegate cb_getTagDataByFilter_IIIarrayBSarrayBIIZ;
#pragma warning disable 0169
		static Delegate GetGetTagDataByFilter_IIIarrayBSarrayBIIZHandler ()
		{
			if (cb_getTagDataByFilter_IIIarrayBSarrayBIIZ == null)
				cb_getTagDataByFilter_IIIarrayBSarrayBIIZ = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPIIILSLIIZ_L) n_GetTagDataByFilter_IIIarrayBSarrayBIIZ);
			return cb_getTagDataByFilter_IIIarrayBSarrayBIIZ;
		}

		static IntPtr n_GetTagDataByFilter_IIIarrayBSarrayBIIZ (IntPtr jnienv, IntPtr native__this, int mbank, int startaddr, int len, IntPtr native_password, short timeout, IntPtr native_fdata, int fbank, int fstartaddr, bool matching)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var password = (byte[]) JNIEnv.GetArray (native_password, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var fdata = (byte[]) JNIEnv.GetArray (native_fdata, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = JNIEnv.NewArray (__this.GetTagDataByFilter (mbank, startaddr, len, password, timeout, fdata, fbank, fstartaddr, matching));
			if (password != null)
				JNIEnv.CopyArray (password, native_password);
			if (fdata != null)
				JNIEnv.CopyArray (fdata, native_fdata);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='getTagDataByFilter' and count(parameter)=9 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='byte[]'] and parameter[5][@type='short'] and parameter[6][@type='byte[]'] and parameter[7][@type='int'] and parameter[8][@type='int'] and parameter[9][@type='boolean']]"
		[Register ("getTagDataByFilter", "(III[BS[BIIZ)[B", "GetGetTagDataByFilter_IIIarrayBSarrayBIIZHandler")]
		public virtual unsafe byte[] GetTagDataByFilter (int mbank, int startaddr, int len, byte[] password, short timeout, byte[] fdata, int fbank, int fstartaddr, bool matching)
		{
			const string __id = "getTagDataByFilter.(III[BS[BIIZ)[B";
			IntPtr native_password = JNIEnv.NewArray (password);
			IntPtr native_fdata = JNIEnv.NewArray (fdata);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [9];
				__args [0] = new JniArgumentValue (mbank);
				__args [1] = new JniArgumentValue (startaddr);
				__args [2] = new JniArgumentValue (len);
				__args [3] = new JniArgumentValue (native_password);
				__args [4] = new JniArgumentValue (timeout);
				__args [5] = new JniArgumentValue (native_fdata);
				__args [6] = new JniArgumentValue (fbank);
				__args [7] = new JniArgumentValue (fstartaddr);
				__args [8] = new JniArgumentValue (matching);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return (byte[]) JNIEnv.GetArray (__rm.Handle, JniHandleOwnership.TransferLocalRef, typeof (byte));
			} finally {
				if (password != null) {
					JNIEnv.CopyArray (native_password, password);
					JNIEnv.DeleteLocalRef (native_password);
				}
				if (fdata != null) {
					JNIEnv.CopyArray (native_fdata, fdata);
					JNIEnv.DeleteLocalRef (native_fdata);
				}
				global::System.GC.KeepAlive (password);
				global::System.GC.KeepAlive (fdata);
			}
		}

		static Delegate cb_killTag_arrayBS;
#pragma warning disable 0169
		static Delegate GetKillTag_arrayBSHandler ()
		{
			if (cb_killTag_arrayBS == null)
				cb_killTag_arrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPLS_L) n_KillTag_arrayBS);
			return cb_killTag_arrayBS;
		}

		static IntPtr n_KillTag_arrayBS (IntPtr jnienv, IntPtr native__this, IntPtr native_killpasswd, short timeout)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var killpasswd = (byte[]) JNIEnv.GetArray (native_killpasswd, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.KillTag (killpasswd, timeout));
			if (killpasswd != null)
				JNIEnv.CopyArray (killpasswd, native_killpasswd);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='killTag' and count(parameter)=2 and parameter[1][@type='byte[]'] and parameter[2][@type='short']]"
		[Register ("killTag", "([BS)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetKillTag_arrayBSHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR KillTag (byte[] killpasswd, short timeout)
		{
			const string __id = "killTag.([BS)Lcom/uhf/api/cls/Reader$READER_ERR;";
			IntPtr native_killpasswd = JNIEnv.NewArray (killpasswd);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (native_killpasswd);
				__args [1] = new JniArgumentValue (timeout);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				if (killpasswd != null) {
					JNIEnv.CopyArray (native_killpasswd, killpasswd);
					JNIEnv.DeleteLocalRef (native_killpasswd);
				}
				global::System.GC.KeepAlive (killpasswd);
			}
		}

		static Delegate cb_killTagByFilter_arrayBSarrayBIIZ;
#pragma warning disable 0169
		static Delegate GetKillTagByFilter_arrayBSarrayBIIZHandler ()
		{
			if (cb_killTagByFilter_arrayBSarrayBIIZ == null)
				cb_killTagByFilter_arrayBSarrayBIIZ = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPLSLIIZ_L) n_KillTagByFilter_arrayBSarrayBIIZ);
			return cb_killTagByFilter_arrayBSarrayBIIZ;
		}

		static IntPtr n_KillTagByFilter_arrayBSarrayBIIZ (IntPtr jnienv, IntPtr native__this, IntPtr native_killpasswd, short timeout, IntPtr native_fdata, int fbank, int fstartaddr, bool matching)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var killpasswd = (byte[]) JNIEnv.GetArray (native_killpasswd, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var fdata = (byte[]) JNIEnv.GetArray (native_fdata, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.KillTagByFilter (killpasswd, timeout, fdata, fbank, fstartaddr, matching));
			if (killpasswd != null)
				JNIEnv.CopyArray (killpasswd, native_killpasswd);
			if (fdata != null)
				JNIEnv.CopyArray (fdata, native_fdata);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='killTagByFilter' and count(parameter)=6 and parameter[1][@type='byte[]'] and parameter[2][@type='short'] and parameter[3][@type='byte[]'] and parameter[4][@type='int'] and parameter[5][@type='int'] and parameter[6][@type='boolean']]"
		[Register ("killTagByFilter", "([BS[BIIZ)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetKillTagByFilter_arrayBSarrayBIIZHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR KillTagByFilter (byte[] killpasswd, short timeout, byte[] fdata, int fbank, int fstartaddr, bool matching)
		{
			const string __id = "killTagByFilter.([BS[BIIZ)Lcom/uhf/api/cls/Reader$READER_ERR;";
			IntPtr native_killpasswd = JNIEnv.NewArray (killpasswd);
			IntPtr native_fdata = JNIEnv.NewArray (fdata);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [6];
				__args [0] = new JniArgumentValue (native_killpasswd);
				__args [1] = new JniArgumentValue (timeout);
				__args [2] = new JniArgumentValue (native_fdata);
				__args [3] = new JniArgumentValue (fbank);
				__args [4] = new JniArgumentValue (fstartaddr);
				__args [5] = new JniArgumentValue (matching);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				if (killpasswd != null) {
					JNIEnv.CopyArray (native_killpasswd, killpasswd);
					JNIEnv.DeleteLocalRef (native_killpasswd);
				}
				if (fdata != null) {
					JNIEnv.CopyArray (native_fdata, fdata);
					JNIEnv.DeleteLocalRef (native_fdata);
				}
				global::System.GC.KeepAlive (killpasswd);
				global::System.GC.KeepAlive (fdata);
			}
		}

		static Delegate cb_lockTag_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBS;
#pragma warning disable 0169
		static Delegate GetLockTag_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBSHandler ()
		{
			if (cb_lockTag_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBS == null)
				cb_lockTag_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPLLLS_L) n_LockTag_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBS);
			return cb_lockTag_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBS;
		}

		static IntPtr n_LockTag_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBS (IntPtr jnienv, IntPtr native__this, IntPtr native_lockobject, IntPtr native_locktype, IntPtr native_accesspasswd, short timeout)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var lockobject = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.Lock_Obj> (native_lockobject, JniHandleOwnership.DoNotTransfer);
			var locktype = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.Lock_Type> (native_locktype, JniHandleOwnership.DoNotTransfer);
			var accesspasswd = (byte[]) JNIEnv.GetArray (native_accesspasswd, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.LockTag (lockobject, locktype, accesspasswd, timeout));
			if (accesspasswd != null)
				JNIEnv.CopyArray (accesspasswd, native_accesspasswd);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='lockTag' and count(parameter)=4 and parameter[1][@type='com.uhf.api.cls.Reader.Lock_Obj'] and parameter[2][@type='com.uhf.api.cls.Reader.Lock_Type'] and parameter[3][@type='byte[]'] and parameter[4][@type='short']]"
		[Register ("lockTag", "(Lcom/uhf/api/cls/Reader$Lock_Obj;Lcom/uhf/api/cls/Reader$Lock_Type;[BS)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetLockTag_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBSHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR LockTag (global::Com.Uhf.Api.Cls.Reader.Lock_Obj lockobject, global::Com.Uhf.Api.Cls.Reader.Lock_Type locktype, byte[] accesspasswd, short timeout)
		{
			const string __id = "lockTag.(Lcom/uhf/api/cls/Reader$Lock_Obj;Lcom/uhf/api/cls/Reader$Lock_Type;[BS)Lcom/uhf/api/cls/Reader$READER_ERR;";
			IntPtr native_accesspasswd = JNIEnv.NewArray (accesspasswd);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [4];
				__args [0] = new JniArgumentValue ((lockobject == null) ? IntPtr.Zero : ((global::Java.Lang.Object) lockobject).Handle);
				__args [1] = new JniArgumentValue ((locktype == null) ? IntPtr.Zero : ((global::Java.Lang.Object) locktype).Handle);
				__args [2] = new JniArgumentValue (native_accesspasswd);
				__args [3] = new JniArgumentValue (timeout);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				if (accesspasswd != null) {
					JNIEnv.CopyArray (native_accesspasswd, accesspasswd);
					JNIEnv.DeleteLocalRef (native_accesspasswd);
				}
				global::System.GC.KeepAlive (lockobject);
				global::System.GC.KeepAlive (locktype);
				global::System.GC.KeepAlive (accesspasswd);
			}
		}

		static Delegate cb_lockTagByFilter_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBSarrayBIIZ;
#pragma warning disable 0169
		static Delegate GetLockTagByFilter_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBSarrayBIIZHandler ()
		{
			if (cb_lockTagByFilter_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBSarrayBIIZ == null)
				cb_lockTagByFilter_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBSarrayBIIZ = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPLLLSLIIZ_L) n_LockTagByFilter_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBSarrayBIIZ);
			return cb_lockTagByFilter_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBSarrayBIIZ;
		}

		static IntPtr n_LockTagByFilter_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBSarrayBIIZ (IntPtr jnienv, IntPtr native__this, IntPtr native_lockobject, IntPtr native_locktype, IntPtr native_accesspasswd, short timeout, IntPtr native_fdata, int fbank, int fstartaddr, bool matching)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var lockobject = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.Lock_Obj> (native_lockobject, JniHandleOwnership.DoNotTransfer);
			var locktype = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.Lock_Type> (native_locktype, JniHandleOwnership.DoNotTransfer);
			var accesspasswd = (byte[]) JNIEnv.GetArray (native_accesspasswd, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var fdata = (byte[]) JNIEnv.GetArray (native_fdata, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.LockTagByFilter (lockobject, locktype, accesspasswd, timeout, fdata, fbank, fstartaddr, matching));
			if (accesspasswd != null)
				JNIEnv.CopyArray (accesspasswd, native_accesspasswd);
			if (fdata != null)
				JNIEnv.CopyArray (fdata, native_fdata);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='lockTagByFilter' and count(parameter)=8 and parameter[1][@type='com.uhf.api.cls.Reader.Lock_Obj'] and parameter[2][@type='com.uhf.api.cls.Reader.Lock_Type'] and parameter[3][@type='byte[]'] and parameter[4][@type='short'] and parameter[5][@type='byte[]'] and parameter[6][@type='int'] and parameter[7][@type='int'] and parameter[8][@type='boolean']]"
		[Register ("lockTagByFilter", "(Lcom/uhf/api/cls/Reader$Lock_Obj;Lcom/uhf/api/cls/Reader$Lock_Type;[BS[BIIZ)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetLockTagByFilter_Lcom_uhf_api_cls_Reader_Lock_Obj_Lcom_uhf_api_cls_Reader_Lock_Type_arrayBSarrayBIIZHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR LockTagByFilter (global::Com.Uhf.Api.Cls.Reader.Lock_Obj lockobject, global::Com.Uhf.Api.Cls.Reader.Lock_Type locktype, byte[] accesspasswd, short timeout, byte[] fdata, int fbank, int fstartaddr, bool matching)
		{
			const string __id = "lockTagByFilter.(Lcom/uhf/api/cls/Reader$Lock_Obj;Lcom/uhf/api/cls/Reader$Lock_Type;[BS[BIIZ)Lcom/uhf/api/cls/Reader$READER_ERR;";
			IntPtr native_accesspasswd = JNIEnv.NewArray (accesspasswd);
			IntPtr native_fdata = JNIEnv.NewArray (fdata);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [8];
				__args [0] = new JniArgumentValue ((lockobject == null) ? IntPtr.Zero : ((global::Java.Lang.Object) lockobject).Handle);
				__args [1] = new JniArgumentValue ((locktype == null) ? IntPtr.Zero : ((global::Java.Lang.Object) locktype).Handle);
				__args [2] = new JniArgumentValue (native_accesspasswd);
				__args [3] = new JniArgumentValue (timeout);
				__args [4] = new JniArgumentValue (native_fdata);
				__args [5] = new JniArgumentValue (fbank);
				__args [6] = new JniArgumentValue (fstartaddr);
				__args [7] = new JniArgumentValue (matching);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				if (accesspasswd != null) {
					JNIEnv.CopyArray (native_accesspasswd, accesspasswd);
					JNIEnv.DeleteLocalRef (native_accesspasswd);
				}
				if (fdata != null) {
					JNIEnv.CopyArray (native_fdata, fdata);
					JNIEnv.DeleteLocalRef (native_fdata);
				}
				global::System.GC.KeepAlive (lockobject);
				global::System.GC.KeepAlive (locktype);
				global::System.GC.KeepAlive (accesspasswd);
				global::System.GC.KeepAlive (fdata);
			}
		}

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='setBaudrate' and count(parameter)=1 and parameter[1][@type='int']]"
		[Register ("setBaudrate", "(I)Z", "")]
		public static unsafe bool SetBaudrate (int baudtrate)
		{
			const string __id = "setBaudrate.(I)Z";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (baudtrate);
				var __rm = _members.StaticMethods.InvokeBooleanMethod (__id, __args);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_setCancleInventoryFilter;
#pragma warning disable 0169
		static Delegate GetSetCancleInventoryFilterHandler ()
		{
			if (cb_setCancleInventoryFilter == null)
				cb_setCancleInventoryFilter = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_Z) n_SetCancleInventoryFilter);
			return cb_setCancleInventoryFilter;
		}

		static bool n_SetCancleInventoryFilter (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.SetCancleInventoryFilter ();
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='setCancleInventoryFilter' and count(parameter)=0]"
		[Register ("setCancleInventoryFilter", "()Z", "GetSetCancleInventoryFilterHandler")]
		public virtual unsafe bool SetCancleInventoryFilter ()
		{
			const string __id = "setCancleInventoryFilter.()Z";
			try {
				var __rm = _members.InstanceMethods.InvokeVirtualBooleanMethod (__id, this, null);
				return __rm;
			} finally {
			}
		}

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='setDebuggable' and count(parameter)=1 and parameter[1][@type='boolean']]"
		[Register ("setDebuggable", "(Z)V", "")]
		public static unsafe void SetDebuggable (bool debuggable)
		{
			const string __id = "setDebuggable.(Z)V";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (debuggable);
				_members.StaticMethods.InvokeVoidMethod (__id, __args);
			} finally {
			}
		}

		static Delegate cb_setFastID_Z;
#pragma warning disable 0169
		static Delegate GetSetFastID_ZHandler ()
		{
			if (cb_setFastID_Z == null)
				cb_setFastID_Z = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPZ_Z) n_SetFastID_Z);
			return cb_setFastID_Z;
		}

		static bool n_SetFastID_Z (IntPtr jnienv, IntPtr native__this, bool isOpenFastTiD)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.SetFastID (isOpenFastTiD);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='setFastID' and count(parameter)=1 and parameter[1][@type='boolean']]"
		[Register ("setFastID", "(Z)Z", "GetSetFastID_ZHandler")]
		public virtual unsafe bool SetFastID (bool isOpenFastTiD)
		{
			const string __id = "setFastID.(Z)Z";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (isOpenFastTiD);
				var __rm = _members.InstanceMethods.InvokeVirtualBooleanMethod (__id, this, __args);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_setGen2session_Z;
#pragma warning disable 0169
		static Delegate GetSetGen2session_ZHandler ()
		{
			if (cb_setGen2session_Z == null)
				cb_setGen2session_Z = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPZ_Z) n_SetGen2session_Z);
			return cb_setGen2session_Z;
		}

		static bool n_SetGen2session_Z (IntPtr jnienv, IntPtr native__this, bool isMulti)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.SetGen2session (isMulti);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='setGen2session' and count(parameter)=1 and parameter[1][@type='boolean']]"
		[Register ("setGen2session", "(Z)Z", "GetSetGen2session_ZHandler")]
		public virtual unsafe bool SetGen2session (bool isMulti)
		{
			const string __id = "setGen2session.(Z)Z";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (isMulti);
				var __rm = _members.InstanceMethods.InvokeVirtualBooleanMethod (__id, this, __args);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_setGen2session_I;
#pragma warning disable 0169
		static Delegate GetSetGen2session_IHandler ()
		{
			if (cb_setGen2session_I == null)
				cb_setGen2session_I = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPI_Z) n_SetGen2session_I);
			return cb_setGen2session_I;
		}

		static bool n_SetGen2session_I (IntPtr jnienv, IntPtr native__this, int session)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.SetGen2session (session);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='setGen2session' and count(parameter)=1 and parameter[1][@type='int']]"
		[Register ("setGen2session", "(I)Z", "GetSetGen2session_IHandler")]
		public virtual unsafe bool SetGen2session (int session)
		{
			const string __id = "setGen2session.(I)Z";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (session);
				var __rm = _members.InstanceMethods.InvokeVirtualBooleanMethod (__id, this, __args);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_setInventoryFilter_arrayBIIZ;
#pragma warning disable 0169
		static Delegate GetSetInventoryFilter_arrayBIIZHandler ()
		{
			if (cb_setInventoryFilter_arrayBIIZ == null)
				cb_setInventoryFilter_arrayBIIZ = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPLIIZ_Z) n_SetInventoryFilter_arrayBIIZ);
			return cb_setInventoryFilter_arrayBIIZ;
		}

		static bool n_SetInventoryFilter_arrayBIIZ (IntPtr jnienv, IntPtr native__this, IntPtr native_fdata, int fbank, int fstartaddr, bool matching)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var fdata = (byte[]) JNIEnv.GetArray (native_fdata, JniHandleOwnership.DoNotTransfer, typeof (byte));
			bool __ret = __this.SetInventoryFilter (fdata, fbank, fstartaddr, matching);
			if (fdata != null)
				JNIEnv.CopyArray (fdata, native_fdata);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='setInventoryFilter' and count(parameter)=4 and parameter[1][@type='byte[]'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='boolean']]"
		[Register ("setInventoryFilter", "([BIIZ)Z", "GetSetInventoryFilter_arrayBIIZHandler")]
		public virtual unsafe bool SetInventoryFilter (byte[] fdata, int fbank, int fstartaddr, bool matching)
		{
			const string __id = "setInventoryFilter.([BIIZ)Z";
			IntPtr native_fdata = JNIEnv.NewArray (fdata);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [4];
				__args [0] = new JniArgumentValue (native_fdata);
				__args [1] = new JniArgumentValue (fbank);
				__args [2] = new JniArgumentValue (fstartaddr);
				__args [3] = new JniArgumentValue (matching);
				var __rm = _members.InstanceMethods.InvokeVirtualBooleanMethod (__id, this, __args);
				return __rm;
			} finally {
				if (fdata != null) {
					JNIEnv.CopyArray (native_fdata, fdata);
					JNIEnv.DeleteLocalRef (native_fdata);
				}
				global::System.GC.KeepAlive (fdata);
			}
		}

		static Delegate cb_setPower_II;
#pragma warning disable 0169
		static Delegate GetSetPower_IIHandler ()
		{
			if (cb_setPower_II == null)
				cb_setPower_II = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPII_L) n_SetPower_II);
			return cb_setPower_II;
		}

		static IntPtr n_SetPower_II (IntPtr jnienv, IntPtr native__this, int readPower, int writePower)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return JNIEnv.ToLocalJniHandle (__this.SetPower (readPower, writePower));
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='setPower' and count(parameter)=2 and parameter[1][@type='int'] and parameter[2][@type='int']]"
		[Register ("setPower", "(II)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetSetPower_IIHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR SetPower (int readPower, int writePower)
		{
			const string __id = "setPower.(II)Lcom/uhf/api/cls/Reader$READER_ERR;";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [2];
				__args [0] = new JniArgumentValue (readPower);
				__args [1] = new JniArgumentValue (writePower);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
			}
		}

		static Delegate cb_setRegion_Lcom_uhf_api_cls_Reader_Region_Conf_;
#pragma warning disable 0169
		static Delegate GetSetRegion_Lcom_uhf_api_cls_Reader_Region_Conf_Handler ()
		{
			if (cb_setRegion_Lcom_uhf_api_cls_Reader_Region_Conf_ == null)
				cb_setRegion_Lcom_uhf_api_cls_Reader_Region_Conf_ = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPL_L) n_SetRegion_Lcom_uhf_api_cls_Reader_Region_Conf_);
			return cb_setRegion_Lcom_uhf_api_cls_Reader_Region_Conf_;
		}

		static IntPtr n_SetRegion_Lcom_uhf_api_cls_Reader_Region_Conf_ (IntPtr jnienv, IntPtr native__this, IntPtr native_region)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var region = global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.Region_Conf> (native_region, JniHandleOwnership.DoNotTransfer);
			IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.SetRegion (region));
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='setRegion' and count(parameter)=1 and parameter[1][@type='com.uhf.api.cls.Reader.Region_Conf']]"
		[Register ("setRegion", "(Lcom/uhf/api/cls/Reader$Region_Conf;)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetSetRegion_Lcom_uhf_api_cls_Reader_Region_Conf_Handler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR SetRegion (global::Com.Uhf.Api.Cls.Reader.Region_Conf region)
		{
			const string __id = "setRegion.(Lcom/uhf/api/cls/Reader$Region_Conf;)Lcom/uhf/api/cls/Reader$READER_ERR;";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue ((region == null) ? IntPtr.Zero : ((global::Java.Lang.Object) region).Handle);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				global::System.GC.KeepAlive (region);
			}
		}

		static Delegate cb_setTarget_I;
#pragma warning disable 0169
		static Delegate GetSetTarget_IHandler ()
		{
			if (cb_setTarget_I == null)
				cb_setTarget_I = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPI_Z) n_SetTarget_I);
			return cb_setTarget_I;
		}

		static bool n_SetTarget_I (IntPtr jnienv, IntPtr native__this, int target)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.SetTarget (target);
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='setTarget' and count(parameter)=1 and parameter[1][@type='int']]"
		[Register ("setTarget", "(I)Z", "GetSetTarget_IHandler")]
		public virtual unsafe bool SetTarget (int target)
		{
			const string __id = "setTarget.(I)Z";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (target);
				var __rm = _members.InstanceMethods.InvokeVirtualBooleanMethod (__id, this, __args);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_stopTagInventory;
#pragma warning disable 0169
		static Delegate GetStopTagInventoryHandler ()
		{
			if (cb_stopTagInventory == null)
				cb_stopTagInventory = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_Z) n_StopTagInventory);
			return cb_stopTagInventory;
		}

		static bool n_StopTagInventory (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return __this.StopTagInventory ();
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='stopTagInventory' and count(parameter)=0]"
		[Register ("stopTagInventory", "()Z", "GetStopTagInventoryHandler")]
		public virtual unsafe bool StopTagInventory ()
		{
			const string __id = "stopTagInventory.()Z";
			try {
				var __rm = _members.InstanceMethods.InvokeVirtualBooleanMethod (__id, this, null);
				return __rm;
			} finally {
			}
		}

		static Delegate cb_tagEpcOtherInventoryByTimer_SIIIarrayB;
#pragma warning disable 0169
		static Delegate GetTagEpcOtherInventoryByTimer_SIIIarrayBHandler ()
		{
			if (cb_tagEpcOtherInventoryByTimer_SIIIarrayB == null)
				cb_tagEpcOtherInventoryByTimer_SIIIarrayB = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPSIIIL_L) n_TagEpcOtherInventoryByTimer_SIIIarrayB);
			return cb_tagEpcOtherInventoryByTimer_SIIIarrayB;
		}

		static IntPtr n_TagEpcOtherInventoryByTimer_SIIIarrayB (IntPtr jnienv, IntPtr native__this, short readtime, int bank, int startaddr, int bytecnt, IntPtr native_accesspwd)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var accesspwd = (byte[]) JNIEnv.GetArray (native_accesspwd, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = global::Android.Runtime.JavaList<global::Com.Uhf.Api.Cls.Reader.TAGINFO>.ToLocalJniHandle (__this.TagEpcOtherInventoryByTimer (readtime, bank, startaddr, bytecnt, accesspwd));
			if (accesspwd != null)
				JNIEnv.CopyArray (accesspwd, native_accesspwd);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='tagEpcOtherInventoryByTimer' and count(parameter)=5 and parameter[1][@type='short'] and parameter[2][@type='int'] and parameter[3][@type='int'] and parameter[4][@type='int'] and parameter[5][@type='byte[]']]"
		[Register ("tagEpcOtherInventoryByTimer", "(SIII[B)Ljava/util/List;", "GetTagEpcOtherInventoryByTimer_SIIIarrayBHandler")]
		public virtual unsafe global::System.Collections.Generic.IList<global::Com.Uhf.Api.Cls.Reader.TAGINFO> TagEpcOtherInventoryByTimer (short readtime, int bank, int startaddr, int bytecnt, byte[] accesspwd)
		{
			const string __id = "tagEpcOtherInventoryByTimer.(SIII[B)Ljava/util/List;";
			IntPtr native_accesspwd = JNIEnv.NewArray (accesspwd);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [5];
				__args [0] = new JniArgumentValue (readtime);
				__args [1] = new JniArgumentValue (bank);
				__args [2] = new JniArgumentValue (startaddr);
				__args [3] = new JniArgumentValue (bytecnt);
				__args [4] = new JniArgumentValue (native_accesspwd);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Android.Runtime.JavaList<global::Com.Uhf.Api.Cls.Reader.TAGINFO>.FromJniHandle (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				if (accesspwd != null) {
					JNIEnv.CopyArray (native_accesspwd, accesspwd);
					JNIEnv.DeleteLocalRef (native_accesspwd);
				}
				global::System.GC.KeepAlive (accesspwd);
			}
		}

		static Delegate cb_tagEpcTidInventoryByTimer_S;
#pragma warning disable 0169
		static Delegate GetTagEpcTidInventoryByTimer_SHandler ()
		{
			if (cb_tagEpcTidInventoryByTimer_S == null)
				cb_tagEpcTidInventoryByTimer_S = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPS_L) n_TagEpcTidInventoryByTimer_S);
			return cb_tagEpcTidInventoryByTimer_S;
		}

		static IntPtr n_TagEpcTidInventoryByTimer_S (IntPtr jnienv, IntPtr native__this, short readtime)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return global::Android.Runtime.JavaList<global::Com.Uhf.Api.Cls.Reader.TAGINFO>.ToLocalJniHandle (__this.TagEpcTidInventoryByTimer (readtime));
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='tagEpcTidInventoryByTimer' and count(parameter)=1 and parameter[1][@type='short']]"
		[Register ("tagEpcTidInventoryByTimer", "(S)Ljava/util/List;", "GetTagEpcTidInventoryByTimer_SHandler")]
		public virtual unsafe global::System.Collections.Generic.IList<global::Com.Uhf.Api.Cls.Reader.TAGINFO> TagEpcTidInventoryByTimer (short readtime)
		{
			const string __id = "tagEpcTidInventoryByTimer.(S)Ljava/util/List;";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (readtime);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Android.Runtime.JavaList<global::Com.Uhf.Api.Cls.Reader.TAGINFO>.FromJniHandle (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
			}
		}

		static Delegate cb_tagInventoryByTimer_S;
#pragma warning disable 0169
		static Delegate GetTagInventoryByTimer_SHandler ()
		{
			if (cb_tagInventoryByTimer_S == null)
				cb_tagInventoryByTimer_S = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPS_L) n_TagInventoryByTimer_S);
			return cb_tagInventoryByTimer_S;
		}

		static IntPtr n_TagInventoryByTimer_S (IntPtr jnienv, IntPtr native__this, short readtime)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return global::Android.Runtime.JavaList<global::Com.Uhf.Api.Cls.Reader.TAGINFO>.ToLocalJniHandle (__this.TagInventoryByTimer (readtime));
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='tagInventoryByTimer' and count(parameter)=1 and parameter[1][@type='short']]"
		[Register ("tagInventoryByTimer", "(S)Ljava/util/List;", "GetTagInventoryByTimer_SHandler")]
		public virtual unsafe global::System.Collections.Generic.IList<global::Com.Uhf.Api.Cls.Reader.TAGINFO> TagInventoryByTimer (short readtime)
		{
			const string __id = "tagInventoryByTimer.(S)Ljava/util/List;";
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (readtime);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Android.Runtime.JavaList<global::Com.Uhf.Api.Cls.Reader.TAGINFO>.FromJniHandle (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
			}
		}

		static Delegate cb_tagInventoryRealTime;
#pragma warning disable 0169
		static Delegate GetTagInventoryRealTimeHandler ()
		{
			if (cb_tagInventoryRealTime == null)
				cb_tagInventoryRealTime = JNINativeWrapper.CreateDelegate ((_JniMarshal_PP_L) n_TagInventoryRealTime);
			return cb_tagInventoryRealTime;
		}

		static IntPtr n_TagInventoryRealTime (IntPtr jnienv, IntPtr native__this)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			return global::Android.Runtime.JavaList<global::Com.Uhf.Api.Cls.Reader.TAGINFO>.ToLocalJniHandle (__this.TagInventoryRealTime ());
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='tagInventoryRealTime' and count(parameter)=0]"
		[Register ("tagInventoryRealTime", "()Ljava/util/List;", "GetTagInventoryRealTimeHandler")]
		public virtual unsafe global::System.Collections.Generic.IList<global::Com.Uhf.Api.Cls.Reader.TAGINFO> TagInventoryRealTime ()
		{
			const string __id = "tagInventoryRealTime.()Ljava/util/List;";
			try {
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
				return global::Android.Runtime.JavaList<global::Com.Uhf.Api.Cls.Reader.TAGINFO>.FromJniHandle (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
			}
		}

		static Delegate cb_writeTagData_CIarrayBIarrayBS;
#pragma warning disable 0169
		static Delegate GetWriteTagData_CIarrayBIarrayBSHandler ()
		{
			if (cb_writeTagData_CIarrayBIarrayBS == null)
				cb_writeTagData_CIarrayBIarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPCILILS_L) n_WriteTagData_CIarrayBIarrayBS);
			return cb_writeTagData_CIarrayBIarrayBS;
		}

		static IntPtr n_WriteTagData_CIarrayBIarrayBS (IntPtr jnienv, IntPtr native__this, char mbank, int startaddress, IntPtr native_data, int datalen, IntPtr native_accesspasswd, short timeout)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var data = (byte[]) JNIEnv.GetArray (native_data, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var accesspasswd = (byte[]) JNIEnv.GetArray (native_accesspasswd, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.WriteTagData (mbank, startaddress, data, datalen, accesspasswd, timeout));
			if (data != null)
				JNIEnv.CopyArray (data, native_data);
			if (accesspasswd != null)
				JNIEnv.CopyArray (accesspasswd, native_accesspasswd);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='writeTagData' and count(parameter)=6 and parameter[1][@type='char'] and parameter[2][@type='int'] and parameter[3][@type='byte[]'] and parameter[4][@type='int'] and parameter[5][@type='byte[]'] and parameter[6][@type='short']]"
		[Register ("writeTagData", "(CI[BI[BS)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetWriteTagData_CIarrayBIarrayBSHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR WriteTagData (char mbank, int startaddress, byte[] data, int datalen, byte[] accesspasswd, short timeout)
		{
			const string __id = "writeTagData.(CI[BI[BS)Lcom/uhf/api/cls/Reader$READER_ERR;";
			IntPtr native_data = JNIEnv.NewArray (data);
			IntPtr native_accesspasswd = JNIEnv.NewArray (accesspasswd);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [6];
				__args [0] = new JniArgumentValue (mbank);
				__args [1] = new JniArgumentValue (startaddress);
				__args [2] = new JniArgumentValue (native_data);
				__args [3] = new JniArgumentValue (datalen);
				__args [4] = new JniArgumentValue (native_accesspasswd);
				__args [5] = new JniArgumentValue (timeout);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				if (data != null) {
					JNIEnv.CopyArray (native_data, data);
					JNIEnv.DeleteLocalRef (native_data);
				}
				if (accesspasswd != null) {
					JNIEnv.CopyArray (native_accesspasswd, accesspasswd);
					JNIEnv.DeleteLocalRef (native_accesspasswd);
				}
				global::System.GC.KeepAlive (data);
				global::System.GC.KeepAlive (accesspasswd);
			}
		}

		static Delegate cb_writeTagDataByFilter_CIarrayBIarrayBSarrayBIIZ;
#pragma warning disable 0169
		static Delegate GetWriteTagDataByFilter_CIarrayBIarrayBSarrayBIIZHandler ()
		{
			if (cb_writeTagDataByFilter_CIarrayBIarrayBSarrayBIIZ == null)
				cb_writeTagDataByFilter_CIarrayBIarrayBSarrayBIIZ = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPCILILSLIIZ_L) n_WriteTagDataByFilter_CIarrayBIarrayBSarrayBIIZ);
			return cb_writeTagDataByFilter_CIarrayBIarrayBSarrayBIIZ;
		}

		static IntPtr n_WriteTagDataByFilter_CIarrayBIarrayBSarrayBIIZ (IntPtr jnienv, IntPtr native__this, char mbank, int startaddress, IntPtr native_data, int datalen, IntPtr native_accesspasswd, short timeout, IntPtr native_fdata, int fbank, int fstartaddr, bool matching)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var data = (byte[]) JNIEnv.GetArray (native_data, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var accesspasswd = (byte[]) JNIEnv.GetArray (native_accesspasswd, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var fdata = (byte[]) JNIEnv.GetArray (native_fdata, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.WriteTagDataByFilter (mbank, startaddress, data, datalen, accesspasswd, timeout, fdata, fbank, fstartaddr, matching));
			if (data != null)
				JNIEnv.CopyArray (data, native_data);
			if (accesspasswd != null)
				JNIEnv.CopyArray (accesspasswd, native_accesspasswd);
			if (fdata != null)
				JNIEnv.CopyArray (fdata, native_fdata);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='writeTagDataByFilter' and count(parameter)=10 and parameter[1][@type='char'] and parameter[2][@type='int'] and parameter[3][@type='byte[]'] and parameter[4][@type='int'] and parameter[5][@type='byte[]'] and parameter[6][@type='short'] and parameter[7][@type='byte[]'] and parameter[8][@type='int'] and parameter[9][@type='int'] and parameter[10][@type='boolean']]"
		[Register ("writeTagDataByFilter", "(CI[BI[BS[BIIZ)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetWriteTagDataByFilter_CIarrayBIarrayBSarrayBIIZHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR WriteTagDataByFilter (char mbank, int startaddress, byte[] data, int datalen, byte[] accesspasswd, short timeout, byte[] fdata, int fbank, int fstartaddr, bool matching)
		{
			const string __id = "writeTagDataByFilter.(CI[BI[BS[BIIZ)Lcom/uhf/api/cls/Reader$READER_ERR;";
			IntPtr native_data = JNIEnv.NewArray (data);
			IntPtr native_accesspasswd = JNIEnv.NewArray (accesspasswd);
			IntPtr native_fdata = JNIEnv.NewArray (fdata);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [10];
				__args [0] = new JniArgumentValue (mbank);
				__args [1] = new JniArgumentValue (startaddress);
				__args [2] = new JniArgumentValue (native_data);
				__args [3] = new JniArgumentValue (datalen);
				__args [4] = new JniArgumentValue (native_accesspasswd);
				__args [5] = new JniArgumentValue (timeout);
				__args [6] = new JniArgumentValue (native_fdata);
				__args [7] = new JniArgumentValue (fbank);
				__args [8] = new JniArgumentValue (fstartaddr);
				__args [9] = new JniArgumentValue (matching);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				if (data != null) {
					JNIEnv.CopyArray (native_data, data);
					JNIEnv.DeleteLocalRef (native_data);
				}
				if (accesspasswd != null) {
					JNIEnv.CopyArray (native_accesspasswd, accesspasswd);
					JNIEnv.DeleteLocalRef (native_accesspasswd);
				}
				if (fdata != null) {
					JNIEnv.CopyArray (native_fdata, fdata);
					JNIEnv.DeleteLocalRef (native_fdata);
				}
				global::System.GC.KeepAlive (data);
				global::System.GC.KeepAlive (accesspasswd);
				global::System.GC.KeepAlive (fdata);
			}
		}

		static Delegate cb_writeTagEPC_arrayBarrayBS;
#pragma warning disable 0169
		static Delegate GetWriteTagEPC_arrayBarrayBSHandler ()
		{
			if (cb_writeTagEPC_arrayBarrayBS == null)
				cb_writeTagEPC_arrayBarrayBS = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPLLS_L) n_WriteTagEPC_arrayBarrayBS);
			return cb_writeTagEPC_arrayBarrayBS;
		}

		static IntPtr n_WriteTagEPC_arrayBarrayBS (IntPtr jnienv, IntPtr native__this, IntPtr native_data, IntPtr native_accesspwd, short timeout)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var data = (byte[]) JNIEnv.GetArray (native_data, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var accesspwd = (byte[]) JNIEnv.GetArray (native_accesspwd, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.WriteTagEPC (data, accesspwd, timeout));
			if (data != null)
				JNIEnv.CopyArray (data, native_data);
			if (accesspwd != null)
				JNIEnv.CopyArray (accesspwd, native_accesspwd);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='writeTagEPC' and count(parameter)=3 and parameter[1][@type='byte[]'] and parameter[2][@type='byte[]'] and parameter[3][@type='short']]"
		[Register ("writeTagEPC", "([B[BS)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetWriteTagEPC_arrayBarrayBSHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR WriteTagEPC (byte[] data, byte[] accesspwd, short timeout)
		{
			const string __id = "writeTagEPC.([B[BS)Lcom/uhf/api/cls/Reader$READER_ERR;";
			IntPtr native_data = JNIEnv.NewArray (data);
			IntPtr native_accesspwd = JNIEnv.NewArray (accesspwd);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [3];
				__args [0] = new JniArgumentValue (native_data);
				__args [1] = new JniArgumentValue (native_accesspwd);
				__args [2] = new JniArgumentValue (timeout);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				if (data != null) {
					JNIEnv.CopyArray (native_data, data);
					JNIEnv.DeleteLocalRef (native_data);
				}
				if (accesspwd != null) {
					JNIEnv.CopyArray (native_accesspwd, accesspwd);
					JNIEnv.DeleteLocalRef (native_accesspwd);
				}
				global::System.GC.KeepAlive (data);
				global::System.GC.KeepAlive (accesspwd);
			}
		}

		static Delegate cb_writeTagEPCByFilter_arrayBarrayBSarrayBIIZ;
#pragma warning disable 0169
		static Delegate GetWriteTagEPCByFilter_arrayBarrayBSarrayBIIZHandler ()
		{
			if (cb_writeTagEPCByFilter_arrayBarrayBSarrayBIIZ == null)
				cb_writeTagEPCByFilter_arrayBarrayBSarrayBIIZ = JNINativeWrapper.CreateDelegate ((_JniMarshal_PPLLSLIIZ_L) n_WriteTagEPCByFilter_arrayBarrayBSarrayBIIZ);
			return cb_writeTagEPCByFilter_arrayBarrayBSarrayBIIZ;
		}

		static IntPtr n_WriteTagEPCByFilter_arrayBarrayBSarrayBIIZ (IntPtr jnienv, IntPtr native__this, IntPtr native_data, IntPtr native_accesspwd, short timeout, IntPtr native_fdata, int fbank, int fstartaddr, bool matching)
		{
			var __this = global::Java.Lang.Object.GetObject<global::Com.Handheld.Uhfr.UHFRManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
			var data = (byte[]) JNIEnv.GetArray (native_data, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var accesspwd = (byte[]) JNIEnv.GetArray (native_accesspwd, JniHandleOwnership.DoNotTransfer, typeof (byte));
			var fdata = (byte[]) JNIEnv.GetArray (native_fdata, JniHandleOwnership.DoNotTransfer, typeof (byte));
			IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.WriteTagEPCByFilter (data, accesspwd, timeout, fdata, fbank, fstartaddr, matching));
			if (data != null)
				JNIEnv.CopyArray (data, native_data);
			if (accesspwd != null)
				JNIEnv.CopyArray (accesspwd, native_accesspwd);
			if (fdata != null)
				JNIEnv.CopyArray (fdata, native_fdata);
			return __ret;
		}
#pragma warning restore 0169

		// Metadata.xml XPath method reference: path="/api/package[@name='com.handheld.uhfr']/class[@name='UHFRManager']/method[@name='writeTagEPCByFilter' and count(parameter)=7 and parameter[1][@type='byte[]'] and parameter[2][@type='byte[]'] and parameter[3][@type='short'] and parameter[4][@type='byte[]'] and parameter[5][@type='int'] and parameter[6][@type='int'] and parameter[7][@type='boolean']]"
		[Register ("writeTagEPCByFilter", "([B[BS[BIIZ)Lcom/uhf/api/cls/Reader$READER_ERR;", "GetWriteTagEPCByFilter_arrayBarrayBSarrayBIIZHandler")]
		public virtual unsafe global::Com.Uhf.Api.Cls.Reader.READER_ERR WriteTagEPCByFilter (byte[] data, byte[] accesspwd, short timeout, byte[] fdata, int fbank, int fstartaddr, bool matching)
		{
			const string __id = "writeTagEPCByFilter.([B[BS[BIIZ)Lcom/uhf/api/cls/Reader$READER_ERR;";
			IntPtr native_data = JNIEnv.NewArray (data);
			IntPtr native_accesspwd = JNIEnv.NewArray (accesspwd);
			IntPtr native_fdata = JNIEnv.NewArray (fdata);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [7];
				__args [0] = new JniArgumentValue (native_data);
				__args [1] = new JniArgumentValue (native_accesspwd);
				__args [2] = new JniArgumentValue (timeout);
				__args [3] = new JniArgumentValue (native_fdata);
				__args [4] = new JniArgumentValue (fbank);
				__args [5] = new JniArgumentValue (fstartaddr);
				__args [6] = new JniArgumentValue (matching);
				var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.Reader.READER_ERR> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				if (data != null) {
					JNIEnv.CopyArray (native_data, data);
					JNIEnv.DeleteLocalRef (native_data);
				}
				if (accesspwd != null) {
					JNIEnv.CopyArray (native_accesspwd, accesspwd);
					JNIEnv.DeleteLocalRef (native_accesspwd);
				}
				if (fdata != null) {
					JNIEnv.CopyArray (native_fdata, fdata);
					JNIEnv.DeleteLocalRef (native_fdata);
				}
				global::System.GC.KeepAlive (data);
				global::System.GC.KeepAlive (accesspwd);
				global::System.GC.KeepAlive (fdata);
			}
		}

	}
}
