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        #[unsafe(method(setDepartureDate:))]
109        #[unsafe(method_family = none)]
110        pub unsafe fn setDepartureDate(&self, departure_date: Option<&NSDate>);
111
112        #[unsafe(method(arrivalDate))]
113        #[unsafe(method_family = none)]
114        pub unsafe fn arrivalDate(&self) -> Option<Retained<NSDate>>;
115
116        /// Setter for [`arrivalDate`][Self::arrivalDate].
117        #[unsafe(method(setArrivalDate:))]
118        #[unsafe(method_family = none)]
119        pub unsafe fn setArrivalDate(&self, arrival_date: Option<&NSDate>);
120
121        #[unsafe(method(tollPreference))]
122        #[unsafe(method_family = none)]
123        pub unsafe fn tollPreference(&self) -> MKDirectionsRoutePreference;
124
125        /// Setter for [`tollPreference`][Self::tollPreference].
126        #[unsafe(method(setTollPreference:))]
127        #[unsafe(method_family = none)]
128        pub unsafe fn setTollPreference(&self, toll_preference: MKDirectionsRoutePreference);
129
130        #[unsafe(method(highwayPreference))]
131        #[unsafe(method_family = none)]
132        pub unsafe fn highwayPreference(&self) -> MKDirectionsRoutePreference;
133
134        /// Setter for [`highwayPreference`][Self::highwayPreference].
135        #[unsafe(method(setHighwayPreference:))]
136        #[unsafe(method_family = none)]
137        pub unsafe fn setHighwayPreference(&self, highway_preference: MKDirectionsRoutePreference);
138    );
139}
140
141/// MKDirectionsURL.
142impl MKDirectionsRequest {
143    extern_methods!(
144        #[unsafe(method(initWithContentsOfURL:))]
145        #[unsafe(method_family = init)]
146        pub unsafe fn initWithContentsOfURL(this: Allocated<Self>, url: &NSURL) -> Retained<Self>;
147
148        #[unsafe(method(isDirectionsRequestURL:))]
149        #[unsafe(method_family = none)]
150        pub unsafe fn isDirectionsRequestURL(url: &NSURL) -> bool;
151    );
152}