include: Add windows.devices.geolocation.geolocator.
This commit is contained in:
parent
1e659a1fff
commit
ad9f4291c2
2 changed files with 227 additions and 0 deletions
|
@ -809,6 +809,7 @@ SOURCES = \
|
|||
windot11.h \
|
||||
windows.devices.bluetooth.idl \
|
||||
windows.devices.enumeration.idl \
|
||||
windows.devices.geolocation.idl \
|
||||
windows.devices.haptics.idl \
|
||||
windows.devices.power.idl \
|
||||
windows.devices.radios.idl \
|
||||
|
|
226
include/windows.devices.geolocation.idl
Normal file
226
include/windows.devices.geolocation.idl
Normal file
|
@ -0,0 +1,226 @@
|
|||
/*
|
||||
* Copyright 2023 Fabian Maurer
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifdef __WIDL__
|
||||
#pragma winrt ns_prefix
|
||||
#endif
|
||||
|
||||
#ifndef DO_NO_IMPORTS
|
||||
import "inspectable.idl";
|
||||
import "asyncinfo.idl";
|
||||
import "eventtoken.idl";
|
||||
import "windowscontracts.idl";
|
||||
import "windows.foundation.idl";
|
||||
#endif
|
||||
|
||||
namespace Windows.Devices.Geolocation {
|
||||
|
||||
typedef enum PositionAccuracy PositionAccuracy;
|
||||
typedef enum PositionStatus PositionStatus;
|
||||
|
||||
interface IGeolocator;
|
||||
interface IGeoposition;
|
||||
interface IGeocoordinate;
|
||||
interface IPositionChangedEventArgs;
|
||||
interface IStatusChangedEventArgs;
|
||||
interface ICivicAddress;
|
||||
|
||||
runtimeclass Geolocator;
|
||||
runtimeclass Geoposition;
|
||||
runtimeclass Geocoordinate;
|
||||
runtimeclass PositionChangedEventArgs;
|
||||
runtimeclass StatusChangedEventArgs;
|
||||
runtimeclass CivicAddress;
|
||||
|
||||
declare {
|
||||
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Geolocation.Geoposition*>;
|
||||
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Geolocation.Geoposition*>;
|
||||
interface Windows.Foundation.TypedEventHandler<Windows.Devices.Geolocation.Geolocator*, Windows.Devices.Geolocation.PositionChangedEventArgs*>;
|
||||
interface Windows.Foundation.TypedEventHandler<Windows.Devices.Geolocation.Geolocator*, Windows.Devices.Geolocation.StatusChangedEventArgs*>;
|
||||
}
|
||||
|
||||
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
|
||||
enum PositionAccuracy
|
||||
{
|
||||
Default = 0,
|
||||
High = 1,
|
||||
};
|
||||
|
||||
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
|
||||
enum PositionStatus
|
||||
{
|
||||
Ready = 0,
|
||||
Initializing = 1,
|
||||
NoData = 2,
|
||||
Disabled = 3,
|
||||
NotInitialized = 4,
|
||||
NotAvailable = 5,
|
||||
};
|
||||
|
||||
/* Interfaces */
|
||||
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
exclusiveto(Windows.Devices.Geolocation.Geolocator),
|
||||
uuid(a9c3bf62-4524-4989-8aa9-de019d2e551f)
|
||||
]
|
||||
interface IGeolocator : IInspectable
|
||||
{
|
||||
[propget] HRESULT DesiredAccuracy([out, retval] Windows.Devices.Geolocation.PositionAccuracy *value);
|
||||
[propput] HRESULT DesiredAccuracy([in] Windows.Devices.Geolocation.PositionAccuracy value);
|
||||
[propget] HRESULT MovementThreshold([out, retval] DOUBLE *value);
|
||||
[propput] HRESULT MovementThreshold([in] DOUBLE value);
|
||||
[propget] HRESULT ReportInterval([out, retval] UINT32 *value);
|
||||
[propput] HRESULT ReportInterval([in] UINT32 value);
|
||||
[propget] HRESULT LocationStatus([out, retval] Windows.Devices.Geolocation.PositionStatus *value);
|
||||
[overload("GetGeopositionAsync")]
|
||||
HRESULT GetGeopositionAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Geolocation.Geoposition*> **value);
|
||||
[overload("GetGeopositionAsync")]
|
||||
HRESULT GetGeopositionAsyncWithAgeAndTimeout([in] Windows.Foundation.TimeSpan maximum_age,
|
||||
[in] Windows.Foundation.TimeSpan timeout,
|
||||
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Geolocation.Geoposition*> **value);
|
||||
[eventadd] HRESULT PositionChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Geolocation.Geolocator*, Windows.Devices.Geolocation.PositionChangedEventArgs*> *handler,
|
||||
[out, retval] EventRegistrationToken *token);
|
||||
[eventremove] HRESULT PositionChanged([in] EventRegistrationToken token);
|
||||
[eventadd] HRESULT StatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Geolocation.Geolocator*, Windows.Devices.Geolocation.StatusChangedEventArgs*> *handler,
|
||||
[out, retval] EventRegistrationToken *token);
|
||||
[eventremove] HRESULT StatusChanged([in] EventRegistrationToken token);
|
||||
}
|
||||
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
exclusiveto(Windows.Devices.Geolocation.Geoposition),
|
||||
uuid(c18d0454-7d41-4ff7-a957-9dffb4ef7f5b)
|
||||
]
|
||||
interface IGeoposition : IInspectable
|
||||
{
|
||||
[propget] HRESULT Coordinate([out, retval] Windows.Devices.Geolocation.Geocoordinate **value);
|
||||
[propget] HRESULT CivicAddress([out, retval] Windows.Devices.Geolocation.CivicAddress **value);
|
||||
}
|
||||
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
exclusiveto(Windows.Devices.Geolocation.Geocoordinate),
|
||||
uuid(ee21a3aa-976a-ac70-803d-083ea55bcbc4)
|
||||
]
|
||||
interface IGeocoordinate : IInspectable
|
||||
{
|
||||
[deprecated("Use Point.Position.Latitude", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
|
||||
[propget] HRESULT Latitude([out, retval] DOUBLE *value);
|
||||
[deprecated("Use Point.Position.Longitude", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
|
||||
[propget] HRESULT Longitude([out, retval] DOUBLE *value);
|
||||
[deprecated("Use Point.Position.Altitude", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
|
||||
[propget] HRESULT Altitude([out, retval] Windows.Foundation.IReference<DOUBLE> **value);
|
||||
[propget] HRESULT Accuracy([out, retval] DOUBLE *value);
|
||||
[propget] HRESULT AltitudeAccuracy([out, retval] Windows.Foundation.IReference<DOUBLE> **value);
|
||||
[propget] HRESULT Heading([out, retval] Windows.Foundation.IReference<DOUBLE> **value);
|
||||
[propget] HRESULT Speed([out, retval] Windows.Foundation.IReference<DOUBLE> **value);
|
||||
[propget] HRESULT Timestamp([out, retval] Windows.Foundation.DateTime *value);
|
||||
}
|
||||
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
exclusiveto(Windows.Devices.Geolocation.PositionChangedEventArgs),
|
||||
uuid(37859ce5-9d1e-46c5-bf3b-6ad8cac1a093)
|
||||
]
|
||||
interface IPositionChangedEventArgs : IInspectable
|
||||
{
|
||||
[propget] HRESULT Position([out, retval] Windows.Devices.Geolocation.Geoposition **value);
|
||||
}
|
||||
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
exclusiveto(Windows.Devices.Geolocation.StatusChangedEventArgs),
|
||||
uuid(3453d2da-8c93-4111-a205-9aecfc9be5c0)
|
||||
]
|
||||
interface IStatusChangedEventArgs : IInspectable
|
||||
{
|
||||
[propget] HRESULT Status([out, retval] Windows.Devices.Geolocation.PositionStatus *value);
|
||||
}
|
||||
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
exclusiveto(Windows.Devices.Geolocation.CivicAddress),
|
||||
uuid(a8567a1a-64f4-4d48-bcea-f6b008eca34c)
|
||||
]
|
||||
interface ICivicAddress : IInspectable
|
||||
{
|
||||
[propget] HRESULT Country([out, retval] HSTRING *value);
|
||||
[propget] HRESULT State([out, retval] HSTRING *value);
|
||||
[propget] HRESULT City([out, retval] HSTRING *value);
|
||||
[propget] HRESULT PostalCode([out, retval] HSTRING *value);
|
||||
[propget] HRESULT Timestamp([out, retval] Windows.Foundation.DateTime *value);
|
||||
}
|
||||
|
||||
/* Runtime Classes */
|
||||
|
||||
[
|
||||
activatable(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
marshaling_behavior(agile),
|
||||
threading(both)
|
||||
]
|
||||
runtimeclass Geolocator
|
||||
{
|
||||
[default] interface Windows.Devices.Geolocation.IGeolocator;
|
||||
}
|
||||
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
marshaling_behavior(agile)
|
||||
]
|
||||
runtimeclass Geoposition
|
||||
{
|
||||
[default] interface Windows.Devices.Geolocation.IGeoposition;
|
||||
}
|
||||
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
marshaling_behavior(agile)
|
||||
]
|
||||
runtimeclass Geocoordinate
|
||||
{
|
||||
[default] interface Windows.Devices.Geolocation.IGeocoordinate;
|
||||
}
|
||||
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
marshaling_behavior(agile)
|
||||
]
|
||||
runtimeclass PositionChangedEventArgs
|
||||
{
|
||||
[default] interface Windows.Devices.Geolocation.IPositionChangedEventArgs;
|
||||
}
|
||||
|
||||
[
|
||||
marshaling_behavior(agile)
|
||||
]
|
||||
runtimeclass StatusChangedEventArgs
|
||||
{
|
||||
[default] interface Windows.Devices.Geolocation.IStatusChangedEventArgs;
|
||||
}
|
||||
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
marshaling_behavior(agile)
|
||||
]
|
||||
runtimeclass CivicAddress
|
||||
{
|
||||
[default] interface Windows.Devices.Geolocation.ICivicAddress;
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue