acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
memory_map.h
1#pragma once
2
3
4namespace file
5{
6
7
8 class CLASS_DECL_ACME memory_map :
9 virtual public particle
10 {
11 public:
12
13
14 string m_strName;
15 string m_strPath;
16 void * m_pdata;
17 bool m_bRead;
18 bool m_bWrite;
19 bool m_bCreate;
20 memsize m_size;
21
22
23 memory_map();
24 virtual ~memory_map();
25
26
27
28 virtual bool open();
29 virtual bool open_name(const ::scoped_string & scopedstrName, bool bRead, bool bWrite, bool bCreate, memsize size = -1);
30 virtual bool open_path(const ::file::path & path, bool bRead, bool bWrite, bool bCreate, memsize size = -1);
31 virtual bool open(const ::scoped_string & scopedstrName, const ::file::path & path, bool bRead, bool bWrite, bool bCreate, memsize size = -1);
32 virtual bool close();
33
34 virtual void * get_data();
35
36 virtual bool is_mapped();
37
38 virtual string get_path();
39
40 virtual string calculate_path_from_name(const ::scoped_string & scopedstrName);
41
42
43 };
44
45
46 inline void * memory_map::get_data()
47 {
48
49 return m_pdata;
50
51 }
52
53
54} // namespace file
55
56
57
Definition path.h:52
Definition filesystem.h:16