aboutsummaryrefslogtreecommitdiffstats
path: root/src/archive/ZzipArchivePlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-01-30ArchivePlugin: move instance methods to class ArchiveFileMax Kellermann1-30/+16
2013-01-30archive/zzip: fix memory leakMax Kellermann1-15/+12
2013-01-29ArchiveFile: convert to a classMax Kellermann1-12/+9
2013-01-29refcount: convert to C++Max Kellermann1-5/+4
2013-01-29ArchivePlugin: replace scan_reset(), scan_next() with visit()Max Kellermann1-34/+17
Add the interface ArchiveVisitor.
2013-01-29ArchivePlugin: scan_next() returns const stringMax Kellermann1-3/+3
2013-01-28InputStream: add constructor/destructorMax Kellermann1-5/+2
Eliminate input_stream_init() and input_stream_deinit().
2013-01-28input/zzip: add constructor/destructorMax Kellermann1-22/+31
2013-01-28input/zzip: rename the classesMax Kellermann1-15/+14
2013-01-27DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann1-1/+1
2013-01-26input_stream: forward-declare the structMax Kellermann1-0/+1
Hide the definition from C code, to prepare the transition to C++.
2013-01-25input_{internal,plugin}: convert to C++Max Kellermann1-2/+2
2013-01-24archive/*: convert to C++Max Kellermann1-35/+51
2011-09-16input_stream: non-blocking I/OMax Kellermann1-2/+5
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins.
2011-09-14input_stream: move input_stream_init(), _deinit() to _internal.cMax Kellermann1-0/+1
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-01-18input_stream: added attribute "uri"Max Kellermann1-1/+1
2010-01-18input_stream: added function input_stream_deinit()Max Kellermann1-0/+1
All close() implementations must call this method.
2010-01-01input_stream: return allocated input_stream objectsMax Kellermann1-15/+14
Major API redesign: don't let the caller allocate the input_stream object. Let each input plugin allocate its own (derived/extended) input_stream pointer. The "data" attribute can now be removed, and all input plugins simply cast the input_stream pointer to their own structure (with an "struct input_stream base" as the first attribute).
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-31archive: use reference counting for archive+inputMax Kellermann1-0/+11
Make the input_stream implementation hold a reference on the archive_file object. Allow the caller to "close" the archive_file object immediately, no matter if the open_stream() method has succeeded or not.
2009-12-31input/archive: don't initialize input_stream.readyMax Kellermann1-0/+1
The archive plugin should decide this.
2009-12-31archive/zzip: added struct zzip_input_streamMax Kellermann1-19/+33
Don't use the zzip_archive object for the input_stream.
2009-12-31archive/zzip: set input_stream.{size,offset}Max Kellermann1-3/+5
2009-12-16archive_plugin: use GError in the open() methodMax Kellermann1-2/+3
2009-12-16archive_plugin: wrap method callsMax Kellermann1-1/+5
Make archive_file a "real" struct, extended by all plugins. Add the plugin pointer to it. Wrap all method calls in functions.
2009-12-16archive_plugin: pass const string to method open()Max Kellermann1-1/+1
2009-12-16archive: added a C header for each pluginMax Kellermann1-0/+1
Moved the archive plugin "extern" declarations into each plugin header.
2009-12-15input_stream: return errors with GErrorMax Kellermann1-6/+17
2009-12-15archive/zzip: removed the "zip_context" typedefMax Kellermann1-11/+11
Use the raw struct name.
2009-12-15archive/zip: renamed plugin to "zzip"Max Kellermann1-28/+28
This plugin is based on libzzip.
2009-12-15iso, zip: fixed memory leak in destructorMax Kellermann1-1/+2
Free the "context" pointer in the method archive_plugin.close().
2009-12-15archive: close archive when stream is closedMax Kellermann1-0/+2
Fixes a memory leak: the "archive" input plugin opens the archive, but never closes it. This patch moves the responsibility for doing that to archive_plugin.open_stream(). This is an slight internal API change, but it is the simplest and least intrusive fix for the memory leak.
2009-11-12include config.h in all sourcesMax Kellermann1-0/+1
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-10-11input_stream: use "goffset" instead of "off_t"Max Kellermann1-1/+1
The "off_t" type may change when you enable or disable large file support on 32 bit platforms. This caused severe ABI problems within MPD when we enabled LFS for the first time: two sources included config.h and sys/types.h in different order, and had different off_t sizes - leading to memory corruption because of ABI incompatibility. This patch attempts to get rid of all public "off_t" uses: it removes "off_t" from the input_stream ABI/API, and switches to GLib's 64 bit "goffset" type. This may hurt 32 bit embedded platforms a tiny bit, but that's not even measurable.
2009-05-04archive/zip: pass NULL instead of 0 to zzip_dir_open()Max Kellermann1-2/+2
The second parameter of zzip_dir_open() is a pointer. Pass the NULL pointer instead of 0 (with implicit conversion at compile time).
2009-03-13all: Update copyright header.Avuton Olrich1-6/+7
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-03-02input_stream: moved struct input_plugin to input_plugin.hMax Kellermann1-1/+1
Start to separate private from public input_stream API.
2009-01-30input_stream: make seek(), buffer() optionalMax Kellermann1-7/+0
Make those two methods optional to implement, and let input_stream.c provide fallbacks. The buffer() method will be removed one day, and there is now only one implementation left (input_curl.c).
2009-01-30archive: replaced setup_stream() with open_stream()Max Kellermann1-17/+11
The open_stream() method opens the input_stream. This allows the archive plugin to do its own initialization, and it also allows it to use input_stream.data. We can remove input_stream.archive now, which was unnatural to have in the first place.
2009-01-21archiveapi: adding seeking support in zip archivesViliam Mateicka1-2/+8
2009-01-02archive: use GLib instead of utils.hMax Kellermann1-2/+2
2008-12-29update: fixing empty filenames in archivesViliam Mateicka1-1/+4
2008-12-16archiveapi: archive plugin for ZIP filesViliam Mateicka1-0/+196