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

namespace Com.Uhf.Api.Cls {

	// Metadata.xml XPath class reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='GpiTrigger_Type']"
	[global::Android.Runtime.Register ("com/uhf/api/cls/GpiTrigger_Type", DoNotGenerateAcw=true)]
	public sealed partial class GpiTrigger_Type : global::Java.Lang.Enum {

		// Metadata.xml XPath field reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='GpiTrigger_Type']/field[@name='GPITRIGGER_NONE']"
		[Register ("GPITRIGGER_NONE")]
		public static global::Com.Uhf.Api.Cls.GpiTrigger_Type GpitriggerNone {
			get {
				const string __id = "GPITRIGGER_NONE.Lcom/uhf/api/cls/GpiTrigger_Type;";

				var __v = _members.StaticFields.GetObjectValue (__id);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.GpiTrigger_Type> (__v.Handle, JniHandleOwnership.TransferLocalRef);
			}
		}


		// Metadata.xml XPath field reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='GpiTrigger_Type']/field[@name='GPITRIGGER_TRI1ORTRI2START_TIMEOUTSTOP']"
		[Register ("GPITRIGGER_TRI1ORTRI2START_TIMEOUTSTOP")]
		public static global::Com.Uhf.Api.Cls.GpiTrigger_Type GpitriggerTri1ortri2startTimeoutstop {
			get {
				const string __id = "GPITRIGGER_TRI1ORTRI2START_TIMEOUTSTOP.Lcom/uhf/api/cls/GpiTrigger_Type;";

				var __v = _members.StaticFields.GetObjectValue (__id);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.GpiTrigger_Type> (__v.Handle, JniHandleOwnership.TransferLocalRef);
			}
		}


		// Metadata.xml XPath field reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='GpiTrigger_Type']/field[@name='GPITRIGGER_TRI1START_TIMEOUTSTOP']"
		[Register ("GPITRIGGER_TRI1START_TIMEOUTSTOP")]
		public static global::Com.Uhf.Api.Cls.GpiTrigger_Type GpitriggerTri1startTimeoutstop {
			get {
				const string __id = "GPITRIGGER_TRI1START_TIMEOUTSTOP.Lcom/uhf/api/cls/GpiTrigger_Type;";

				var __v = _members.StaticFields.GetObjectValue (__id);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.GpiTrigger_Type> (__v.Handle, JniHandleOwnership.TransferLocalRef);
			}
		}


		// Metadata.xml XPath field reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='GpiTrigger_Type']/field[@name='GPITRIGGER_TRI1START_TRI2STOP']"
		[Register ("GPITRIGGER_TRI1START_TRI2STOP")]
		public static global::Com.Uhf.Api.Cls.GpiTrigger_Type GpitriggerTri1startTri2stop {
			get {
				const string __id = "GPITRIGGER_TRI1START_TRI2STOP.Lcom/uhf/api/cls/GpiTrigger_Type;";

				var __v = _members.StaticFields.GetObjectValue (__id);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.GpiTrigger_Type> (__v.Handle, JniHandleOwnership.TransferLocalRef);
			}
		}

		static readonly JniPeerMembers _members = new XAPeerMembers ("com/uhf/api/cls/GpiTrigger_Type", typeof (GpiTrigger_Type));

		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; }
		}

		internal GpiTrigger_Type (IntPtr javaReference, JniHandleOwnership transfer) : base (javaReference, transfer)
		{
		}

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='GpiTrigger_Type']/method[@name='valueOf' and count(parameter)=1 and parameter[1][@type='java.lang.String']]"
		[Register ("valueOf", "(Ljava/lang/String;)Lcom/uhf/api/cls/GpiTrigger_Type;", "")]
		public static unsafe global::Com.Uhf.Api.Cls.GpiTrigger_Type ValueOf (string name)
		{
			const string __id = "valueOf.(Ljava/lang/String;)Lcom/uhf/api/cls/GpiTrigger_Type;";
			IntPtr native_name = JNIEnv.NewString (name);
			try {
				JniArgumentValue* __args = stackalloc JniArgumentValue [1];
				__args [0] = new JniArgumentValue (native_name);
				var __rm = _members.StaticMethods.InvokeObjectMethod (__id, __args);
				return global::Java.Lang.Object.GetObject<global::Com.Uhf.Api.Cls.GpiTrigger_Type> (__rm.Handle, JniHandleOwnership.TransferLocalRef);
			} finally {
				JNIEnv.DeleteLocalRef (native_name);
			}
		}

		// Metadata.xml XPath method reference: path="/api/package[@name='com.uhf.api.cls']/class[@name='GpiTrigger_Type']/method[@name='values' and count(parameter)=0]"
		[Register ("values", "()[Lcom/uhf/api/cls/GpiTrigger_Type;", "")]
		public static unsafe global::Com.Uhf.Api.Cls.GpiTrigger_Type[] Values ()
		{
			const string __id = "values.()[Lcom/uhf/api/cls/GpiTrigger_Type;";
			try {
				var __rm = _members.StaticMethods.InvokeObjectMethod (__id, null);
				return (global::Com.Uhf.Api.Cls.GpiTrigger_Type[]) JNIEnv.GetArray (__rm.Handle, JniHandleOwnership.TransferLocalRef, typeof (global::Com.Uhf.Api.Cls.GpiTrigger_Type));
			} finally {
			}
		}

	}
}
