objc2_map_kit/generated/
MKDistanceFormatter.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-core-location")]
7use objc2_core_location::*;
8use objc2_foundation::*;
9
10use crate::*;
11
12/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkdistanceformatterunits?language=objc)
13// NS_ENUM
14#[repr(transparent)]
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub struct MKDistanceFormatterUnits(pub NSUInteger);
17impl MKDistanceFormatterUnits {
18    #[doc(alias = "MKDistanceFormatterUnitsDefault")]
19    pub const Default: Self = Self(0);
20    #[doc(alias = "MKDistanceFormatterUnitsMetric")]
21    pub const Metric: Self = Self(1);
22    #[doc(alias = "MKDistanceFormatterUnitsImperial")]
23    pub const Imperial: Self = Self(2);
24    #[doc(alias = "MKDistanceFormatterUnitsImperialWithYards")]
25    pub const ImperialWithYards: Self = Self(3);
26}
27
28unsafe impl Encode for MKDistanceFormatterUnits {
29    const ENCODING: Encoding = NSUInteger::ENCODING;
30}
31
32unsafe impl RefEncode for MKDistanceFormatterUnits {
33    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
34}
35
36/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkdistanceformatterunitstyle?language=objc)
37// NS_ENUM
38#[repr(transparent)]
39#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
40pub struct MKDistanceFormatterUnitStyle(pub NSUInteger);
41impl MKDistanceFormatterUnitStyle {
42    #[doc(alias = "MKDistanceFormatterUnitStyleDefault")]
43    pub const Default: Self = Self(0);
44    #[doc(alias = "MKDistanceFormatterUnitStyleAbbreviated")]
45    pub const Abbreviated: Self = Self(1);
46    #[doc(alias = "MKDistanceFormatterUnitStyleFull")]
47    pub const Full: Self = Self(2);
48}
49
50unsafe impl Encode for MKDistanceFormatterUnitStyle {
51    const ENCODING: Encoding = NSUInteger::ENCODING;
52}
53
54unsafe impl RefEncode for MKDistanceFormatterUnitStyle {
55    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
56}
57
58extern_class!(
59    /// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkdistanceformatter?language=objc)
60    #[unsafe(super(NSFormatter, NSObject))]
61    #[derive(Debug, PartialEq, Eq, Hash)]
62    pub struct MKDistanceFormatter;
63);
64
65extern_conformance!(
66    unsafe impl NSCoding for MKDistanceFormatter {}
67);
68
69extern_conformance!(
70    unsafe impl NSCopying for MKDistanceFormatter {}
71);
72
73unsafe impl CopyingHelper for MKDistanceFormatter {
74    type Result = Self;
75}
76
77extern_conformance!(
78    unsafe impl NSObjectProtocol for MKDistanceFormatter {}
79);
80
81impl MKDistanceFormatter {
82    extern_methods!(
83        #[cfg(feature = "objc2-core-location")]
84        #[unsafe(method(stringFromDistance:))]
85        #[unsafe(method_family = none)]
86        pub unsafe fn stringFromDistance(&self, distance: CLLocationDistance)
87            -> Retained<NSString>;
88
89        #[cfg(feature = "objc2-core-location")]
90        #[unsafe(method(distanceFromString:))]
91        #[unsafe(method_family = none)]
92        pub unsafe fn distanceFromString(&self, distance: &NSString) -> CLLocationDistance;
93
94        #[unsafe(method(locale))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn locale(&self) -> Retained<NSLocale>;
97
98        /// Setter for [`locale`][Self::locale].
99        ///
100        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
101        #[unsafe(method(setLocale:))]
102        #[unsafe(method_family = none)]
103        pub unsafe fn setLocale(&self, locale: Option<&NSLocale>);
104
105        #[unsafe(method(units))]
106        #[unsafe(method_family = none)]
107        pub unsafe fn units(&self) -> MKDistanceFormatterUnits;
108
109        /// Setter for [`units`][Self::units].
110        #[unsafe(method(setUnits:))]
111        #[unsafe(method_family = none)]
112        pub unsafe fn setUnits(&self, units: MKDistanceFormatterUnits);
113
114        #[unsafe(method(unitStyle))]
115        #[unsafe(method_family = none)]
116        pub unsafe fn unitStyle(&self) -> MKDistanceFormatterUnitStyle;
117
118        /// Setter for [`unitStyle`][Self::unitStyle].
119        #[unsafe(method(setUnitStyle:))]
120        #[unsafe(method_family = none)]
121        pub unsafe fn setUnitStyle(&self, unit_style: MKDistanceFormatterUnitStyle);
122    );
123}
124
125/// Methods declared on superclass `NSObject`.
126impl MKDistanceFormatter {
127    extern_methods!(
128        #[unsafe(method(init))]
129        #[unsafe(method_family = init)]
130        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
131
132        #[unsafe(method(new))]
133        #[unsafe(method_family = new)]
134        pub unsafe fn new() -> Retained<Self>;
135    );
136}