//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationpushserviceerrordomain?language=objc)
    pub static CLLocationPushServiceErrorDomain: Option<&'static NSErrorDomain>;
}

/// [Apple's documentation](https://developer.apple.com/documentation/corelocation/cllocationpushserviceerror?language=objc)
// NS_ERROR_ENUM
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct CLLocationPushServiceError(pub NSInteger);
impl CLLocationPushServiceError {
    #[doc(alias = "CLLocationPushServiceErrorUnknown")]
    pub const Unknown: Self = Self(0);
    #[doc(alias = "CLLocationPushServiceErrorMissingPushExtension")]
    pub const MissingPushExtension: Self = Self(1);
    #[doc(alias = "CLLocationPushServiceErrorMissingPushServerEnvironment")]
    pub const MissingPushServerEnvironment: Self = Self(2);
    #[doc(alias = "CLLocationPushServiceErrorMissingEntitlement")]
    pub const MissingEntitlement: Self = Self(3);
    #[doc(alias = "CLLocationPushServiceErrorUnsupportedPlatform")]
    pub const UnsupportedPlatform: Self = Self(4);
}

unsafe impl Encode for CLLocationPushServiceError {
    const ENCODING: Encoding = NSInteger::ENCODING;
}

unsafe impl RefEncode for CLLocationPushServiceError {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
