aboutsummaryrefslogtreecommitdiffstats
path: root/src/archive/Bzip2ArchivePlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-01-30ArchivePlugin: move instance methods to class ArchiveFileMax Kellermann1-29/+23
2013-01-30archive/bzip2: create file only after stream has been openedMax Kellermann1-24/+19
Simplify error handling.
2013-01-29ArchiveFile: convert to a classMax Kellermann1-13/+10
2013-01-29refcount: convert to C++Max Kellermann1-5/+4
2013-01-29ArchivePlugin: replace scan_reset(), scan_next() with visit()Max Kellermann1-18/+4
Add the interface ArchiveVisitor.
2013-01-29ArchivePlugin: scan_next() returns const stringMax Kellermann1-2/+2
2013-01-28InputStream: add constructor/destructorMax Kellermann1-3/+2
Eliminate input_stream_init() and input_stream_deinit().
2013-01-28input/bzip2: add constructor/destructorMax Kellermann1-37/+39
2013-01-28archive/bzip2: rename the classesMax Kellermann1-16/+16
2013-01-28DatabaseLock, input/bzip2: remove obsolete Glib/gcc workaroundMax Kellermann1-5/+0
2013-01-27DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann1-5/+4
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-30/+47
2012-04-04db_lock, archive/bz2, ...: workaround for G_STATIC_MUTEX_INIT warningMax Kellermann1-0/+5
2011-09-16input_stream: non-blocking I/OMax Kellermann1-3/+10
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-3/+2
2010-01-18input_stream: added function input_stream_deinit()Max Kellermann1-0/+2
All close() implementations must call this method.
2010-01-01input_stream: return allocated input_stream objectsMax Kellermann1-17/+18
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/+9
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/bz2: allocate buffer staticallyMax Kellermann1-7/+3
Reduce the number of malloc()/free() calls.
2009-12-31archive/bz2: added struct bz2_input_streamMax Kellermann1-21/+32
Don't use the bz2_archive_file object for the input_stream.
2009-12-16archive_plugin: use GError in the open() methodMax Kellermann1-3/+2
2009-12-16archive_plugin: wrap method callsMax Kellermann1-1/+4
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-16archive/bz2: removed the bz2_context typedefMax Kellermann1-13/+13
Use the raw struct name instead.
2009-12-16archive/bz2: renamed archive sources and plugin variablesMax Kellermann1-1/+1
2009-12-16archive/bz2: use g_path_get_basename()Max Kellermann1-10/+1
Use g_path_get_basename() instead of manually filtering the path name. Big advantage: g_path_get_basename() cannot fail.
2009-12-15input_stream: return errors with GErrorMax Kellermann1-14/+25
2009-12-15archive/bz2: simplified error handling, short readMax Kellermann1-34/+23
Don't attempt to fill the whole buffer in the read() method, return whatever libbz2 provides with the first successful BZ2_bzDecompress().
2009-12-15archive/bz2: no CamelCaseMax Kellermann1-11/+10
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-12-15archive/bz2: removed NULL check before g_free()Max Kellermann1-2/+2
g_free(NULL) is allowed.
2009-12-15archive/bz2: bz2_fillbuffer() returns boolMax Kellermann1-5/+6
2009-12-15archive/bz2: fixed indentationMax Kellermann1-15/+22
2009-12-15archive/bz2: g_malloc() cannot failMax Kellermann1-4/+2
2009-11-12include config.h in all sourcesMax Kellermann1-1/+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-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-15/+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-15/+8
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-08added missing explicit config.h includesMax Kellermann1-0/+1
2009-01-02archive: use GLib instead of utils.hMax Kellermann1-1/+0
2008-12-16archiveapi: archive plugin for BZ2 filesViliam Mateicka1-0/+303