#[cfg(feature = "block2")]
use block2::*;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-contacts")]
use objc2_contacts::*;
use objc2_foundation::*;
use crate::*;
#[cfg(all(feature = "CLPlacemark", feature = "block2"))]
pub type CLGeocodeCompletionHandler = *mut Block<dyn Fn(*mut NSArray<CLPlacemark>, *mut NSError)>;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct CLGeocoder;
unsafe impl ClassType for CLGeocoder {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for CLGeocoder {}
extern_methods!(
unsafe impl CLGeocoder {
#[method(isGeocoding)]
pub unsafe fn isGeocoding(&self) -> bool;
#[cfg(all(feature = "CLLocation", feature = "CLPlacemark", feature = "block2"))]
#[method(reverseGeocodeLocation:completionHandler:)]
pub unsafe fn reverseGeocodeLocation_completionHandler(
&self,
location: &CLLocation,
completion_handler: CLGeocodeCompletionHandler,
);
#[cfg(all(feature = "CLLocation", feature = "CLPlacemark", feature = "block2"))]
#[method(reverseGeocodeLocation:preferredLocale:completionHandler:)]
pub unsafe fn reverseGeocodeLocation_preferredLocale_completionHandler(
&self,
location: &CLLocation,
locale: Option<&NSLocale>,
completion_handler: CLGeocodeCompletionHandler,
);
#[cfg(all(feature = "CLPlacemark", feature = "block2"))]
#[deprecated = "Use -geocodePostalAddress:completionHandler:"]
#[method(geocodeAddressDictionary:completionHandler:)]
pub unsafe fn geocodeAddressDictionary_completionHandler(
&self,
address_dictionary: &NSDictionary,
completion_handler: CLGeocodeCompletionHandler,
);
#[cfg(all(feature = "CLPlacemark", feature = "CLRegion", feature = "block2"))]
#[method(geocodeAddressString:inRegion:completionHandler:)]
pub unsafe fn geocodeAddressString_inRegion_completionHandler(
&self,
address_string: &NSString,
region: Option<&CLRegion>,
completion_handler: CLGeocodeCompletionHandler,
);
#[cfg(all(feature = "CLPlacemark", feature = "CLRegion", feature = "block2"))]
#[method(geocodeAddressString:inRegion:preferredLocale:completionHandler:)]
pub unsafe fn geocodeAddressString_inRegion_preferredLocale_completionHandler(
&self,
address_string: &NSString,
region: Option<&CLRegion>,
locale: Option<&NSLocale>,
completion_handler: CLGeocodeCompletionHandler,
);
#[cfg(all(feature = "CLPlacemark", feature = "block2"))]
#[method(geocodeAddressString:completionHandler:)]
pub unsafe fn geocodeAddressString_completionHandler(
&self,
address_string: &NSString,
completion_handler: CLGeocodeCompletionHandler,
);
#[method(cancelGeocode)]
pub unsafe fn cancelGeocode(&self);
}
);
extern_methods!(
unsafe impl CLGeocoder {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
extern_methods!(
unsafe impl CLGeocoder {
#[cfg(all(
feature = "CLPlacemark",
feature = "block2",
feature = "objc2-contacts"
))]
#[method(geocodePostalAddress:completionHandler:)]
pub unsafe fn geocodePostalAddress_completionHandler(
&self,
postal_address: &CNPostalAddress,
completion_handler: CLGeocodeCompletionHandler,
);
#[cfg(all(
feature = "CLPlacemark",
feature = "block2",
feature = "objc2-contacts"
))]
#[method(geocodePostalAddress:preferredLocale:completionHandler:)]
pub unsafe fn geocodePostalAddress_preferredLocale_completionHandler(
&self,
postal_address: &CNPostalAddress,
locale: Option<&NSLocale>,
completion_handler: CLGeocodeCompletionHandler,
);
}
);