/** * 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 "eventtoken.idl"; import "windows.foundation.idl"; namespace Windows { namespace Foundation { interface IAsyncAction; //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*/ 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*/IInspectable** operation); HRESULT CreateFileAsync(HSTRING desiredName, CreationCollisionOption options, /*IAsyncOperation*/IInspectable** operation); HRESULT CreateFolderAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncOperation*/IInspectable** operation); HRESULT CreateFolderAsync(HSTRING desiredName, CreationCollisionOption options, /*IAsyncOperation*/IInspectable** operation); HRESULT GetFileAsync(HSTRING name, /*IAsyncOperation*/IInspectable** operation); HRESULT GetFolderAsync(HSTRING name, /*IAsyncOperation*/IInspectable** operation); HRESULT GetItemAsync(HSTRING name, /*IAsyncOperation*/IInspectable** operation); HRESULT GetFilesAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation*>*/IInspectable** operation); HRESULT GetFoldersAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation*>*/IInspectable** operation); HRESULT GetItemsAsyncOverloadDefaultStartAndCount(/*IAsyncOperation*>*/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*/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*/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(); } } }