| Index: ui/file_manager/zip_archiver/unpacker/cpp/volume_archive_libarchive.h
 | 
| diff --git a/ui/file_manager/zip_archiver/unpacker/cpp/volume_archive_libarchive.h b/ui/file_manager/zip_archiver/unpacker/cpp/volume_archive_libarchive.h
 | 
| deleted file mode 100644
 | 
| index fde019aa390a72adca8aec3882bf99d46fc1f577..0000000000000000000000000000000000000000
 | 
| --- a/ui/file_manager/zip_archiver/unpacker/cpp/volume_archive_libarchive.h
 | 
| +++ /dev/null
 | 
| @@ -1,137 +0,0 @@
 | 
| -// Copyright 2014 The Chromium OS Authors. All rights reserved.
 | 
| -// Use of this source code is governed by a BSD-style license that can be
 | 
| -// found in the LICENSE file.
 | 
| -
 | 
| -#ifndef VOLUME_ARCHIVE_LIBARCHIVE_H_
 | 
| -#define VOLUME_ARCHIVE_LIBARCHIVE_H_
 | 
| -
 | 
| -#include <string>
 | 
| -
 | 
| -#include "archive.h"
 | 
| -
 | 
| -#include "volume_archive.h"
 | 
| -
 | 
| -// A namespace with constants used by VolumeArchiveLibarchive.
 | 
| -namespace volume_archive_constants {
 | 
| -
 | 
| -const char kArchiveReadNewError[] = "Could not allocate archive.";
 | 
| -const char kFileNotFound[] = "File not found for read data request.";
 | 
| -const char kVolumeReaderError[] = "VolumeReader failed to retrieve data.";
 | 
| -const char kArchiveSupportErrorPrefix[] = "Error at support rar/zip format: ";
 | 
| -const char kArchiveOpenErrorPrefix[] = "Error at open archive: ";
 | 
| -const char kArchiveNextHeaderErrorPrefix[] =
 | 
| -    "Error at reading next header for metadata: ";
 | 
| -const char kArchiveReadDataErrorPrefix[] = "Error at reading data: ";
 | 
| -const char kArchiveReadFreeErrorPrefix[] = "Error at archive free: ";
 | 
| -
 | 
| -// The size of the buffer used to skip unnecessary data.
 | 
| -// Should be positive and less than size_t maximum.
 | 
| -const int64_t kDummyBufferSize = 512 * 1024;  // 512 KB
 | 
| -
 | 
| -// The size of the buffer used by ReadInProgress to decompress data.
 | 
| -// Should be positive and less than size_t maximum.
 | 
| -const int64_t kDecompressBufferSize = 512 * 1024;  // 512 KB.
 | 
| -
 | 
| -// The maximum data chunk size for VolumeReader::Read requests.
 | 
| -// Should be positive.
 | 
| -const int64_t kMaximumDataChunkSize = 512 * 1024;  // 512 KB.
 | 
| -
 | 
| -// The minimum data chunk size for VolumeReader::Read requests.
 | 
| -// Should be positive.
 | 
| -const int64_t kMinimumDataChunkSize = 32 * 1024;  // 16 KB.
 | 
| -
 | 
| -}  // namespace volume_archive_constants
 | 
| -
 | 
| -// Defines an implementation of VolumeArchive that wraps all libarchive
 | 
| -// operations.
 | 
