acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
native_buffer.h
1
#pragma once
2
3
4
namespace
universal_windows
5
{
6
8
// native_buffer - raw unbuffered disk native_buffer I/O
9
10
class
CLASS_DECL_ACME native_buffer:
11
virtual
public
::file::file
12
{
13
public
:
14
15
16
enum
Attribute
17
{
18
normal = 0x00,
19
readOnly = 0x01,
20
hidden = 0x02,
21
system = 0x04,
22
volume = 0x08,
23
directory = 0x10,
24
archive = 0x20
25
};
26
27
enum
{ hnative_bufferNull = -1 };
28
29
bool
m_bCloseOnDelete;
30
::file::path
m_strFileName;
31
StorageFile ^ m_file;
32
StorageFolder ^ m_folder;
33
Streams::IRandomAccessStream ^ m_stream;
34
::file::e_open m_eopen;
35
36
37
native_buffer();
38
native_buffer(StorageFile ^
file
);
39
virtual
~native_buffer();
40
41
// // void assert_ok() const override;
42
// // void dump(dump_context & dumpcontext) const override;
43
44
operator
StorageFile ^ ()
const
;
45
46
virtual
filesize get_position()
const override
;
47
virtual
bool
get_status(
::file::file_status
& rStatus)
const override
;
48
//virtual string GetFileName() const;
49
//virtual string GetFileTitle() const;
50
virtual ::file::path get_file_path()
const override
;
51
virtual
void
set_file_path(const ::file::path & pathNewName)
override
;
52
53
virtual ::extended::status open(::winrt::Windows::Storage::StorageFolder ^
folder
, const ::file::path & lpszfileName, ::file::e_open eopen);
54
virtual ::extended::status open(const ::file::path & lpszfileName, ::file::e_open eopen)
override
;
55
56
//virtual bool GetStatus(const ::file::path & lpszfileName,::file::file_status& rStatus);
57
59
//void WriteHuge(const void * lpBuffer,::u64 dwCount);
60
61
//virtual ::pointer<::file::file>Duplicate() const;
62
63
virtual
filesize
seek
(filesize lOff,::enum_seek eseek)
override
;
64
virtual
void
set_size(filesize dwNewLen)
override
;
65
virtual
filesize get_size()
const override
;
66
67
virtual
memsize read(
void
* lpBuf,memsize nCount)
override
;
68
virtual
void
write(
const
void
* lpBuf,memsize nCount)
override
;
69
70
virtual
void
lock(filesize dwPos,filesize dwCount)
override
;
71
virtual
void
unlock(filesize dwPos,filesize dwCount)
override
;
72
73
//virtual void Abort();
74
virtual
void
flush
()
override
;
75
virtual
void
close()
override
;
76
77
virtual
bool
is_opened()
const override
;
78
//enum BufferCommand { bufferRead,bufferWrite,bufferCommit,bufferCheck };
79
//virtual ::u64 GetBufferPtr(::u32 nCommand,::u64 nCount = 0,
80
// void ** ppBufStart = nullptr,void ** ppBufMax = nullptr);
81
82
};
83
84
85
}
// namespace universal_windows
86
87
88
89
file::path
Definition
path.h:52
folder
Definition
folder.h:13
universal_windows::native_buffer::seek
virtual filesize seek(filesize lOff,::enum_seek eseek) override
u64 ReadHuge(void * lpBuffer,::u64 dwCount);
Definition
aaa_native_buffer.cpp:524
universal_windows::native_buffer::flush
virtual void flush() override
Definition
aaa_native_buffer.cpp:549
file
Definition
filesystem.h:16
file::file_status
Definition
status.h:12
operating_system
uwp
native_buffer.h
Generated by
1.17.0