Chromium Code Reviews| Index: base/files/memory_mapped_file.h |
| diff --git a/base/files/memory_mapped_file.h b/base/files/memory_mapped_file.h |
| index 8a7f045f351a0365d496f37f5824607cacfdc12e..17ffb80a25302a5d850fd84fca714966c49511a5 100644 |
| --- a/base/files/memory_mapped_file.h |
| +++ b/base/files/memory_mapped_file.h |
| @@ -48,7 +48,6 @@ class BASE_EXPORT MemoryMappedFile { |
| // read only. If this object already points to a valid memory mapped file |
| // then this method will fail and return false. If it cannot open the file, |
| // the file does not exist, or the memory mapping fails, it will return false. |
| - // Later we may want to allow the user to specify access. |
| bool Initialize(const FilePath& file_name); |
| // As above, but works with an already-opened file. MemoryMappedFile takes |
| @@ -58,18 +57,29 @@ class BASE_EXPORT MemoryMappedFile { |
| // As above, but works with a region of an already-opened file. |
| bool Initialize(File file, const Region& region); |
| + // As above, works with an already-opened file and enables write permission |
| + // when |write| is true. |
| + bool Initialize(File file, bool write); |
| + |
| + // As above, but works with a region of an already-opened file and enables |
| + // write permission when |write| is true. |
| + bool Initialize(File file, const Region& region, bool write); |
| + |
| #if defined(OS_WIN) |
| // Opens an existing file and maps it as an image section. Please refer to |
| // the Initialize function above for additional information. |
| bool InitializeAsImageSection(const FilePath& file_name); |
| #endif // OS_WIN |
| - const uint8* data() const { return data_; } |
| + uint8* data() const { return data_; } |
| size_t length() const { return length_; } |
| // Is file_ a valid file handle that points to an open, memory mapped file? |
| bool IsValid() const; |
| + // Closes all open handles. |
| + void CloseHandles(); |
|
wuchengli
2014/09/01 06:57:15
We shouldn't expose an API for the testing purpose
henryhsu
2014/09/01 07:49:49
Done.
|
| + |
| private: |
| // Given the arbitrarily aligned memory region [start, size], returns the |
| // boundaries of the region aligned to the granularity specified by the OS, |
| @@ -85,10 +95,8 @@ class BASE_EXPORT MemoryMappedFile { |
| // Map the file to memory, set data_ to that memory address. Return true on |
| // success, false on any kind of failure. This is a helper for Initialize(). |
| - bool MapFileRegionToMemory(const Region& region); |
| - |
| - // Closes all open handles. |
| - void CloseHandles(); |
| + // - |write| is used to enable write permission of mmap. |
| + bool MapFileRegionToMemory(const Region& region, bool write); |
| File file_; |
| uint8* data_; |