objc2_map_kit/generated/
MKDirectionsRequest.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::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkdirectionsroutepreference?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct MKDirectionsRoutePreference(pub NSInteger);
15impl MKDirectionsRoutePreference {
16    #[doc(alias = "MKDirectionsRoutePreferenceAny")]
17    pub const Any: Self = Self(0);
18    #[doc(alias = "MKDirectionsRoutePreferenceAvoid")]
19    pub const Avoid: Self = Self(1);
20}
21
22unsafe impl Encode for MKDirectionsRoutePreference {
23    const ENCODING: Encoding = NSInteger::ENCODING;
24}
25
26unsafe impl RefEncode for MKDirectionsRoutePreference {
27    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
28}
29
30extern_class!(
31    /// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkdirectionsrequest?language=objc)
32    #[unsafe(super(NSObject))]
33    #[derive(Debug, PartialEq, Eq, Hash)]
34    pub struct MKDirectionsRequest;
35);
36
37unsafe impl NSObjectProtocol for MKDirectionsRequest {}
38
39impl MKDirectionsRequest {
40    extern_methods!(
41        #[cfg(feature = "MKMapItem")]
42        #[unsafe(method(source))]
43        #[unsafe(method_family = none)]
44        pub unsafe fn source(&self) -> Option<Retained<MKMapItem>>;
45
46        #[cfg(feature = "MKMapItem")]
47        /// Setter for [`source`][Self::source].
48        #[unsafe(method(setSource:))]
49        #[unsafe(method_family = none)]
50        pub unsafe fn setSource(&self, source: Option<&MKMapItem>);
51
52        #[cfg(feature = "MKMapItem")]
53        #[unsafe(method(destination))]
54        #[unsafe(method_family = none)]
55        pub unsafe fn destination(&self) -> Option<Retained<MKMapItem>>;
56
57        #[cfg(feature = "MKMapItem")]
58        /// Setter for [`destination`][Self::destination].
59        #[unsafe(method(setDestination:))]
60        #[unsafe(method_family = none)]
61        pub unsafe fn setDestination(&self, destination: Option<&MKMapItem>);
62    );
63}
64
65/// Methods declared on superclass `NSObject`.
66impl MKDirectionsRequest {
67    extern_methods!(
68        #[unsafe(method(init))]
69        #[unsafe(method_family = init)]
70        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
71
72        #[unsafe(method(new))]
73        #[unsafe(method_family = new)]
74        pub unsafe fn new() -> Retained<Self>;
75    );
76}
77
78/// MKRequestOptions.
79impl MKDirectionsRequest {
80    extern_methods!(
81        #[cfg(feature = "MKDirectionsTypes")]
82        #[unsafe(method(transportType))]
83        #[unsafe(method_family = none)]
84        pub unsafe fn transportType(&self) -> MKDirectionsTransportType;
85
86        #[cfg(feature = "MKDirectionsTypes")]
87        /// Setter for [`transportType`][Self::transportType].
88        #[unsafe(method(setTransportType:))]
89        #[unsafe(method_family = none)]
90        pub unsafe fn setTransportType(&self, transport_type: MKDirectionsTransportType);
91
92        #[unsafe(method(requestsAlternateRoutes))]
93        #[unsafe(method_family = none)]
94        pub unsafe fn requestsAlternateRoutes(&self) -> bool;
95
96        /// Setter for [`requestsAlternateRoutes`][Self::requestsAlternateRoutes].
97        #[unsafe(method(setRequestsAlternateRoutes:))]
98        #[unsafe(method_family = none)]
99        pub unsafe fn setRequestsAlternateRoutes(&self, requests_alternate_routes: bool);
100
101        #[unsafe(method(departureDate))]
102        #[unsafe(method_family = none)]
103        pub unsafe fn departureDate(&self) -> Option<Retained<NSDate>>;
104
105        /// Setter for [`departureDate`][Self::departureDate].
106        #[unsafe(method(setDepartureDate:))]
107        #[unsafe(method_family = none)]
108        pub unsafe fn setDepartureDate(&self, departure_date: Option<&NSDate>);
109
110        #[unsafe(method(arrivalDate))]
111        #[unsafe(method_family = none)]
112        pub unsafe fn arrivalDate(&self) -> Option<Retained<NSDate>>;
113
114        /// Setter for [`arrivalDate`][Self::arrivalDate].
115        #[unsafe(method(setArrivalDate:))]
116        #[unsafe(method_family = none)]
117        pub unsafe fn setArrivalDate(&self, arrival_date: Option<&NSDate>);
118
119        #[unsafe(method(tollPreference))]
120        #[unsafe(method_family = none)]
121        pub unsafe fn tollPreference(&self) -> MKDirectionsRoutePreference;
122
123        /// Setter for [`tollPreference`][Self::tollPreference].
124        #[unsafe(method(setTollPreference:))]
125        #[unsafe(method_family = none)]
126        pub unsafe fn setTollPreference(&self, toll_preference: MKDirectionsRoutePreference);
127
128        #[unsafe(method(highwayPreference))]
129        #[unsafe(method_family = none)]
130        pub unsafe fn highwayPreference(&self) -> MKDirectionsRoutePreference;
131
132        /// Setter for [`highwayPreference`][Self::highwayPreference].
133        #[unsafe(method(setHighwayPreference:))]
134        #[unsafe(method_family = none)]
135        pub unsafe fn setHighwayPreference(&self, highway_preference: MKDirectionsRoutePreference);
136    );
137}
138
139/// MKDirectionsURL.
140impl MKDirectionsRequest {
141    extern_methods!(
142        #[unsafe(method(initWithContentsOfURL:))]
143        #[unsafe(method_family = init)]
144        pub unsafe fn initWithContentsOfURL(this: Allocated<Self>, url: &NSURL) -> Retained<Self>;
145
146        #[unsafe(method(isDirectionsRequestURL:))]
147        #[unsafe(method_family = none)]
148        pub unsafe fn isDirectionsRequestURL(url: &NSURL) -> bool;
149    );
150}