| -class VolumeArchiveLibarchive : public VolumeArchive {
 | 
| - public:
 | 
| -  explicit VolumeArchiveLibarchive(VolumeReader* reader);
 | 
| -
 | 
| -  virtual ~VolumeArchiveLibarchive();
 | 
| -
 | 
| -  // See volume_archive_interface.h.
 | 
| -  virtual bool Init(const std::string& encoding);
 | 
| -
 | 
| -  // See volume_archive_interface.h.
 | 
| -  virtual Result GetNextHeader();
 | 
| -  virtual Result GetNextHeader(const char** path_name,
 | 
| -                               int64_t* size,
 | 
| -                               bool* is_directory,
 | 
| -                               time_t* modification_time);
 | 
| -
 | 
| -  // See volume_archive_interface.h.
 | 
| -  virtual bool SeekHeader(int64_t index);
 | 
| -
 | 
| -  // See volume_archive_interface.h.
 | 
| -  virtual int64_t ReadData(int64_t offset,
 | 
| -                           int64_t length,
 | 
| -                           const char** buffer);
 | 
| -
 | 
| -  // See volume_archive_interface.h.
 | 
| -  virtual void MaybeDecompressAhead();
 | 
| -
 | 
| -  // See volume_archive_interface.h.
 | 
| -  virtual bool Cleanup();
 | 
| -
 | 
| -  int64_t reader_data_size() const { return reader_data_size_; }
 | 
| -
 | 
| - private:
 | 
| -  // Decompress length bytes of data starting from offset.
 | 
| -  void DecompressData(int64_t offset, int64_t length);
 | 
| -
 | 
| -  // The size of the requested data from VolumeReader.
 | 
| -  int64_t reader_data_size_;
 | 
| -
 | 
| -  // The libarchive correspondent archive object.
 | 
| -  archive* archive_;
 | 
| -
 | 
| -  // The last reached entry with VolumeArchiveLibarchive::GetNextHeader.
 | 
| -  archive_entry* current_archive_entry_;
 | 
| -
 | 
| -  // The data offset, which will be offset + length after last read
 | 
| -  // operation, where offset and length are method parameters for
 | 
| -  // VolumeArchiveLibarchive::ReadData. Data offset is used to improve
 | 
| -  // performance for consecutive calls to VolumeArchiveLibarchive::ReadData.
 | 
| -  //
 | 
| -  // Intead of starting the read from the beginning for every
 | 
| -  // VolumeArchiveLibarchive::ReadData, the next call will start
 | 
| -  // from last_read_data_offset_ in case the offset parameter of
 | 
| -  // VolumeArchiveLibarchive::ReadData has the same value as
 | 
| -  // last_read_data_offset_. This avoids decompressing again the bytes at
 | 
| -  // the begninning of the file, which is the average case scenario.
 | 
| -  // But in case the offset parameter is different than last_read_data_offset_,
 | 
| -  // then dummy_buffer_ will be used to ignore unused bytes.
 | 
| -  int64_t last_read_data_offset_;
 | 
| -
 | 
| -  // The length of the last VolumeArchiveLibarchive::ReadData. Used for
 | 
| -  // decompress ahead.
 | 
| -  int64_t last_read_data_length_;
 | 
| -
 | 
| -  // Dummy buffer for unused data read using VolumeArchiveLibarchive::ReadData.
 | 
| -  // Sometimes VolumeArchiveLibarchive::ReadData can require reading from
 | 
| -  // offsets different from last_read_data_offset_. In this case some bytes
 | 
| -  // must be skipped. Because seeking is not possible inside compressed files,
 | 
| -  // the bytes will be discarded using this buffer.
 | 
| -  char dummy_buffer_[volume_archive_constants::kDummyBufferSize];
 | 
| -
 | 
| -  // The address where the decompressed data starting from
 | 
| -  // decompressed_offset_ is stored. It should point to a valid location
 | 
| -  // inside decompressed_data_buffer_. Necesssary in order to NOT throw
 | 
| -  // away unused decompressed bytes as throwing them away would mean in some
 | 
| -  // situations restarting decompressing the file from the beginning.
 | 
| -  char* decompressed_data_;
 | 
| -
 | 
| -  // The actual buffer that contains the decompressed data.
 | 
| -  char decompressed_data_buffer_
 | 
| -      [volume_archive_constants::kDecompressBufferSize];
 | 
| -
 | 
| -  // The size of valid data starting from decompressed_data_ that is stored
 | 
| -  // inside decompressed_data_buffer_.
 | 
| -  int64_t decompressed_data_size_;
 | 
| -
 | 
| -  // True if VolumeArchiveLibarchive::DecompressData failed.
 | 
| -  bool decompressed_error_;
 | 
| -};
 | 
| -
 | 
| -#endif  // VOLUME_ARCHIVE_LIBARCHIVE_H_
 | 
| 
 |