| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| |
| #ifdef __WIDL__ |
| #pragma winrt ns_prefix |
| #endif |
| |
| import "inspectable.idl"; |
| import "hstring.idl"; |
| import "windows.foundation.idl"; |
| |
| namespace Windows { |
| namespace Foundation { |
| interface IAsyncAction; |
| interface TypedEventHandler; |
| //struct EventRegistrationToken; |
| |
| namespace Collections { |
| interface IPropertySet; |
| interface IMapView; |
| } |
| } |
| namespace Storage { |
| interface IStorageItem; |
| interface IStorageFolder; |
| interface IApplicationData; |
| interface IApplicationDataStatics; |
| interface IApplicationDataSetVersionHandler; |
| interface ApplicationDataContainer; |
| // delegate ApplicationDataSetVersionHandler; |
| interface ISetVersionRequest; |
| interface ISetVersionDeferral; |
| typedef enum StorageDeleteOption StorageDeleteOption; |
| typedef enum NameCollisionOption NameCollisionOption; |
| typedef enum StorageItemTypes StorageItemTypes; |
| typedef enum ApplicationDataLocality ApplicationDataLocality; |
| typedef enum ApplicationDataCreateDisposition ApplicationDataCreateDisposition; |
| typedef enum FileAttributes FileAttributes; |
| typedef enum CreationCollisionOption CreationCollisionOption; |
| } |
| } |
| |
| namespace Windows { |
| namespace Storage { |
| enum NameCollisionOption { |
| GenerateUniqueName, |
| ReplaceExisting, |
| FailIfExists |
| }; |
| |
| enum StorageDeleteOption { |
| Default, |
| PermanentDelete |
| }; |
| |
| enum StorageItemTypes { |
| None, |
| File, |
| Folder |
| }; |
| |
| enum ApplicationDataCreateDisposition { |
| Always, |
| Existing |
| }; |
| |
| enum ApplicationDataLocality { |
| Local, |
| Roaming, |
| Temporary |
| }; |
| |
| enum FileAttributes { |
| Normal, |
| ReadOnly, |
| Directory, |
| Archive, |
| Temporary |
| }; |
| |
| enum CreationCollisionOption { |
| GenerateUniqueName, |
| ReplaceExisting, |
| FailIfExists, |
| OpenIfExists |
| }; |
| |
| [uuid(4207A996-CA2F-42F7-BDE8-8B10457A7F30)] |
| interface IStorageItem : IInspectable |
| { |
| HRESULT RenameAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncAction*/ IInspectable** action); |
| HRESULT RenameAsync(HSTRING desiredName, NameCollisionOption option, /*IAsyncAction*/ IInspectable** action); |
| HRESULT DeleteAsyncOverloadDefaultOptions(/*IAsyncAction*/ IInspectable** action); |
| HRESULT DeleteAsync(StorageDeleteOption option, /*IAsyncAction*/ IInspectable** action); |
| HRESULT GetBasicPropertiesAsync(/*IAsyncOperation<Windows.Storage.FileProperties.BasicProperties*>*/ IInspectable** action); |
| [propget] HRESULT Name(HSTRING *value); |
| [propget] HRESULT Path(HSTRING *value); |
| [propget] HRESULT Attributes(FileAttributes* value); |
| [propget] HRESULT DateCreated(Windows.Foundation.DateTime* value); |
| HRESULT IsOfType(StorageItemTypes itemType, boolean* value); |
| } |
| |
| [uuid(5A2A7520-4802-452D-9AD9-4351ADA7EC35)] |
| interface IKnownFoldersStatics : IInspectable |
| { |
| [propget] HRESULT MusicLibrary(IStorageFolder** value); |
| [propget] HRESULT PicturesLibrary(IStorageFolder** value); |
| [propget] HRESULT VideosLibrary(IStorageFolder** value); |
| [propget] HRESULT DocumentsLibrary(IStorageFolder** value); |
| [propget] HRESULT HomeGroup(IStorageFolder** value); |
| [propget] HRESULT RemovableDevices(IStorageFolder** value); |
| [propget] HRESULT MediaServerDevices(IStorageFolder** value); |
| } |
| |
| [uuid(72D1CB78-B3EF-4F75-A80B-6FD9DAE2944B)] |
| interface IStorageFolder : IInspectable |
| { |
| HRESULT CreateFileAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncOperation<IStorageFile*>*/IInspectable** operation); |
| HRESULT CreateFileAsync(HSTRING desiredName, CreationCollisionOption options, /*IAsyncOperation<IStorageFile*>*/IInspectable** operation); |
| HRESULT CreateFolderAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncOperation<IStorageFolder*>*/IInspectable** operation); |
| HRESULT CreateFolderAsync(HSTRING desiredName, CreationCollisionOption options, /*IAsyncOperation<StorageFolder*>*/IInspectable** operation); |
| HRESULT GetFileAsync(HSTRING name, /*IAsyncOperation<StorageFile*>*/IInspectable** operation); |
| HRESULT GetFolderAsync(HSTRING name, /*IAsyncOperation<StorageFolder*>*/IInspectable** operation); |
| HRESULT GetItemAsync(HSTRING name, /*IAsyncOperation<StorageItem*>*/IInspectable** operation); |
| HRESULT GetFilesAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation<IVectorView<StorageFile*>*>*/IInspectable** operation); |
| HRESULT GetFoldersAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation<IVectorView<StorageFolder*>*>*/IInspectable** operation); |
| HRESULT GetItemsAsyncOverloadDefaultStartAndCount(/*IAsyncOperation<IVectorView<StorageItem*>*>*/IInspectable** operation); |
| } |
| |
| [uuid(C5AEFD1E-F467-40BA-8566-AB640A441E1D)] |
| interface IApplicationDataContainer : IInspectable { |
| [propget] HRESULT Name(HSTRING* value); |
| [propget] HRESULT Locality(ApplicationDataLocality* value); |
| [propget] HRESULT Values(/*IPropertySet*/IInspectable** value); |
| [propget] HRESULT Containers(/*IMapView<HSTRING, ApplicationDataContainer*>*/IInspectable** value); |
| HRESULT CreateContainer(HSTRING name, ApplicationDataCreateDisposition disposition, IApplicationDataContainer** container); |
| HRESULT DeleteContainer([in] HSTRING name); |
| } |
| |
| [uuid(C3DA6FB7-B744-4B45-B0B8-223A0938D0DC)] |
| interface IApplicationData : IInspectable { |
| [propget] HRESULT Version(int* value); |
| HRESULT SetVersionAsync(int desiredVersion, IApplicationDataSetVersionHandler* handler, /*IAsyncAction*/ IInspectable** setVersionOperation); |
| HRESULT ClearAllAsync(/*IAsyncAction*/ IInspectable** clearOperation); |
| HRESULT ClearAsync(ApplicationDataLocality locality, /*IAsyncAction*/ IInspectable** clearOperation); |
| [propget] HRESULT LocalSettings(IApplicationDataContainer** value); |
| [propget] HRESULT RoamingSettings(IApplicationDataContainer** value); |
| [propget] HRESULT LocalFolder(IStorageFolder** value); |
| [propget] HRESULT RoamingFolder(IStorageFolder** value); |
| [propget] HRESULT TemporaryFolder(IStorageFolder** value); |
| // [eventadd] HRESULT DataChanged(/*TypedEventHandler<ApplicationData*, IInspectable*>*/IInspectable* handler, EventRegistrationToken* token); |
| /* [eventremove] */ HRESULT DataChanged(Windows.Foundation.EventRegistrationToken token); |
| HRESULT SignalDataChanged(); |
| HRESULT RoamingStorageQuota(UINT64* value); |
| } |
| |
| [uuid(9E65CD69-0BA3-4E32-BE29-B02DE6607638)] |
| interface IApplicationData2 : IInspectable { |
| [propget] HRESULT LocalCacheFolder(IStorageFolder** value); |
| } |
| |
| [uuid(5612147B-E843-45E3-94D8-06169E3C8E17)] |
| interface IApplicationDataStatics : IInspectable { |
| [propget] HRESULT Current(IApplicationData** data); |
| } |
| |
| [uuid(A05791E6-CC9F-4687-ACAB-A364FD785463)] |
| interface IApplicationDataSetVersionHandler : IUnknown { |
| HRESULT Invoke(ISetVersionRequest* setVersionRequest); |
| } |
| |
| [uuid(B9C76B9B-1056-4E69-8330-162619956F9B)] |
| interface ISetVersionRequest : IInspectable { |
| [propget] HRESULT CurrentVersion(UINT32* currentVersion); |
| [propget] HRESULT DesiredVersion(UINT32* desiredVersion); |
| HRESULT GetDeferral(ISetVersionDeferral** deferral); |
| } |
| |
| [uuid(033508A2-781A-437A-B078-3F32BADCFE47)] |
| interface ISetVersionDeferral : IInspectable { |
| HRESULT Complete(); |
| } |
| } |
| } |