Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(144)

Side by Side Diff: ui/file_manager/zip_archiver/unpacker/cpp/compressor_stream.h

Issue 2804453002: Move files from zip_archiver/unpacker/ to zip_archiver/. (Closed)
Patch Set: Move files from zip_archiver/unpacker/ to zip_archiver/. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium OS Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPRESSOR_STREAM_H_
6 #define COMPRESSOR_STREAM_H_
7
8 #include <string>
9
10 // A IO class that reads and writes data from and to files through JavaScript.
11 // Currently, Read() and Write() methods are not called at the same time.
12 // To improve the performance, these should be called in parallel by preparing
13 // two buffers and calling them with these buffers alternatively.
14 class CompressorStream {
15 public:
16 virtual ~CompressorStream() {}
17
18 // Writes the given buffer onto the archive. After sending a write chunk
19 // request to JavaScript, it waits until WriteChunkDone() is called in the
20 // main thread. Thus, This method must not be called in the main thread.
21 virtual int64_t Write(int64_t bytes_to_write,
22 const pp::VarArrayBuffer& buffer) = 0;
23
24 // Called when write chunk done response arrives from JavaScript. Sends a
25 // signal to invoke Write function in another thread again.
26 virtual void WriteChunkDone(int64_t write_bytes) = 0;
27
28 // Reads a file chunk from the entry that is currently being processed. After
29 // sending a read file chunk request to JavaScript, it waits until
30 // ReadFileChunkDone() is called in the main thread. Thus, This method must
31 // not be called in the main thread.
32 virtual int64_t Read(int64_t bytes_to_read, char* destination_buffer) = 0;
33
34 // Called when read file chunk done response arrives from JavaScript. Copies
35 // the binary data in the given buffer to destination_buffer_ and Sends a
36 // signal to invoke Read function in another thread again. buffer must not be
37 // const because buffer.Map() and buffer.Unmap() can not be called with const.
38 virtual void ReadFileChunkDone(int64_t read_bytes,
39 pp::VarArrayBuffer* buffer) = 0;
40 };
41
42 #endif // COMPRESSOR_STREAM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698