[1166] | 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 |
|
---|
| 7 | #ifdef __WIDL__
|
---|
| 8 | #pragma winrt ns_prefix
|
---|
| 9 | #endif
|
---|
| 10 |
|
---|
| 11 | import "inspectable.idl";
|
---|
| 12 | import "eventtoken.idl";
|
---|
| 13 | import "windows.foundation.idl";
|
---|
| 14 |
|
---|
| 15 | namespace Windows {
|
---|
| 16 | namespace Foundation {
|
---|
| 17 | interface IAsyncAction;
|
---|
| 18 | //struct EventRegistrationToken;
|
---|
| 19 |
|
---|
| 20 | namespace Collections {
|
---|
| 21 | interface IPropertySet;
|
---|
| 22 | interface IMapView;
|
---|
| 23 | }
|
---|
| 24 | }
|
---|
| 25 | namespace Storage {
|
---|
| 26 | interface IStorageItem;
|
---|
| 27 | interface IStorageFolder;
|
---|
| 28 | interface IApplicationData;
|
---|
| 29 | interface IApplicationDataStatics;
|
---|
| 30 | interface IApplicationDataSetVersionHandler;
|
---|
| 31 | interface ApplicationDataContainer;
|
---|
| 32 | // delegate ApplicationDataSetVersionHandler;
|
---|
| 33 | interface ISetVersionRequest;
|
---|
| 34 | interface ISetVersionDeferral;
|
---|
| 35 | typedef enum StorageDeleteOption StorageDeleteOption;
|
---|
| 36 | typedef enum NameCollisionOption NameCollisionOption;
|
---|
| 37 | typedef enum StorageItemTypes StorageItemTypes;
|
---|
| 38 | typedef enum ApplicationDataLocality ApplicationDataLocality;
|
---|
| 39 | typedef enum ApplicationDataCreateDisposition ApplicationDataCreateDisposition;
|
---|
| 40 | typedef enum FileAttributes FileAttributes;
|
---|
| 41 | typedef enum CreationCollisionOption CreationCollisionOption;
|
---|
| 42 | }
|
---|
| 43 | }
|
---|
| 44 |
|
---|
| 45 | namespace Windows {
|
---|
| 46 | namespace Storage {
|
---|
| 47 | enum NameCollisionOption {
|
---|
| 48 | GenerateUniqueName,
|
---|
| 49 | ReplaceExisting,
|
---|
| 50 | FailIfExists
|
---|
| 51 | };
|
---|
| 52 |
|
---|
| 53 | enum StorageDeleteOption {
|
---|
| 54 | Default,
|
---|
| 55 | PermanentDelete
|
---|
| 56 | };
|
---|
| 57 |
|
---|
| 58 | enum StorageItemTypes {
|
---|
| 59 | None,
|
---|
| 60 | File,
|
---|
| 61 | Folder
|
---|
| 62 | };
|
---|
| 63 |
|
---|
| 64 | enum ApplicationDataCreateDisposition {
|
---|
| 65 | Always,
|
---|
| 66 | Existing
|
---|
| 67 | };
|
---|
| 68 |
|
---|
| 69 | enum ApplicationDataLocality {
|
---|
| 70 | Local,
|
---|
| 71 | Roaming,
|
---|
| 72 | Temporary
|
---|
| 73 | };
|
---|
| 74 |
|
---|
| 75 | enum FileAttributes {
|
---|
| 76 | Normal,
|
---|
| 77 | ReadOnly,
|
---|
| 78 | Directory,
|
---|
| 79 | Archive,
|
---|
| 80 | Temporary
|
---|
| 81 | };
|
---|
| 82 |
|
---|
| 83 | enum CreationCollisionOption {
|
---|
| 84 | GenerateUniqueName,
|
---|
| 85 | ReplaceExisting,
|
---|
| 86 | FailIfExists,
|
---|
| 87 | OpenIfExists
|
---|
| 88 | };
|
---|
| 89 |
|
---|
| 90 | [uuid(4207A996-CA2F-42F7-BDE8-8B10457A7F30)]
|
---|
| 91 | interface IStorageItem : IInspectable
|
---|
| 92 | {
|
---|
| 93 | HRESULT RenameAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncAction*/ IInspectable** action);
|
---|
| 94 | HRESULT RenameAsync(HSTRING desiredName, NameCollisionOption option, /*IAsyncAction*/ IInspectable** action);
|
---|
| 95 | HRESULT DeleteAsyncOverloadDefaultOptions(/*IAsyncAction*/ IInspectable** action);
|
---|
| 96 | HRESULT DeleteAsync(StorageDeleteOption option, /*IAsyncAction*/ IInspectable** action);
|
---|
| 97 | HRESULT GetBasicPropertiesAsync(/*IAsyncOperation<Windows.Storage.FileProperties.BasicProperties*>*/ IInspectable** action);
|
---|
| 98 | [propget] HRESULT Name(HSTRING *value);
|
---|
| 99 | [propget] HRESULT Path(HSTRING *value);
|
---|
| 100 | [propget] HRESULT Attributes(FileAttributes* value);
|
---|
| 101 | [propget] HRESULT DateCreated(Windows.Foundation.DateTime* value);
|
---|
| 102 | HRESULT IsOfType(StorageItemTypes itemType, boolean* value);
|
---|
| 103 | }
|
---|
| 104 |
|
---|
| 105 | [uuid(5A2A7520-4802-452D-9AD9-4351ADA7EC35)]
|
---|
| 106 | interface IKnownFoldersStatics : IInspectable
|
---|
| 107 | {
|
---|
| 108 | [propget] HRESULT MusicLibrary(IStorageFolder** value);
|
---|
| 109 | [propget] HRESULT PicturesLibrary(IStorageFolder** value);
|
---|
| 110 | [propget] HRESULT VideosLibrary(IStorageFolder** value);
|
---|
| 111 | [propget] HRESULT DocumentsLibrary(IStorageFolder** value);
|
---|
| 112 | [propget] HRESULT HomeGroup(IStorageFolder** value);
|
---|
| 113 | [propget] HRESULT RemovableDevices(IStorageFolder** value);
|
---|
| 114 | [propget] HRESULT MediaServerDevices(IStorageFolder** value);
|
---|
| 115 | }
|
---|
| 116 |
|
---|
| 117 | [uuid(72D1CB78-B3EF-4F75-A80B-6FD9DAE2944B)]
|
---|
| 118 | interface IStorageFolder : IInspectable
|
---|
| 119 | {
|
---|
| 120 | HRESULT CreateFileAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncOperation<IStorageFile*>*/IInspectable** operation);
|
---|
| 121 | HRESULT CreateFileAsync(HSTRING desiredName, CreationCollisionOption options, /*IAsyncOperation<IStorageFile*>*/IInspectable** operation);
|
---|
| 122 | HRESULT CreateFolderAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncOperation<IStorageFolder*>*/IInspectable** operation);
|
---|
| 123 | HRESULT CreateFolderAsync(HSTRING desiredName, CreationCollisionOption options, /*IAsyncOperation<StorageFolder*>*/IInspectable** operation);
|
---|
| 124 | HRESULT GetFileAsync(HSTRING name, /*IAsyncOperation<StorageFile*>*/IInspectable** operation);
|
---|
| 125 | HRESULT GetFolderAsync(HSTRING name, /*IAsyncOperation<StorageFolder*>*/IInspectable** operation);
|
---|
| 126 | HRESULT GetItemAsync(HSTRING name, /*IAsyncOperation<StorageItem*>*/IInspectable** operation);
|
---|
| 127 | HRESULT GetFilesAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation<IVectorView<StorageFile*>*>*/IInspectable** operation);
|
---|
| 128 | HRESULT GetFoldersAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation<IVectorView<StorageFolder*>*>*/IInspectable** operation);
|
---|
| 129 | HRESULT GetItemsAsyncOverloadDefaultStartAndCount(/*IAsyncOperation<IVectorView<StorageItem*>*>*/IInspectable** operation);
|
---|
| 130 | }
|
---|
| 131 |
|
---|
| 132 | [uuid(C5AEFD1E-F467-40BA-8566-AB640A441E1D)]
|
---|
| 133 | interface IApplicationDataContainer : IInspectable {
|
---|
| 134 | [propget] HRESULT Name(HSTRING* value);
|
---|
| 135 | [propget] HRESULT Locality(ApplicationDataLocality* value);
|
---|
| 136 | [propget] HRESULT Values(/*IPropertySet*/IInspectable** value);
|
---|
| 137 | [propget] HRESULT Containers(/*IMapView<HSTRING, ApplicationDataContainer*>*/IInspectable** value);
|
---|
| 138 | HRESULT CreateContainer(HSTRING name, ApplicationDataCreateDisposition disposition, IApplicationDataContainer** container);
|
---|
| 139 | HRESULT DeleteContainer([in] HSTRING name);
|
---|
| 140 | }
|
---|
| 141 |
|
---|
| 142 | [uuid(C3DA6FB7-B744-4B45-B0B8-223A0938D0DC)]
|
---|
| 143 | interface IApplicationData : IInspectable {
|
---|
| 144 | [propget] HRESULT Version(int* value);
|
---|
| 145 | HRESULT SetVersionAsync(int desiredVersion, IApplicationDataSetVersionHandler* handler, /*IAsyncAction*/ IInspectable** setVersionOperation);
|
---|
| 146 | HRESULT ClearAllAsync(/*IAsyncAction*/ IInspectable** clearOperation);
|
---|
| 147 | HRESULT ClearAsync(ApplicationDataLocality locality, /*IAsyncAction*/ IInspectable** clearOperation);
|
---|
| 148 | [propget] HRESULT LocalSettings(IApplicationDataContainer** value);
|
---|
| 149 | [propget] HRESULT RoamingSettings(IApplicationDataContainer** value);
|
---|
| 150 | [propget] HRESULT LocalFolder(IStorageFolder** value);
|
---|
| 151 | [propget] HRESULT RoamingFolder(IStorageFolder** value);
|
---|
| 152 | [propget] HRESULT TemporaryFolder(IStorageFolder** value);
|
---|
| 153 | // [eventadd] HRESULT DataChanged(/*TypedEventHandler<ApplicationData*, IInspectable*>*/IInspectable* handler, EventRegistrationToken* token);
|
---|
| 154 | /* [eventremove] */ HRESULT DataChanged(Windows.Foundation.EventRegistrationToken token);
|
---|
| 155 | HRESULT SignalDataChanged();
|
---|
| 156 | HRESULT RoamingStorageQuota(UINT64* value);
|
---|
| 157 | }
|
---|
| 158 |
|
---|
| 159 | [uuid(9E65CD69-0BA3-4E32-BE29-B02DE6607638)]
|
---|
| 160 | interface IApplicationData2 : IInspectable {
|
---|
| 161 | [propget] HRESULT LocalCacheFolder(IStorageFolder** value);
|
---|
| 162 | }
|
---|
| 163 |
|
---|
| 164 | [uuid(5612147B-E843-45E3-94D8-06169E3C8E17)]
|
---|
| 165 | interface IApplicationDataStatics : IInspectable {
|
---|
| 166 | [propget] HRESULT Current(IApplicationData** data);
|
---|
| 167 | }
|
---|
| 168 |
|
---|
| 169 | [uuid(A05791E6-CC9F-4687-ACAB-A364FD785463)]
|
---|
| 170 | interface IApplicationDataSetVersionHandler : IUnknown {
|
---|
| 171 | HRESULT Invoke(ISetVersionRequest* setVersionRequest);
|
---|
| 172 | }
|
---|
| 173 |
|
---|
| 174 | [uuid(B9C76B9B-1056-4E69-8330-162619956F9B)]
|
---|
| 175 | interface ISetVersionRequest : IInspectable {
|
---|
| 176 | [propget] HRESULT CurrentVersion(UINT32* currentVersion);
|
---|
| 177 | [propget] HRESULT DesiredVersion(UINT32* desiredVersion);
|
---|
| 178 | HRESULT GetDeferral(ISetVersionDeferral** deferral);
|
---|
| 179 | }
|
---|
| 180 |
|
---|
| 181 | [uuid(033508A2-781A-437A-B078-3F32BADCFE47)]
|
---|
| 182 | interface ISetVersionDeferral : IInspectable {
|
---|
| 183 | HRESULT Complete();
|
---|
| 184 | }
|
---|
| 185 | }
|
---|
| 186 | }
|
---|