]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Services/Maps/LocalSearch/mod.rs
Merge 1.70 into proxmox/bookworm
[rustc.git] / vendor / windows / src / Windows / Services / Maps / LocalSearch / mod.rs
CommitLineData
353b0b11
FG
1#[doc(hidden)]
2#[repr(transparent)]
3pub struct ILocalCategoriesStatics(::windows::core::IUnknown);
4unsafe impl ::windows::core::Interface for ILocalCategoriesStatics {
5 type Vtable = ILocalCategoriesStatics_Vtbl;
6}
7impl ::core::clone::Clone for ILocalCategoriesStatics {
8 fn clone(&self) -> Self {
9 Self(self.0.clone())
10 }
11}
12unsafe impl ::windows::core::ComInterface for ILocalCategoriesStatics {
13 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf49399f5_8261_4321_9974_ef92d49a8dca);
14}
15#[repr(C)]
16#[doc(hidden)]
17pub struct ILocalCategoriesStatics_Vtbl {
18 pub base__: ::windows::core::IInspectable_Vtbl,
19 pub BankAndCreditUnions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
20 pub EatDrink: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
21 pub Hospitals: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
22 pub HotelsAndMotels: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
23 pub All: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
24 pub Parking: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
25 pub SeeDo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
26 pub Shop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
27}
28#[doc(hidden)]
29#[repr(transparent)]
30pub struct ILocalLocation(::windows::core::IUnknown);
31unsafe impl ::windows::core::Interface for ILocalLocation {
32 type Vtable = ILocalLocation_Vtbl;
33}
34impl ::core::clone::Clone for ILocalLocation {
35 fn clone(&self) -> Self {
36 Self(self.0.clone())
37 }
38}
39unsafe impl ::windows::core::ComInterface for ILocalLocation {
40 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbb0fe9ab_4502_4f2c_94a9_0d60de0e2163);
41}
42#[repr(C)]
43#[doc(hidden)]
44pub struct ILocalLocation_Vtbl {
45 pub base__: ::windows::core::IInspectable_Vtbl,
46 pub Address: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
47 pub Identifier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
48 pub Description: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
49 pub DisplayName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
50 #[cfg(feature = "Devices_Geolocation")]
51 pub Point: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
52 #[cfg(not(feature = "Devices_Geolocation"))]
53 Point: usize,
54 pub PhoneNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
55 pub DataAttribution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
56}
57#[doc(hidden)]
58#[repr(transparent)]
59pub struct ILocalLocation2(::windows::core::IUnknown);
60unsafe impl ::windows::core::Interface for ILocalLocation2 {
61 type Vtable = ILocalLocation2_Vtbl;
62}
63impl ::core::clone::Clone for ILocalLocation2 {
64 fn clone(&self) -> Self {
65 Self(self.0.clone())
66 }
67}
68unsafe impl ::windows::core::ComInterface for ILocalLocation2 {
69 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6e9e307c_ecb5_4ffc_bb8c_ba50ba8c2dc6);
70}
71#[repr(C)]
72#[doc(hidden)]
73pub struct ILocalLocation2_Vtbl {
74 pub base__: ::windows::core::IInspectable_Vtbl,
75 pub Category: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
76 pub RatingInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
77 #[cfg(feature = "Foundation_Collections")]
78 pub HoursOfOperation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
79 #[cfg(not(feature = "Foundation_Collections"))]
80 HoursOfOperation: usize,
81}
82#[doc(hidden)]
83#[repr(transparent)]
84pub struct ILocalLocationFinderResult(::windows::core::IUnknown);
85unsafe impl ::windows::core::Interface for ILocalLocationFinderResult {
86 type Vtable = ILocalLocationFinderResult_Vtbl;
87}
88impl ::core::clone::Clone for ILocalLocationFinderResult {
89 fn clone(&self) -> Self {
90 Self(self.0.clone())
91 }
92}
93unsafe impl ::windows::core::ComInterface for ILocalLocationFinderResult {
94 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd09b6cc6_f338_4191_9fd8_5440b9a68f52);
95}
96#[repr(C)]
97#[doc(hidden)]
98pub struct ILocalLocationFinderResult_Vtbl {
99 pub base__: ::windows::core::IInspectable_Vtbl,
100 #[cfg(feature = "Foundation_Collections")]
101 pub LocalLocations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
102 #[cfg(not(feature = "Foundation_Collections"))]
103 LocalLocations: usize,
104 pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut LocalLocationFinderStatus) -> ::windows::core::HRESULT,
105}
106#[doc(hidden)]
107#[repr(transparent)]
108pub struct ILocalLocationFinderStatics(::windows::core::IUnknown);
109unsafe impl ::windows::core::Interface for ILocalLocationFinderStatics {
110 type Vtable = ILocalLocationFinderStatics_Vtbl;
111}
112impl ::core::clone::Clone for ILocalLocationFinderStatics {
113 fn clone(&self) -> Self {
114 Self(self.0.clone())
115 }
116}
117unsafe impl ::windows::core::ComInterface for ILocalLocationFinderStatics {
118 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd2ef7344_a0de_48ca_81a8_07c7dcfd37ab);
119}
120#[repr(C)]
121#[doc(hidden)]
122pub struct ILocalLocationFinderStatics_Vtbl {
123 pub base__: ::windows::core::IInspectable_Vtbl,
124 #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation"))]
125 pub FindLocalLocationsAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, searchterm: ::std::mem::MaybeUninit<::windows::core::HSTRING>, searcharea: *mut ::core::ffi::c_void, localcategory: ::std::mem::MaybeUninit<::windows::core::HSTRING>, maxresults: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
126 #[cfg(not(all(feature = "Devices_Geolocation", feature = "Foundation")))]
127 FindLocalLocationsAsync: usize,
128}
129#[doc(hidden)]
130#[repr(transparent)]
131pub struct ILocalLocationHoursOfOperationItem(::windows::core::IUnknown);
132unsafe impl ::windows::core::Interface for ILocalLocationHoursOfOperationItem {
133 type Vtable = ILocalLocationHoursOfOperationItem_Vtbl;
134}
135impl ::core::clone::Clone for ILocalLocationHoursOfOperationItem {
136 fn clone(&self) -> Self {
137 Self(self.0.clone())
138 }
139}
140unsafe impl ::windows::core::ComInterface for ILocalLocationHoursOfOperationItem {
141 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x23548c72_a1c7_43f1_a4f0_1091c39ec640);
142}
143#[repr(C)]
144#[doc(hidden)]
145pub struct ILocalLocationHoursOfOperationItem_Vtbl {
146 pub base__: ::windows::core::IInspectable_Vtbl,
147 #[cfg(feature = "Globalization")]
148 pub Day: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Globalization::DayOfWeek) -> ::windows::core::HRESULT,
149 #[cfg(not(feature = "Globalization"))]
150 Day: usize,
151 #[cfg(feature = "Foundation")]
152 pub Start: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
153 #[cfg(not(feature = "Foundation"))]
154 Start: usize,
155 #[cfg(feature = "Foundation")]
156 pub Span: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
157 #[cfg(not(feature = "Foundation"))]
158 Span: usize,
159}
160#[doc(hidden)]
161#[repr(transparent)]
162pub struct ILocalLocationRatingInfo(::windows::core::IUnknown);
163unsafe impl ::windows::core::Interface for ILocalLocationRatingInfo {
164 type Vtable = ILocalLocationRatingInfo_Vtbl;
165}
166impl ::core::clone::Clone for ILocalLocationRatingInfo {
167 fn clone(&self) -> Self {
168 Self(self.0.clone())
169 }
170}
171unsafe impl ::windows::core::ComInterface for ILocalLocationRatingInfo {
172 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcb1dab56_3354_4311_8bc0_a2d4d5eb806e);
173}
174#[repr(C)]
175#[doc(hidden)]
176pub struct ILocalLocationRatingInfo_Vtbl {
177 pub base__: ::windows::core::IInspectable_Vtbl,
178 #[cfg(feature = "Foundation")]
179 pub AggregateRating: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
180 #[cfg(not(feature = "Foundation"))]
181 AggregateRating: usize,
182 #[cfg(feature = "Foundation")]
183 pub RatingCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
184 #[cfg(not(feature = "Foundation"))]
185 RatingCount: usize,
186 pub ProviderIdentifier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
187}
188#[doc(hidden)]
189#[repr(transparent)]
190pub struct IPlaceInfoHelperStatics(::windows::core::IUnknown);
191unsafe impl ::windows::core::Interface for IPlaceInfoHelperStatics {
192 type Vtable = IPlaceInfoHelperStatics_Vtbl;
193}
194impl ::core::clone::Clone for IPlaceInfoHelperStatics {
195 fn clone(&self) -> Self {
196 Self(self.0.clone())
197 }
198}
199unsafe impl ::windows::core::ComInterface for IPlaceInfoHelperStatics {
200 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdd1ca9a7_a9c6_491b_bc09_e80fcea48ee6);
201}
202#[repr(C)]
203#[doc(hidden)]
204pub struct IPlaceInfoHelperStatics_Vtbl {
205 pub base__: ::windows::core::IInspectable_Vtbl,
206 pub CreateFromLocalLocation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, location: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
207}
208#[doc = "*Required features: `\"Services_Maps_LocalSearch\"`*"]
209pub struct LocalCategories;
210impl LocalCategories {
211 pub fn BankAndCreditUnions() -> ::windows::core::Result<::windows::core::HSTRING> {
212 Self::ILocalCategoriesStatics(|this| unsafe {
213 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
214 (::windows::core::Interface::vtable(this).BankAndCreditUnions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
215 })
216 }
217 pub fn EatDrink() -> ::windows::core::Result<::windows::core::HSTRING> {
218 Self::ILocalCategoriesStatics(|this| unsafe {
219 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
220 (::windows::core::Interface::vtable(this).EatDrink)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
221 })
222 }
223 pub fn Hospitals() -> ::windows::core::Result<::windows::core::HSTRING> {
224 Self::ILocalCategoriesStatics(|this| unsafe {
225 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
226 (::windows::core::Interface::vtable(this).Hospitals)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
227 })
228 }
229 pub fn HotelsAndMotels() -> ::windows::core::Result<::windows::core::HSTRING> {
230 Self::ILocalCategoriesStatics(|this| unsafe {
231 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
232 (::windows::core::Interface::vtable(this).HotelsAndMotels)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
233 })
234 }
235 pub fn All() -> ::windows::core::Result<::windows::core::HSTRING> {
236 Self::ILocalCategoriesStatics(|this| unsafe {
237 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
238 (::windows::core::Interface::vtable(this).All)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
239 })
240 }
241 pub fn Parking() -> ::windows::core::Result<::windows::core::HSTRING> {
242 Self::ILocalCategoriesStatics(|this| unsafe {
243 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
244 (::windows::core::Interface::vtable(this).Parking)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
245 })
246 }
247 pub fn SeeDo() -> ::windows::core::Result<::windows::core::HSTRING> {
248 Self::ILocalCategoriesStatics(|this| unsafe {
249 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
250 (::windows::core::Interface::vtable(this).SeeDo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
251 })
252 }
253 pub fn Shop() -> ::windows::core::Result<::windows::core::HSTRING> {
254 Self::ILocalCategoriesStatics(|this| unsafe {
255 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
256 (::windows::core::Interface::vtable(this).Shop)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
257 })
258 }
259 #[doc(hidden)]
260 pub fn ILocalCategoriesStatics<R, F: FnOnce(&ILocalCategoriesStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
261 static SHARED: ::windows::imp::FactoryCache<LocalCategories, ILocalCategoriesStatics> = ::windows::imp::FactoryCache::new();
262 SHARED.call(callback)
263 }
264}
265impl ::windows::core::RuntimeName for LocalCategories {
266 const NAME: &'static str = "Windows.Services.Maps.LocalSearch.LocalCategories";
267}
268#[doc = "*Required features: `\"Services_Maps_LocalSearch\"`*"]
269#[repr(transparent)]
270pub struct LocalLocation(::windows::core::IUnknown);
271impl LocalLocation {
272 pub fn Address(&self) -> ::windows::core::Result<super::MapAddress> {
273 let this = self;
274 unsafe {
275 let mut result__ = ::windows::core::zeroed::<super::MapAddress>();
276 (::windows::core::Interface::vtable(this).Address)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
277 }
278 }
279 pub fn Identifier(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
280 let this = self;
281 unsafe {
282 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
283 (::windows::core::Interface::vtable(this).Identifier)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
284 }
285 }
286 pub fn Description(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
287 let this = self;
288 unsafe {
289 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
290 (::windows::core::Interface::vtable(this).Description)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
291 }
292 }
293 pub fn DisplayName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
294 let this = self;
295 unsafe {
296 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
297 (::windows::core::Interface::vtable(this).DisplayName)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
298 }
299 }
300 #[doc = "*Required features: `\"Devices_Geolocation\"`*"]
301 #[cfg(feature = "Devices_Geolocation")]
302 pub fn Point(&self) -> ::windows::core::Result<super::super::super::Devices::Geolocation::Geopoint> {
303 let this = self;
304 unsafe {
305 let mut result__ = ::windows::core::zeroed::<super::super::super::Devices::Geolocation::Geopoint>();
306 (::windows::core::Interface::vtable(this).Point)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
307 }
308 }
309 pub fn PhoneNumber(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
310 let this = self;
311 unsafe {
312 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
313 (::windows::core::Interface::vtable(this).PhoneNumber)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
314 }
315 }
316 pub fn DataAttribution(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
317 let this = self;
318 unsafe {
319 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
320 (::windows::core::Interface::vtable(this).DataAttribution)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
321 }
322 }
323 pub fn Category(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
324 let this = &::windows::core::ComInterface::cast::<ILocalLocation2>(self)?;
325 unsafe {
326 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
327 (::windows::core::Interface::vtable(this).Category)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
328 }
329 }
330 pub fn RatingInfo(&self) -> ::windows::core::Result<LocalLocationRatingInfo> {
331 let this = &::windows::core::ComInterface::cast::<ILocalLocation2>(self)?;
332 unsafe {
333 let mut result__ = ::windows::core::zeroed::<LocalLocationRatingInfo>();
334 (::windows::core::Interface::vtable(this).RatingInfo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
335 }
336 }
337 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
338 #[cfg(feature = "Foundation_Collections")]
339 pub fn HoursOfOperation(&self) -> ::windows::core::Result<super::super::super::Foundation::Collections::IVectorView<LocalLocationHoursOfOperationItem>> {
340 let this = &::windows::core::ComInterface::cast::<ILocalLocation2>(self)?;
341 unsafe {
342 let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::Collections::IVectorView<LocalLocationHoursOfOperationItem>>();
343 (::windows::core::Interface::vtable(this).HoursOfOperation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
344 }
345 }
346}
347impl ::core::cmp::PartialEq for LocalLocation {
348 fn eq(&self, other: &Self) -> bool {
349 self.0 == other.0
350 }
351}
352impl ::core::cmp::Eq for LocalLocation {}
353impl ::core::fmt::Debug for LocalLocation {
354 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
355 f.debug_tuple("LocalLocation").field(&self.0).finish()
356 }
357}
358impl ::windows::core::RuntimeType for LocalLocation {
359 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Services.Maps.LocalSearch.LocalLocation;{bb0fe9ab-4502-4f2c-94a9-0d60de0e2163})");
360}
361impl ::core::clone::Clone for LocalLocation {
362 fn clone(&self) -> Self {
363 Self(self.0.clone())
364 }
365}
366unsafe impl ::windows::core::Interface for LocalLocation {
367 type Vtable = ILocalLocation_Vtbl;
368}
369unsafe impl ::windows::core::ComInterface for LocalLocation {
370 const IID: ::windows::core::GUID = <ILocalLocation as ::windows::core::ComInterface>::IID;
371}
372impl ::windows::core::RuntimeName for LocalLocation {
373 const NAME: &'static str = "Windows.Services.Maps.LocalSearch.LocalLocation";
374}
375::windows::imp::interface_hierarchy!(LocalLocation, ::windows::core::IUnknown, ::windows::core::IInspectable);
376unsafe impl ::core::marker::Send for LocalLocation {}
377unsafe impl ::core::marker::Sync for LocalLocation {}
378#[doc = "*Required features: `\"Services_Maps_LocalSearch\"`*"]
379pub struct LocalLocationFinder;
380impl LocalLocationFinder {
381 #[doc = "*Required features: `\"Devices_Geolocation\"`, `\"Foundation\"`*"]
382 #[cfg(all(feature = "Devices_Geolocation", feature = "Foundation"))]
383 pub fn FindLocalLocationsAsync(searchterm: &::windows::core::HSTRING, searcharea: &super::super::super::Devices::Geolocation::Geocircle, localcategory: &::windows::core::HSTRING, maxresults: u32) -> ::windows::core::Result<super::super::super::Foundation::IAsyncOperation<LocalLocationFinderResult>> {
384 Self::ILocalLocationFinderStatics(|this| unsafe {
385 let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::IAsyncOperation<LocalLocationFinderResult>>();
386 (::windows::core::Interface::vtable(this).FindLocalLocationsAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(searchterm), ::core::mem::transmute_copy(searcharea), ::core::mem::transmute_copy(localcategory), maxresults, &mut result__).from_abi(result__)
387 })
388 }
389 #[doc(hidden)]
390 pub fn ILocalLocationFinderStatics<R, F: FnOnce(&ILocalLocationFinderStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
391 static SHARED: ::windows::imp::FactoryCache<LocalLocationFinder, ILocalLocationFinderStatics> = ::windows::imp::FactoryCache::new();
392 SHARED.call(callback)
393 }
394}
395impl ::windows::core::RuntimeName for LocalLocationFinder {
396 const NAME: &'static str = "Windows.Services.Maps.LocalSearch.LocalLocationFinder";
397}
398#[doc = "*Required features: `\"Services_Maps_LocalSearch\"`*"]
399#[repr(transparent)]
400pub struct LocalLocationFinderResult(::windows::core::IUnknown);
401impl LocalLocationFinderResult {
402 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
403 #[cfg(feature = "Foundation_Collections")]
404 pub fn LocalLocations(&self) -> ::windows::core::Result<super::super::super::Foundation::Collections::IVectorView<LocalLocation>> {
405 let this = self;
406 unsafe {
407 let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::Collections::IVectorView<LocalLocation>>();
408 (::windows::core::Interface::vtable(this).LocalLocations)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
409 }
410 }
411 pub fn Status(&self) -> ::windows::core::Result<LocalLocationFinderStatus> {
412 let this = self;
413 unsafe {
414 let mut result__ = ::windows::core::zeroed::<LocalLocationFinderStatus>();
415 (::windows::core::Interface::vtable(this).Status)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
416 }
417 }
418}
419impl ::core::cmp::PartialEq for LocalLocationFinderResult {
420 fn eq(&self, other: &Self) -> bool {
421 self.0 == other.0
422 }
423}
424impl ::core::cmp::Eq for LocalLocationFinderResult {}
425impl ::core::fmt::Debug for LocalLocationFinderResult {
426 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
427 f.debug_tuple("LocalLocationFinderResult").field(&self.0).finish()
428 }
429}
430impl ::windows::core::RuntimeType for LocalLocationFinderResult {
431 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Services.Maps.LocalSearch.LocalLocationFinderResult;{d09b6cc6-f338-4191-9fd8-5440b9a68f52})");
432}
433impl ::core::clone::Clone for LocalLocationFinderResult {
434 fn clone(&self) -> Self {
435 Self(self.0.clone())
436 }
437}
438unsafe impl ::windows::core::Interface for LocalLocationFinderResult {
439 type Vtable = ILocalLocationFinderResult_Vtbl;
440}
441unsafe impl ::windows::core::ComInterface for LocalLocationFinderResult {
442 const IID: ::windows::core::GUID = <ILocalLocationFinderResult as ::windows::core::ComInterface>::IID;
443}
444impl ::windows::core::RuntimeName for LocalLocationFinderResult {
445 const NAME: &'static str = "Windows.Services.Maps.LocalSearch.LocalLocationFinderResult";
446}
447::windows::imp::interface_hierarchy!(LocalLocationFinderResult, ::windows::core::IUnknown, ::windows::core::IInspectable);
448unsafe impl ::core::marker::Send for LocalLocationFinderResult {}
449unsafe impl ::core::marker::Sync for LocalLocationFinderResult {}
450#[doc = "*Required features: `\"Services_Maps_LocalSearch\"`*"]
451#[repr(transparent)]
452pub struct LocalLocationHoursOfOperationItem(::windows::core::IUnknown);
453impl LocalLocationHoursOfOperationItem {
454 #[doc = "*Required features: `\"Globalization\"`*"]
455 #[cfg(feature = "Globalization")]
456 pub fn Day(&self) -> ::windows::core::Result<super::super::super::Globalization::DayOfWeek> {
457 let this = self;
458 unsafe {
459 let mut result__ = ::windows::core::zeroed::<super::super::super::Globalization::DayOfWeek>();
460 (::windows::core::Interface::vtable(this).Day)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
461 }
462 }
463 #[doc = "*Required features: `\"Foundation\"`*"]
464 #[cfg(feature = "Foundation")]
465 pub fn Start(&self) -> ::windows::core::Result<super::super::super::Foundation::TimeSpan> {
466 let this = self;
467 unsafe {
468 let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::TimeSpan>();
469 (::windows::core::Interface::vtable(this).Start)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
470 }
471 }
472 #[doc = "*Required features: `\"Foundation\"`*"]
473 #[cfg(feature = "Foundation")]
474 pub fn Span(&self) -> ::windows::core::Result<super::super::super::Foundation::TimeSpan> {
475 let this = self;
476 unsafe {
477 let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::TimeSpan>();
478 (::windows::core::Interface::vtable(this).Span)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
479 }
480 }
481}
482impl ::core::cmp::PartialEq for LocalLocationHoursOfOperationItem {
483 fn eq(&self, other: &Self) -> bool {
484 self.0 == other.0
485 }
486}
487impl ::core::cmp::Eq for LocalLocationHoursOfOperationItem {}
488impl ::core::fmt::Debug for LocalLocationHoursOfOperationItem {
489 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
490 f.debug_tuple("LocalLocationHoursOfOperationItem").field(&self.0).finish()
491 }
492}
493impl ::windows::core::RuntimeType for LocalLocationHoursOfOperationItem {
494 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Services.Maps.LocalSearch.LocalLocationHoursOfOperationItem;{23548c72-a1c7-43f1-a4f0-1091c39ec640})");
495}
496impl ::core::clone::Clone for LocalLocationHoursOfOperationItem {
497 fn clone(&self) -> Self {
498 Self(self.0.clone())
499 }
500}
501unsafe impl ::windows::core::Interface for LocalLocationHoursOfOperationItem {
502 type Vtable = ILocalLocationHoursOfOperationItem_Vtbl;
503}
504unsafe impl ::windows::core::ComInterface for LocalLocationHoursOfOperationItem {
505 const IID: ::windows::core::GUID = <ILocalLocationHoursOfOperationItem as ::windows::core::ComInterface>::IID;
506}
507impl ::windows::core::RuntimeName for LocalLocationHoursOfOperationItem {
508 const NAME: &'static str = "Windows.Services.Maps.LocalSearch.LocalLocationHoursOfOperationItem";
509}
510::windows::imp::interface_hierarchy!(LocalLocationHoursOfOperationItem, ::windows::core::IUnknown, ::windows::core::IInspectable);
511unsafe impl ::core::marker::Send for LocalLocationHoursOfOperationItem {}
512unsafe impl ::core::marker::Sync for LocalLocationHoursOfOperationItem {}
513#[doc = "*Required features: `\"Services_Maps_LocalSearch\"`*"]
514#[repr(transparent)]
515pub struct LocalLocationRatingInfo(::windows::core::IUnknown);
516impl LocalLocationRatingInfo {
517 #[doc = "*Required features: `\"Foundation\"`*"]
518 #[cfg(feature = "Foundation")]
519 pub fn AggregateRating(&self) -> ::windows::core::Result<super::super::super::Foundation::IReference<f64>> {
520 let this = self;
521 unsafe {
522 let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::IReference<f64>>();
523 (::windows::core::Interface::vtable(this).AggregateRating)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
524 }
525 }
526 #[doc = "*Required features: `\"Foundation\"`*"]
527 #[cfg(feature = "Foundation")]
528 pub fn RatingCount(&self) -> ::windows::core::Result<super::super::super::Foundation::IReference<i32>> {
529 let this = self;
530 unsafe {
531 let mut result__ = ::windows::core::zeroed::<super::super::super::Foundation::IReference<i32>>();
532 (::windows::core::Interface::vtable(this).RatingCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
533 }
534 }
535 pub fn ProviderIdentifier(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
536 let this = self;
537 unsafe {
538 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
539 (::windows::core::Interface::vtable(this).ProviderIdentifier)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
540 }
541 }
542}
543impl ::core::cmp::PartialEq for LocalLocationRatingInfo {
544 fn eq(&self, other: &Self) -> bool {
545 self.0 == other.0
546 }
547}
548impl ::core::cmp::Eq for LocalLocationRatingInfo {}
549impl ::core::fmt::Debug for LocalLocationRatingInfo {
550 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
551 f.debug_tuple("LocalLocationRatingInfo").field(&self.0).finish()
552 }
553}
554impl ::windows::core::RuntimeType for LocalLocationRatingInfo {
555 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Services.Maps.LocalSearch.LocalLocationRatingInfo;{cb1dab56-3354-4311-8bc0-a2d4d5eb806e})");
556}
557impl ::core::clone::Clone for LocalLocationRatingInfo {
558 fn clone(&self) -> Self {
559 Self(self.0.clone())
560 }
561}
562unsafe impl ::windows::core::Interface for LocalLocationRatingInfo {
563 type Vtable = ILocalLocationRatingInfo_Vtbl;
564}
565unsafe impl ::windows::core::ComInterface for LocalLocationRatingInfo {
566 const IID: ::windows::core::GUID = <ILocalLocationRatingInfo as ::windows::core::ComInterface>::IID;
567}
568impl ::windows::core::RuntimeName for LocalLocationRatingInfo {
569 const NAME: &'static str = "Windows.Services.Maps.LocalSearch.LocalLocationRatingInfo";
570}
571::windows::imp::interface_hierarchy!(LocalLocationRatingInfo, ::windows::core::IUnknown, ::windows::core::IInspectable);
572unsafe impl ::core::marker::Send for LocalLocationRatingInfo {}
573unsafe impl ::core::marker::Sync for LocalLocationRatingInfo {}
574#[doc = "*Required features: `\"Services_Maps_LocalSearch\"`*"]
575pub struct PlaceInfoHelper;
576impl PlaceInfoHelper {
577 pub fn CreateFromLocalLocation(location: &LocalLocation) -> ::windows::core::Result<super::PlaceInfo> {
578 Self::IPlaceInfoHelperStatics(|this| unsafe {
579 let mut result__ = ::windows::core::zeroed::<super::PlaceInfo>();
580 (::windows::core::Interface::vtable(this).CreateFromLocalLocation)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(location), &mut result__).from_abi(result__)
581 })
582 }
583 #[doc(hidden)]
584 pub fn IPlaceInfoHelperStatics<R, F: FnOnce(&IPlaceInfoHelperStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
585 static SHARED: ::windows::imp::FactoryCache<PlaceInfoHelper, IPlaceInfoHelperStatics> = ::windows::imp::FactoryCache::new();
586 SHARED.call(callback)
587 }
588}
589impl ::windows::core::RuntimeName for PlaceInfoHelper {
590 const NAME: &'static str = "Windows.Services.Maps.LocalSearch.PlaceInfoHelper";
591}
592#[doc = "*Required features: `\"Services_Maps_LocalSearch\"`*"]
593#[repr(transparent)]
594#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
595pub struct LocalLocationFinderStatus(pub i32);
596impl LocalLocationFinderStatus {
597 pub const Success: Self = Self(0i32);
598 pub const UnknownError: Self = Self(1i32);
599 pub const InvalidCredentials: Self = Self(2i32);
600 pub const InvalidCategory: Self = Self(3i32);
601 pub const InvalidSearchTerm: Self = Self(4i32);
602 pub const InvalidSearchArea: Self = Self(5i32);
603 pub const NetworkFailure: Self = Self(6i32);
604 pub const NotSupported: Self = Self(7i32);
605}
606impl ::core::marker::Copy for LocalLocationFinderStatus {}
607impl ::core::clone::Clone for LocalLocationFinderStatus {
608 fn clone(&self) -> Self {
609 *self
610 }
611}
612impl ::core::default::Default for LocalLocationFinderStatus {
613 fn default() -> Self {
614 Self(0)
615 }
616}
617impl ::windows::core::TypeKind for LocalLocationFinderStatus {
618 type TypeKind = ::windows::core::CopyType;
619}
620impl ::core::fmt::Debug for LocalLocationFinderStatus {
621 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
622 f.debug_tuple("LocalLocationFinderStatus").field(&self.0).finish()
623 }
624}
625impl ::windows::core::RuntimeType for LocalLocationFinderStatus {
626 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Services.Maps.LocalSearch.LocalLocationFinderStatus;i4)");
627}
628#[cfg(feature = "implement")]
629::core::include!("impl.rs");