acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
aaa_want_to_remove_stdio_file.h
1#pragma once
2
3
4
5namespace universal_windows
6{
7
9 // STDIO file implementation
10
11
12 class stdio_file :
13 virtual public ::file::text_file
14 {
15 public:
16
17
18 FILE* m_pFile; // stdio FILE
19 // m_hFile from acme class is _fileno(m_pStream)
20
21
22
23 stdio_file();
24
25
26 virtual void write_string(const_char_pointer psz);
27 virtual char_pointer read_string(char_pointer lpsz, ::u32 nMax);
28 virtual bool read_string(string & rString);
29
30 virtual ~stdio_file();
31 void dump(dump_context & dumpcontext) const;
32 virtual filesize get_position() const;
33 virtual ::extended::status open(const ::file::path & lpszFileName,::u32 nOpenFlags);
34 virtual memsize read(void * lpBuf, memsize nCount);
35 virtual void write(const void * lpBuf, memsize nCount);
36 virtual filesize seek(filesize lOff, ::enum_seek eseek);
37 virtual void Abort();
38 virtual void Flush();
39 virtual void close();
40 virtual filesize get_length() const;
41
42 // Unsupported APIs
43 virtual ::pointer<::file::file>Duplicate() const;
44 virtual void LockRange(filesize dwPos, filesize dwCount);
45 virtual void UnlockRange(filesize dwPos, filesize dwCount);
46
47
48 };
49
50
51} // namespace universal_windows
52
53
54
55
Definition text_file.h:13