use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern "C" {
pub static MEMessageSecurityErrorDomain: &'static NSErrorDomain;
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct MEMessageSecurityErrorCode(pub NSInteger);
impl MEMessageSecurityErrorCode {
#[doc(alias = "MEMessageSecurityEncodingError")]
pub const EncodingError: Self = Self(0);
#[doc(alias = "MEMessageSecurityDecodingError")]
pub const DecodingError: Self = Self(1);
}
unsafe impl Encode for MEMessageSecurityErrorCode {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for MEMessageSecurityErrorCode {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_protocol!(
#[cfg(all(feature = "MEMessageDecoder", feature = "MEMessageEncoder"))]
pub unsafe trait MEMessageSecurityHandler:
MEMessageEncoder + MEMessageDecoder + MainThreadOnly
{
#[cfg(all(
feature = "MEExtensionViewController",
feature = "MEMessageSigner",
feature = "objc2-app-kit"
))]
#[unsafe(method(extensionViewControllerForMessageSigners:))]
#[unsafe(method_family = none)]
unsafe fn extensionViewControllerForMessageSigners(
&self,
message_signers: &NSArray<MEMessageSigner>,
) -> Option<Retained<MEExtensionViewController>>;
#[cfg(all(feature = "MEExtensionViewController", feature = "objc2-app-kit"))]
#[unsafe(method(extensionViewControllerForMessageContext:))]
#[unsafe(method_family = none)]
unsafe fn extensionViewControllerForMessageContext(
&self,
context: &NSData,
) -> Option<Retained<MEExtensionViewController>>;
#[cfg(all(
feature = "MEExtensionViewController",
feature = "block2",
feature = "objc2-app-kit"
))]
#[unsafe(method(primaryActionClickedForMessageContext:completionHandler:))]
#[unsafe(method_family = none)]
unsafe fn primaryActionClickedForMessageContext_completionHandler(
&self,
context: &NSData,
completion_handler: &block2::DynBlock<dyn Fn(*mut MEExtensionViewController)>,
);
}
);