Commit ba392b4c authored by Mohamad Al-Jaf's avatar Mohamad Al-Jaf Committed by Alexandre Julliard

include: Add IStorageItem interface definition.

Needed by IStorageFolder.
parent 90cdfc51
......@@ -33,7 +33,10 @@ import "windows.system.idl";
namespace Windows.Storage {
typedef enum FileAccessMode FileAccessMode;
typedef enum FileAttributes FileAttributes;
typedef enum NameCollisionOption NameCollisionOption;
typedef enum StorageDeleteOption StorageDeleteOption;
typedef enum StorageItemTypes StorageItemTypes;
interface IStorageFolder;
interface IStorageFolderStatics;
......@@ -63,6 +66,21 @@ namespace Windows.Storage {
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
flags
]
enum FileAttributes
{
Normal = 0x0,
ReadOnly = 0x1,
Directory = 0x10,
Archive = 0x20,
Temporary = 0x100,
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
LocallyIncomplete = 0x200,
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0)
]
enum NameCollisionOption
......@@ -73,6 +91,26 @@ namespace Windows.Storage {
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0)
]
enum StorageDeleteOption
{
Default = 0,
PermanentDelete = 1,
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
flags
]
enum StorageItemTypes
{
None = 0x0,
File = 0x1,
Folder = 0x2,
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
uuid(fa3f6186-4214-428c-a64c-14c9ac7315ea)
]
......@@ -125,6 +163,28 @@ namespace Windows.Storage {
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
uuid(4207a996-ca2f-42f7-bde8-8b10457a7f30)
]
interface IStorageItem : IInspectable
{
[overload("RenameAsync")]
HRESULT RenameAsyncOverloadDefaultOptions([in] HSTRING name, [out, retval] Windows.Foundation.IAsyncAction **operation);
[overload("RenameAsync")]
HRESULT RenameAsync([in] HSTRING name, [in] Windows.Storage.NameCollisionOption option, [out, retval] Windows.Foundation.IAsyncAction **operation);
[overload("DeleteAsync")]
HRESULT DeleteAsyncOverloadDefaultOptions([out, retval] Windows.Foundation.IAsyncAction **operation);
[overload("DeleteAsync")]
HRESULT DeleteAsync([in] Windows.Storage.StorageDeleteOption option, [out, retval] Windows.Foundation.IAsyncAction **operation);
HRESULT GetBasicPropertiesAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Storage.FileProperties.BasicProperties *> **operation);
[propget] HRESULT Name([out, retval] HSTRING *value);
[propget] HRESULT Path([out, retval] HSTRING *value);
[propget] HRESULT Attributes([out, retval] Windows.Storage.FileAttributes *value);
[propget] HRESULT DateCreated([out, retval] Windows.Foundation.DateTime *value);
HRESULT IsOfType([in] Windows.Storage.StorageItemTypes type, [out, retval] boolean *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Storage.StorageStreamTransaction),
uuid(f67cf363-a53d-4d94-ae2c-67232d93acdd)
]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment