mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Expose zip archive reading support (issue #30).
Move ClientReadHandler to CefByteReadHandler in cef_wrapper.h. Add support for the time_t data type to cef_parser.py. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@125 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@@ -1015,7 +1015,7 @@ typedef struct _cef_xml_reader_t
|
||||
// if the cursor position was set successfully.
|
||||
int (CEF_CALLBACK *move_to_next_node)(struct _cef_xml_reader_t* self);
|
||||
|
||||
// Close the document. This must be called directly to ensure that cleanup
|
||||
// Close the document. This should be called directly to ensure that cleanup
|
||||
// occurs on the correct thread.
|
||||
int (CEF_CALLBACK *close)(struct _cef_xml_reader_t* self);
|
||||
|
||||
@@ -1157,6 +1157,70 @@ CEF_EXPORT cef_xml_reader_t* cef_xml_reader_create(cef_stream_reader_t* stream,
|
||||
enum cef_xml_encoding_type_t encodingType, const wchar_t* URI);
|
||||
|
||||
|
||||
// Structure that supports the reading of zip archives via the zlib unzip API.
|
||||
typedef struct _cef_zip_reader_t
|
||||
{
|
||||
// Base structure.
|
||||
cef_base_t base;
|
||||
|
||||
// Moves the cursor to the first file in the archive. Returns true (1) if the
|
||||
// cursor position was set successfully.
|
||||
int (CEF_CALLBACK *move_to_first_file)(struct _cef_zip_reader_t* self);
|
||||
|
||||
// Moves the cursor to the next file in the archive. Returns true (1) if the
|
||||
// cursor position was set successfully.
|
||||
int (CEF_CALLBACK *move_to_next_file)(struct _cef_zip_reader_t* self);
|
||||
|
||||
// Moves the cursor to the specified file in the archive. If |caseSensitive|
|
||||
// is true (1) then the search will be case sensitive. Returns true (1) if the
|
||||
// cursor position was set successfully.
|
||||
int (CEF_CALLBACK *move_to_file)(struct _cef_zip_reader_t* self,
|
||||
const wchar_t* fileName, int caseSensitive);
|
||||
|
||||
// Closes the archive. This should be called directly to ensure that cleanup
|
||||
// occurs on the correct thread.
|
||||
int (CEF_CALLBACK *close)(struct _cef_zip_reader_t* self);
|
||||
|
||||
|
||||
// The below functions act on the file at the current cursor position.
|
||||
|
||||
// Returns the name of the file.
|
||||
// The resulting string must be freed by calling cef_string_free().
|
||||
cef_string_t (CEF_CALLBACK *get_file_name)(struct _cef_zip_reader_t* self);
|
||||
|
||||
// Returns the uncompressed size of the file.
|
||||
long (CEF_CALLBACK *get_file_size)(struct _cef_zip_reader_t* self);
|
||||
|
||||
// Returns the last modified timestamp for the file.
|
||||
time_t (CEF_CALLBACK *get_file_last_modified)(struct _cef_zip_reader_t* self);
|
||||
|
||||
// Opens the file for reading of uncompressed data. A read password may
|
||||
// optionally be specified.
|
||||
int (CEF_CALLBACK *open_file)(struct _cef_zip_reader_t* self,
|
||||
const wchar_t* password);
|
||||
|
||||
// Closes the file.
|
||||
int (CEF_CALLBACK *close_file)(struct _cef_zip_reader_t* self);
|
||||
|
||||
// Read uncompressed file contents into the specified buffer. Returns < 0 if
|
||||
// an error occurred, 0 if at the end of file, or the number of bytes read.
|
||||
int (CEF_CALLBACK *read_file)(struct _cef_zip_reader_t* self, void* buffer,
|
||||
size_t bufferSize);
|
||||
|
||||
// Returns the current offset in the uncompressed file contents.
|
||||
long (CEF_CALLBACK *tell)(struct _cef_zip_reader_t* self);
|
||||
|
||||
// Returns true (1) if at end of the file contents.
|
||||
int (CEF_CALLBACK *eof)(struct _cef_zip_reader_t* self);
|
||||
|
||||
} cef_zip_reader_t;
|
||||
|
||||
|
||||
// Create a new cef_zip_reader_t object. The returned object's functions can
|
||||
// only be called from the thread that created the object.
|
||||
CEF_EXPORT cef_zip_reader_t* cef_zip_reader_create(cef_stream_reader_t* stream);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user