source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/locationapi.idl@ 1172

Last change on this file since 1172 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 3.4 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7import "oaidl.idl";
8import "ocidl.idl";
9import "sensorsapi.idl";
10
11cpp_quote("#include <propkeydef.h>")
12
13typedef enum LOCATION_REPORT_STATUS {
14 REPORT_NOT_SUPPORTED = 0,
15 REPORT_ERROR = 1,
16 REPORT_ACCESS_DENIED = 2,
17 REPORT_INITIALIZING = 3,
18 REPORT_RUNNING = 4
19} LOCATION_REPORT_STATUS;
20
21[
22 uuid(c8b7f7ee-75d0-4db9-b62d-7a0f369ca456),
23 object
24]
25interface ILocationReport : IUnknown {
26 HRESULT GetSensorID([out, retval] SENSOR_ID *pSensorID);
27 HRESULT GetTimestamp([out, retval] SYSTEMTIME *pCreationTime);
28 HRESULT GetValue([in] REFPROPERTYKEY pKey, [out, retval] PROPVARIANT *pValue);
29}
30
31[
32 uuid(c0b19f70-4adf-445d-87f2-cad8fd711792),
33 object
34]
35interface ICivicAddressReport : ILocationReport {
36 HRESULT GetAddressLine1([out, retval] BSTR *pbstrAddress1);
37 HRESULT GetAddressLine2([out, retval] BSTR *pbstrAddress2);
38 HRESULT GetCity([out, retval] BSTR *pbstrCity);
39 HRESULT GetStateProvince([out, retval] BSTR *pbstrStateProvince);
40 HRESULT GetPostalCode([out, retval] BSTR *pbstrPostalCode);
41 HRESULT GetCountryRegion([out, retval] BSTR *pbstrCountryRegion);
42 HRESULT GetDetailLevel([out, retval] DWORD *pDetailLevel);
43}
44
45[
46 uuid(7fed806d-0ef8-4f07-80ac-36a0beae3134),
47 object
48]
49interface ILatLongReport : ILocationReport {
50 HRESULT GetLatitude([out, retval] DOUBLE *pLatitude);
51 HRESULT GetLongitude([out, retval] DOUBLE *pLongitude);
52 HRESULT GetErrorRadius([out, retval] DOUBLE *pErrorRadius);
53 HRESULT GetAltitude([out, retval] DOUBLE *pAltitude);
54 HRESULT GetAltitudeError([out, retval] DOUBLE *pAltitudeError);
55}
56
57[
58 uuid(a65aF77e-969a-4a2e-8aca-33bb7cbb1235),
59 object
60]
61interface IDefaultLocation : IUnknown {
62 HRESULT SetReport([in] REFIID reportType, [in] ILocationReport *pLocationReport);
63 HRESULT GetReport([in] REFIID reportType, [out, retval] ILocationReport **ppLocationReport);
64}
65
66[
67 uuid(cae02bbf-798b-4508-a207-35a7906dc73d),
68 object
69]
70interface ILocationEvents : IUnknown {
71 HRESULT OnLocationChanged([in] REFIID reportType, [in] ILocationReport *pLocationReport);
72 HRESULT OnStatusChanged([in] REFIID reportType, [in] LOCATION_REPORT_STATUS newStatus);
73}
74
75[
76 uuid(ab2ece69-56d9-4f28-b525-de1B0ee44237),
77 object
78]
79interface ILocation : IUnknown {
80 HRESULT RegisterForReport([in] ILocationEvents *pEvents, [in] REFIID reportType, [in] DWORD dwRequestedReportInterval);
81 HRESULT UnregisterForReport([in] REFIID reportType);
82 HRESULT GetReport([in] REFIID reportType, [out, retval] ILocationReport **ppLocationReport);
83 HRESULT GetReportStatus([in] REFIID reportType, [out, retval] LOCATION_REPORT_STATUS *pStatus);
84 HRESULT GetReportInterval([in] REFIID reportType, [out, retval] DWORD *pMilliseconds);
85 HRESULT SetReportInterval([in] REFIID reportType, [in] DWORD millisecondsRequested);
86 HRESULT GetDesiredAccuracy([in] REFIID reportType, [out, retval] LOCATION_DESIRED_ACCURACY *pDesiredAccuracy);
87 HRESULT SetDesiredAccuracy([in] REFIID reportType, [in] LOCATION_DESIRED_ACCURACY desiredAccuracy);
88 HRESULT RequestPermissions([in, unique] HWND hParent, [in, size_is(count)] IID pReportTypes[], [in] ULONG count, [in] BOOL fModal);
89}
90
91[
92 uuid(e5B8e079-ee6d-4e33-a438-c87f2e959254)
93]
94coclass Location {}
Note: See TracBrowser for help on using the repository browser.