// WARNING:  This file was autogenerated by jni-bindgen.  Any changes to this file may be lost!!!


#[cfg(any(feature = "all", feature = "android-drm-DrmInfoStatus"))]
__jni_bindgen! {
    /// public class [DrmInfoStatus](https://developer.android.com/reference/android/drm/DrmInfoStatus.html)
    ///
    /// Required feature: android-drm-DrmInfoStatus
    public class DrmInfoStatus ("android/drm/DrmInfoStatus") extends crate::java::lang::Object {

        /// [DrmInfoStatus](https://developer.android.com/reference/android/drm/DrmInfoStatus.html#DrmInfoStatus(int,%20int,%20android.drm.ProcessedData,%20java.lang.String))
        ///
        /// Required features: "android-drm-ProcessedData", "java-lang-String"
        #[cfg(any(feature = "all", all(feature = "android-drm-ProcessedData", feature = "java-lang-String")))]
        pub fn new<'env>(__jni_env: &'env __jni_bindgen::Env, arg0: i32, arg1: i32, arg2: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::android::drm::ProcessedData>>, arg3: impl __jni_bindgen::std::convert::Into<__jni_bindgen::std::option::Option<&'env crate::java::lang::String>>) -> __jni_bindgen::std::result::Result<__jni_bindgen::Local<'env, crate::android::drm::DrmInfoStatus>, __jni_bindgen::Local<'env, crate::java::lang::Throwable>> {
            // class.path == "android/drm/DrmInfoStatus", java.flags == PUBLIC, .name == "<init>", .descriptor == "(IILandroid/drm/ProcessedData;Ljava/lang/String;)V"
            unsafe {
                let __jni_args = [__jni_bindgen::AsJValue::as_jvalue(&arg0), __jni_bindgen::AsJValue::as_jvalue(&arg1), __jni_bindgen::AsJValue::as_jvalue(&arg2.into()), __jni_bindgen::AsJValue::as_jvalue(&arg3.into())];
                let (__jni_class, __jni_method) = __jni_env.require_class_method("android/drm/DrmInfoStatus\0", "<init>\0", "(IILandroid/drm/ProcessedData;Ljava/lang/String;)V\0");
                __jni_env.new_object_a(__jni_class, __jni_method, __jni_args.as_ptr())
            }
        }

        /// public static final [STATUS_ERROR](https://developer.android.com/reference/android/drm/DrmInfoStatus.html#STATUS_ERROR)
        pub const STATUS_ERROR : i32 = 2;

        /// public static final [STATUS_OK](https://developer.android.com/reference/android/drm/DrmInfoStatus.html#STATUS_OK)
        pub const STATUS_OK : i32 = 1;

        /// **get** public final [data](https://developer.android.com/reference/android/drm/DrmInfoStatus.html#data)
        ///
        /// Required feature: android-drm-ProcessedData
        #[cfg(any(feature = "all", feature = "android-drm-ProcessedData"))]
        pub fn data<'env>(&'env self) -> __jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, crate::android::drm::ProcessedData>> {
            unsafe {
                let env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (class, field) = env.require_class_field("android/drm/DrmInfoStatus\0", "data\0", "Landroid/drm/ProcessedData;\0");
                env.get_object_field(class, field)
            }
        }

        /// **get** public final [infoType](https://developer.android.com/reference/android/drm/DrmInfoStatus.html#infoType)
        pub fn infoType<'env>(&'env self) -> i32 {
            unsafe {
                let env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (class, field) = env.require_class_field("android/drm/DrmInfoStatus\0", "infoType\0", "I\0");
                env.get_int_field(class, field)
            }
        }

        /// **get** public final [mimeType](https://developer.android.com/reference/android/drm/DrmInfoStatus.html#mimeType)
        ///
        /// Required feature: java-lang-String
        #[cfg(any(feature = "all", feature = "java-lang-String"))]
        pub fn mimeType<'env>(&'env self) -> __jni_bindgen::std::option::Option<__jni_bindgen::Local<'env, crate::java::lang::String>> {
            unsafe {
                let env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (class, field) = env.require_class_field("android/drm/DrmInfoStatus\0", "mimeType\0", "Ljava/lang/String;\0");
                env.get_object_field(class, field)
            }
        }

        /// **get** public final [statusCode](https://developer.android.com/reference/android/drm/DrmInfoStatus.html#statusCode)
        pub fn statusCode<'env>(&'env self) -> i32 {
            unsafe {
                let env = __jni_bindgen::Env::from_ptr(self.0.env);
                let (class, field) = env.require_class_field("android/drm/DrmInfoStatus\0", "statusCode\0", "I\0");
                env.get_int_field(class, field)
            }
        }
    }
}
