Chromium Code Reviews| Index: chrome/common/zip_reader.h |
| diff --git a/chrome/common/zip_reader.h b/chrome/common/zip_reader.h |
| index f77616ba9f96c7d4d74313b351dab1946b9b78f9..2fe90dcbfeb277a86fb3293bdb3eea8549c960c6 100644 |
| --- a/chrome/common/zip_reader.h |
| +++ b/chrome/common/zip_reader.h |
| @@ -10,6 +10,7 @@ |
| #include "base/basictypes.h" |
| #include "base/file_path.h" |
| +#include "base/file_util.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "base/time.h" |
| #include "third_party/zlib/contrib/minizip/unzip.h" |
| @@ -77,6 +78,12 @@ class ZipReader { |
| // success. |
| bool Open(const FilePath& zip_file_path); |
| +#if defined(OS_POSIX) |
| + // Opens the zip file referred to by the file descriptor |zip_fd|. |
| + // Returns true on success. |
| + bool OpenFd(const int zip_fd); |
|
satorux1
2011/12/12 04:54:14
We often use "FromSomething" for naming functions
Jorge Lucangeli Obes
2011/12/12 23:34:35
Done.
|
| +#endif |
| + |
| // Closes the currently opened zip file. This function is called in the |
| // destructor of the class, so you usually don't need to call this. |
| void Close(); |
| @@ -125,6 +132,12 @@ class ZipReader { |
| // beforehand. |
| bool ExtractCurrentEntryIntoDirectory(const FilePath& output_directory_path); |
| +#if defined(OS_POSIX) |
| + // Extracts the current entry by writing directly to a file descriptor. |
| + // Does not close the file descriptor. Returns true on success. |
| + bool ExtractCurrentEntryToFd(const int fd); |
| +#endif |
| + |
| // Returns the current entry info. Returns NULL if the current entry is |
| // not yet opened. OpenCurrentEntryInZip() must be called beforehand. |
| EntryInfo* current_entry_info() const { |
| @@ -136,9 +149,15 @@ class ZipReader { |
| int num_entries() const { return num_entries_; } |
| private: |
| + // Initializes internal state. |
| + bool Initialize(); |
| + |
| // Resets the internal state. |
| void Reset(); |
| + // Helper for ExtractCurrentEntryTo(FilePath|Fd) |
| + bool ExtractCurrentEntryToBuffer(const char* buf, const int size); |
| + |
| unzFile zip_file_; |
| int num_entries_; |
| bool reached_end_; |