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 | }
|
---|