11 #include "filesystem/IFile.h" 13 #include <winrt/Windows.Storage.AccessCache.h> 23 virtual bool Open(
const CURL& url);
24 virtual bool OpenForWrite(
const CURL& url,
bool bOverWrite =
false);
27 virtual ssize_t
Read(
void* lpBuf,
size_t uiBufSize);
28 virtual ssize_t
Write(
const void* lpBuf,
size_t uiBufSize);
29 virtual int64_t Seek(int64_t iFilePosition,
int iWhence = SEEK_SET);
30 virtual int Truncate(int64_t toSize);
31 virtual int64_t GetPosition();
32 virtual int64_t GetLength();
35 virtual bool Delete(
const CURL& url);
36 virtual bool Rename(
const CURL& urlCurrentName,
const CURL& urlNewName);
37 virtual bool SetHidden(
const CURL& url,
bool hidden);
38 virtual bool Exists(
const CURL& url);
39 virtual int Stat(
const CURL& url,
struct __stat64* statData);
40 virtual int Stat(
struct __stat64* statData);
43 static bool IsValid(
const CURL& url);
45 static bool IsInAccessList(
const CURL& url);
48 bool OpenIntenal(
const CURL& url, winrt::Windows::Storage::FileAccessMode mode);
49 winrt::Windows::Storage::StorageFile GetFile(
const CURL& url);
50 static bool IsInList(
const CURL& url,
const winrt::Windows::Storage::AccessCache::IStorageItemAccessList& list);
51 static winrt::hstring GetTokenFromList(
const CURL& url,
const winrt::Windows::Storage::AccessCache::IStorageItemAccessList& list);
52 static int Stat(
const winrt::Windows::Storage::StorageFile& file,
struct __stat64* statData);
54 bool m_allowWrite =
false;
55 winrt::Windows::Storage::StorageFile m_sFile =
nullptr;
56 winrt::Windows::Storage::Streams::IRandomAccessStream m_fileStream =
nullptr;
Definition: WinLibraryFile.h:17
virtual int Stat(const CURL &url, struct __stat64 *statData)
Fills struct __stat64 with information about file specified by url.
Definition: WinLibraryFile.cpp:261
virtual ssize_t Read(void *lpBuf, size_t uiBufSize)
Attempt to read bufSize bytes from currently opened file into buffer bufPtr.
Definition: WinLibraryFile.cpp:98
virtual ssize_t Write(const void *lpBuf, size_t uiBufSize)
Attempt to write bufSize bytes from buffer bufPtr into currently opened file.
Definition: WinLibraryFile.cpp:117