| /* | |
| * Copyright (C) 2023 Mohamad Al-Jaf | |
| * | |
| * 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 | |
| import "inspectable.idl"; | |
| import "asyncinfo.idl"; | |
| import "eventtoken.idl"; | |
| import "windowscontracts.idl"; | |
| import "windows.foundation.idl"; | |
| import "windows.devices.geolocation.idl"; | |
| /* import "windows.storage.idl"; */ | |
| import "windows.storage.streams.idl"; | |
| namespace Windows.Storage.FileProperties { | |
| typedef enum PhotoOrientation PhotoOrientation; | |
| typedef enum VideoOrientation VideoOrientation; | |
| interface IBasicProperties; | |
| interface IDocumentProperties; | |
| interface IImageProperties; | |
| interface IMusicProperties; | |
| interface IStorageItemExtraProperties; | |
| interface IStorageItemContentProperties; | |
| interface IVideoProperties; | |
| runtimeclass BasicProperties; | |
| runtimeclass DocumentProperties; | |
| runtimeclass ImageProperties; | |
| runtimeclass MusicProperties; | |
| runtimeclass StorageItemContentProperties; | |
| runtimeclass VideoProperties; | |
| declare { | |
| interface Windows.Foundation.Collections.IMap<HSTRING, IInspectable *>; | |
| interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Foundation.Collections.IMap<HSTRING, IInspectable *> *>; | |
| interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.FileProperties.BasicProperties *>; | |
| interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.FileProperties.DocumentProperties *>; | |
| interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.FileProperties.ImageProperties *>; | |
| interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.FileProperties.MusicProperties *>; | |
| interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.FileProperties.VideoProperties *>; | |
| interface Windows.Foundation.Collections.IIterable<HSTRING>; | |
| interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IMap<HSTRING, IInspectable *> *>; | |
| interface Windows.Foundation.IAsyncOperation<Windows.Storage.FileProperties.BasicProperties *>; | |
| interface Windows.Foundation.IAsyncOperation<Windows.Storage.FileProperties.DocumentProperties *>; | |
| interface Windows.Foundation.IAsyncOperation<Windows.Storage.FileProperties.ImageProperties *>; | |
| interface Windows.Foundation.IAsyncOperation<Windows.Storage.FileProperties.MusicProperties *>; | |
| interface Windows.Foundation.IAsyncOperation<Windows.Storage.FileProperties.VideoProperties *>; | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0) | |
| ] | |
| enum PhotoOrientation | |
| { | |
| Unspecified = 0, | |
| Normal = 1, | |
| FlipHorizontal = 2, | |
| Rotate180 = 3, | |
| FlipVertical = 4, | |
| Transpose = 5, | |
| Rotate270 = 6, | |
| Transverse = 7, | |
| Rotate90 = 8 | |
| }; | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0) | |
| ] | |
| enum VideoOrientation | |
| { | |
| Normal = 0, | |
| Rotate90 = 90, | |
| Rotate180 = 180, | |
| Rotate270 = 270 | |
| }; | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Storage.FileProperties.BasicProperties), | |
| uuid(d05d55db-785e-4a66-be02-9beec58aea81) | |
| ] | |
| interface IBasicProperties : IInspectable | |
| { | |
| [propget] HRESULT Size([out, retval] UINT64 *value); | |
| [propget] HRESULT DateModified([out, retval] Windows.Foundation.DateTime *value); | |
| [propget] HRESULT ItemDate([out, retval] Windows.Foundation.DateTime *value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Storage.FileProperties.DocumentProperties), | |
| uuid(7eab19bc-1821-4923-b4a9-0aea404d0070) | |
| ] | |
| interface IDocumentProperties : IInspectable | |
| requires Windows.Storage.FileProperties.IStorageItemExtraProperties | |
| { | |
| [propget] HRESULT Author([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT Title([out, retval] HSTRING *value); | |
| [propput] HRESULT Title([in] HSTRING value); | |
| [propget] HRESULT Keywords([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT Comment([out, retval] HSTRING *value); | |
| [propput] HRESULT Comment([in] HSTRING value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Storage.FileProperties.ImageProperties), | |
| uuid(523c9424-fcff-4275-afee-ecdb9ab47973) | |
| ] | |
| interface IImageProperties : IInspectable | |
| requires Windows.Storage.FileProperties.IStorageItemExtraProperties | |
| { | |
| [propget] HRESULT Rating([out, retval] UINT32 *value); | |
| [propput] HRESULT Rating([in] UINT32 value); | |
| [propget] HRESULT Keywords([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT DateTaken([out, retval] Windows.Foundation.DateTime *value); | |
| [propput] HRESULT DateTaken([in] Windows.Foundation.DateTime value); | |
| [propget] HRESULT Width([out, retval] UINT32 *value); | |
| [propget] HRESULT Height([out, retval] UINT32 *value); | |
| [propget] HRESULT Title([out, retval] HSTRING *value); | |
| [propput] HRESULT Title([in] HSTRING value); | |
| [propget] HRESULT Latitude([out, retval] Windows.Foundation.IReference<DOUBLE> **value); | |
| [propget] HRESULT Longitude([out, retval] Windows.Foundation.IReference<DOUBLE> **value); | |
| [propget] HRESULT CameraManufacturer([out, retval] HSTRING *value); | |
| [propput] HRESULT CameraManufacturer([in] HSTRING value); | |
| [propget] HRESULT CameraModel([out, retval] HSTRING *value); | |
| [propput] HRESULT CameraModel([in] HSTRING value); | |
| [propget] HRESULT Orientation([out, retval] Windows.Storage.FileProperties.PhotoOrientation *value); | |
| [propget] HRESULT PeopleNames([out, retval] Windows.Foundation.Collections.IVectorView<HSTRING> **value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Storage.FileProperties.MusicProperties), | |
| uuid(bc8aab62-66ec-419a-bc5d-ca65a4cb46da) | |
| ] | |
| interface IMusicProperties : IInspectable | |
| requires Windows.Storage.FileProperties.IStorageItemExtraProperties | |
| { | |
| [propget] HRESULT Album([out, retval] HSTRING *value); | |
| [propput] HRESULT Album([in] HSTRING value); | |
| [propget] HRESULT Artist([out, retval] HSTRING *value); | |
| [propput] HRESULT Artist([in] HSTRING value); | |
| [propget] HRESULT Genre([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT TrackNumber([out, retval] UINT32 *value); | |
| [propput] HRESULT TrackNumber([in] UINT32 value); | |
| [propget] HRESULT Title([out, retval] HSTRING *value); | |
| [propput] HRESULT Title([in] HSTRING value); | |
| [propget] HRESULT Rating([out, retval] UINT32 *value); | |
| [propput] HRESULT Rating([in] UINT32 value); | |
| [propget] HRESULT Duration([out, retval] Windows.Foundation.TimeSpan *value); | |
| [propget] HRESULT Bitrate([out, retval] UINT32 *value); | |
| [propget] HRESULT AlbumArtist([out, retval] HSTRING *value); | |
| [propput] HRESULT AlbumArtist([in] HSTRING value); | |
| [propget] HRESULT Composers([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT Conductors([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT Subtitle([out, retval] HSTRING *value); | |
| [propput] HRESULT Subtitle([in] HSTRING value); | |
| [propget] HRESULT Producers([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT Publisher([out] [retval] HSTRING *value); | |
| [propput] HRESULT Publisher([in] HSTRING value); | |
| [propget] HRESULT Writers([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT Year([out, retval] UINT32 *value); | |
| [propput] HRESULT Year([in] UINT32 value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| uuid(c54361b2-54cd-432b-bdbc-4b19c4b470d7) | |
| ] | |
| interface IStorageItemExtraProperties : IInspectable | |
| { | |
| HRESULT RetrievePropertiesAsync( | |
| [in] Windows.Foundation.Collections.IIterable<HSTRING> *propertiesToRetrieve, | |
| [out, retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IMap<HSTRING, IInspectable *> *> **operation); | |
| [overload("SavePropertiesAsync")] | |
| HRESULT SavePropertiesAsync( | |
| [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, IInspectable *> *> *propertiesToSave, | |
| [out, retval] Windows.Foundation.IAsyncAction **operation); | |
| [overload("SavePropertiesAsync")] | |
| HRESULT SavePropertiesAsyncOverloadDefault( | |
| [out, retval] Windows.Foundation.IAsyncAction **operation); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Storage.FileProperties.StorageItemContentProperties), | |
| uuid(05294bad-bc38-48bf-85d7-770e0e2ae0ba) | |
| ] | |
| interface IStorageItemContentProperties : IInspectable | |
| requires Windows.Storage.FileProperties.IStorageItemExtraProperties | |
| { | |
| HRESULT GetMusicPropertiesAsync( | |
| [out, retval] Windows.Foundation.IAsyncOperation<Windows.Storage.FileProperties.MusicProperties *> **operation); | |
| HRESULT GetVideoPropertiesAsync( | |
| [out, retval] Windows.Foundation.IAsyncOperation<Windows.Storage.FileProperties.VideoProperties *> **operation); | |
| HRESULT GetImagePropertiesAsync( | |
| [out, retval] Windows.Foundation.IAsyncOperation<Windows.Storage.FileProperties.ImageProperties *> **operation); | |
| HRESULT GetDocumentPropertiesAsync( | |
| [out, retval] Windows.Foundation.IAsyncOperation<Windows.Storage.FileProperties.DocumentProperties *> **operation); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0), | |
| exclusiveto(Windows.Storage.FileProperties.VideoProperties), | |
| uuid(719ae507-68de-4db8-97de-49998c059f2f) | |
| ] | |
| interface IVideoProperties : IInspectable | |
| requires Windows.Storage.FileProperties.IStorageItemExtraProperties | |
| { | |
| [propget] HRESULT Rating([out, retval] UINT32 *value); | |
| [propput] HRESULT Rating([in] UINT32 value); | |
| [propget] HRESULT Keywords([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT Width([out, retval] UINT32 *value); | |
| [propget] HRESULT Height([out, retval] UINT32 *value); | |
| [propget] HRESULT Duration([out, retval] Windows.Foundation.TimeSpan *value); | |
| [propget] HRESULT Latitude([out, retval] Windows.Foundation.IReference<DOUBLE> **value); | |
| [propget] HRESULT Longitude([out, retval] Windows.Foundation.IReference<DOUBLE> **value); | |
| [propget] HRESULT Title([out, retval] HSTRING *value); | |
| [propput] HRESULT Title([in] HSTRING value); | |
| [propget] HRESULT Subtitle([out, retval] HSTRING *value); | |
| [propput] HRESULT Subtitle([in] HSTRING value); | |
| [propget] HRESULT Producers([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT Publisher([out, retval] HSTRING *value); | |
| [propput] HRESULT Publisher([in] HSTRING value); | |
| [propget] HRESULT Writers([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT Year([out, retval] UINT32 *value); | |
| [propput] HRESULT Year([in] UINT32 value); | |
| [propget] HRESULT Bitrate([out, retval] UINT32 *value); | |
| [propget] HRESULT Directors([out, retval] Windows.Foundation.Collections.IVector<HSTRING> **value); | |
| [propget] HRESULT Orientation([out, retval] Windows.Storage.FileProperties.VideoOrientation *value); | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0) | |
| ] | |
| runtimeclass BasicProperties | |
| { | |
| [default] interface Windows.Storage.FileProperties.IBasicProperties; | |
| interface Windows.Storage.FileProperties.IStorageItemExtraProperties; | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0) | |
| ] | |
| runtimeclass DocumentProperties | |
| { | |
| [default] interface Windows.Storage.FileProperties.IDocumentProperties; | |
| interface Windows.Storage.FileProperties.IStorageItemExtraProperties; | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0) | |
| ] | |
| runtimeclass ImageProperties | |
| { | |
| [default] interface Windows.Storage.FileProperties.IImageProperties; | |
| interface Windows.Storage.FileProperties.IStorageItemExtraProperties; | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0) | |
| ] | |
| runtimeclass MusicProperties | |
| { | |
| [default] interface Windows.Storage.FileProperties.IMusicProperties; | |
| interface Windows.Storage.FileProperties.IStorageItemExtraProperties; | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0) | |
| ] | |
| runtimeclass StorageItemContentProperties | |
| { | |
| [default] interface Windows.Storage.FileProperties.IStorageItemContentProperties; | |
| interface Windows.Storage.FileProperties.IStorageItemExtraProperties; | |
| } | |
| [ | |
| contract(Windows.Foundation.UniversalApiContract, 1.0) | |
| ] | |
| runtimeclass VideoProperties | |
| { | |
| [default] interface Windows.Storage.FileProperties.IVideoProperties; | |
| interface Windows.Storage.FileProperties.IStorageItemExtraProperties; | |
| } | |
| } |