objc2-intents 0.3.2

Bindings to the Intents framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/intents/incallrecord?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct INCallRecord;
);

extern_conformance!(
    unsafe impl NSCoding for INCallRecord {}
);

extern_conformance!(
    unsafe impl NSCopying for INCallRecord {}
);

unsafe impl CopyingHelper for INCallRecord {
    type Result = Self;
}

extern_conformance!(
    unsafe impl NSObjectProtocol for INCallRecord {}
);

extern_conformance!(
    unsafe impl NSSecureCoding for INCallRecord {}
);

impl INCallRecord {
    extern_methods!(
        #[unsafe(method(init))]
        #[unsafe(method_family = init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[cfg(all(
            feature = "INCallCapability",
            feature = "INCallRecordType",
            feature = "INPerson"
        ))]
        #[unsafe(method(initWithIdentifier:dateCreated:callRecordType:callCapability:callDuration:unseen:participants:numberOfCalls:isCallerIdBlocked:))]
        #[unsafe(method_family = init)]
        pub unsafe fn initWithIdentifier_dateCreated_callRecordType_callCapability_callDuration_unseen_participants_numberOfCalls_isCallerIdBlocked(
            this: Allocated<Self>,
            identifier: &NSString,
            date_created: Option<&NSDate>,
            call_record_type: INCallRecordType,
            call_capability: INCallCapability,
            call_duration: Option<&NSNumber>,
            unseen: Option<&NSNumber>,
            participants: Option<&NSArray<INPerson>>,
            number_of_calls: Option<&NSNumber>,
            is_caller_id_blocked: Option<&NSNumber>,
        ) -> Retained<Self>;

        #[cfg(all(feature = "INCallCapability", feature = "INCallRecordType"))]
        #[unsafe(method(initWithIdentifier:dateCreated:callRecordType:callCapability:callDuration:unseen:))]
        #[unsafe(method_family = init)]
        pub unsafe fn initWithIdentifier_dateCreated_callRecordType_callCapability_callDuration_unseen(
            this: Allocated<Self>,
            identifier: &NSString,
            date_created: Option<&NSDate>,
            call_record_type: INCallRecordType,
            call_capability: INCallCapability,
            call_duration: Option<&NSNumber>,
            unseen: Option<&NSNumber>,
        ) -> Retained<Self>;

        #[cfg(all(feature = "INCallCapability", feature = "INCallRecordType"))]
        #[unsafe(method(initWithIdentifier:dateCreated:callRecordType:callCapability:callDuration:unseen:numberOfCalls:))]
        #[unsafe(method_family = init)]
        pub unsafe fn initWithIdentifier_dateCreated_callRecordType_callCapability_callDuration_unseen_numberOfCalls(
            this: Allocated<Self>,
            identifier: &NSString,
            date_created: Option<&NSDate>,
            call_record_type: INCallRecordType,
            call_capability: INCallCapability,
            call_duration: Option<&NSNumber>,
            unseen: Option<&NSNumber>,
            number_of_calls: Option<&NSNumber>,
        ) -> Retained<Self>;

        #[unsafe(method(identifier))]
        #[unsafe(method_family = none)]
        pub unsafe fn identifier(&self) -> Retained<NSString>;

        #[unsafe(method(dateCreated))]
        #[unsafe(method_family = none)]
        pub unsafe fn dateCreated(&self) -> Option<Retained<NSDate>>;

        #[cfg(feature = "INCallRecordType")]
        #[unsafe(method(callRecordType))]
        #[unsafe(method_family = none)]
        pub unsafe fn callRecordType(&self) -> INCallRecordType;

        #[unsafe(method(callDuration))]
        #[unsafe(method_family = none)]
        pub unsafe fn callDuration(&self) -> Option<Retained<NSNumber>>;

        #[unsafe(method(unseen))]
        #[unsafe(method_family = none)]
        pub unsafe fn unseen(&self) -> Option<Retained<NSNumber>>;

        #[cfg(feature = "INCallCapability")]
        #[unsafe(method(callCapability))]
        #[unsafe(method_family = none)]
        pub unsafe fn callCapability(&self) -> INCallCapability;

        #[unsafe(method(numberOfCalls))]
        #[unsafe(method_family = none)]
        pub unsafe fn numberOfCalls(&self) -> Option<Retained<NSNumber>>;

        #[unsafe(method(isCallerIdBlocked))]
        #[unsafe(method_family = none)]
        pub unsafe fn isCallerIdBlocked(&self) -> Option<Retained<NSNumber>>;

        #[cfg(feature = "INPerson")]
        #[unsafe(method(participants))]
        #[unsafe(method_family = none)]
        pub unsafe fn participants(&self) -> Option<Retained<NSArray<INPerson>>>;
    );
}

/// Methods declared on superclass `NSObject`.
impl INCallRecord {
    extern_methods!(
        #[unsafe(method(new))]
        #[unsafe(method_family = new)]
        pub unsafe fn new() -> Retained<Self>;
    );
}