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
37extern_conformance!(
38    unsafe impl NSObjectProtocol for MKDirectionsRequest {}
39);
40
41impl MKDirectionsRequest {
42    extern_methods!(
43        #[cfg(feature = "MKMapItem")]
44        #[unsafe(method(source))]
45        #[unsafe(method_family = none)]
46        pub unsafe fn source(&self) -> Option<Retained<MKMapItem>>;
47
48        #[cfg(feature = "MKMapItem")]
49        /// Setter for [`source`][Self::source].
50        #[unsafe(method(setSource:))]
51        #[unsafe(method_family = none)]
52        pub unsafe fn setSource(&self, source: Option<&MKMapItem>);
53
54        #[cfg(feature = "MKMapItem")]
55        #[unsafe(method(destination))]
56        #[unsafe(method_family = none)]
57        pub unsafe fn destination(&self) -> Option<Retained<MKMapItem>>;
58
59        #[cfg(feature = "MKMapItem")]
60        /// Setter for [`destination`][Self::destination].
61        #[unsafe(method(setDestination:))]
62        #[unsafe(method_family = none)]
63        pub unsafe fn setDestination(&self, destination: Option<&MKMapItem>);
64    );
65}
66
67/// Methods declared on superclass `NSObject`.
68impl MKDirectionsRequest {
69    extern_methods!(
70        #[unsafe(method(init))]
71        #[unsafe(method_family = init)]
72        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
73
74        #[unsafe(method(new))]
75        #[unsafe(method_family = new)]
76        pub unsafe fn new() -> Retained<Self>;
77    );
78}
79
80/// MKRequestOptions.
81impl MKDirectionsRequest {
82    extern_methods!(
83        #[cfg(feature = "MKDirectionsTypes")]
84        #[unsafe(method(transportType))]
85        #[unsafe(method_family = none)]
86        pub unsafe fn transportType(&self) -> MKDirectionsTransportType;
87
88        #[cfg(feature = "MKDirectionsTypes")]
89        /// Setter for [`transportType`][Self::transportType].
90        #[unsafe(method(setTransportType:))]
91        #[unsafe(method_family = none)]
92        pub unsafe fn setTransportType(&self, transport_type: MKDirectionsTransportType);
93
94        #[unsafe(method(requestsAlternateRoutes))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn requestsAlternateRoutes(&self) -> bool;
97
98        /// Setter for [`requestsAlternateRoutes`][Self::requestsAlternateRoutes].
99        #[unsafe(method(setRequestsAlternateRoutes:))]
100        #[unsafe(method_family = none)]
101        pub unsafe fn setRequestsAlternateRoutes(&self, requests_alternate_routes: bool);
102
103        #[unsafe(method(departureDate))]
104        #[unsafe(method_family = none)]
105        pub unsafe fn departureDate(&self) -> Option<Retained<NSDate>>;
106
107        /// Setter for [`departureDate`][Self::departureDate].
108        ///
109        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
110        #[unsafe(method(setDepartureDate:))]
111        #[unsafe(method_family = none)]
112        pub unsafe fn setDepartureDate(&self, departure_date: Option<&NSDate>);
113
114        #[unsafe(method(arrivalDate))]
115        #[unsafe(method_family = none)]
116        pub unsafe fn arrivalDate(&self) -> Option<Retained<NSDate>>;
117
118        /// Setter for [`arrivalDate`][Self::arrivalDate].
119        ///
120        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
121        #[unsafe(method(setArrivalDate:))]
122        #[unsafe(method_family = none)]
123        pub unsafe fn setArrivalDate(&self, arrival_date: Option<&NSDate>);
124
125        #[unsafe(method(tollPreference))]
126        #[unsafe(method_family = none)]
127        pub unsafe fn tollPreference(&self) -> MKDirectionsRoutePreference;
128
129        /// Setter for [`tollPreference`][Self::tollPreference].
130        #[unsafe(method(setTollPreference:))]
131        #[unsafe(method_family = none)]
132        pub unsafe fn setTollPreference(&self, toll_preference: MKDirectionsRoutePreference);
133
134        #[unsafe(method(highwayPreference))]
135        #[unsafe(method_family = none)]
136        pub unsafe fn highwayPreference(&self) -> MKDirectionsRoutePreference;
137
138        /// Setter for [`highwayPreference`][Self::highwayPreference].
139        #[unsafe(method(setHighwayPreference:))]
140        #[unsafe(method_family = none)]
141        pub unsafe fn setHighwayPreference(&self, highway_preference: MKDirectionsRoutePreference);
142    );
143}
144
145/// MKDirectionsURL.
146impl MKDirectionsRequest {
147    extern_methods!(
148        #[unsafe(method(initWithContentsOfURL:))]
149        #[unsafe(method_family = init)]
150        pub unsafe fn initWithContentsOfURL(this: Allocated<Self>, url: &NSURL) -> Retained<Self>;
151
152        #[unsafe(method(isDirectionsRequestURL:))]
153        #[unsafe(method_family = none)]
154        pub unsafe fn isDirectionsRequestURL(url: &NSURL) -> bool;
155    );
156}