aboutsummaryrefslogtreecommitdiffstats
path: root/src/archive
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-01-29 23:20:19 +0100
committerMax Kellermann <max@duempel.org>2013-01-29 23:20:19 +0100
commitba51045d9e85b8e48afed629d6d87ac3338acd46 (patch)
tree01449b65415f9cd93212ad4c673d783b01b36ba2 /src/archive
parentfa34dd7bd3e0222811010dda6d1b40c4e3b3291b (diff)
downloadmpd-ba51045d9e85b8e48afed629d6d87ac3338acd46.tar.gz
mpd-ba51045d9e85b8e48afed629d6d87ac3338acd46.tar.xz
mpd-ba51045d9e85b8e48afed629d6d87ac3338acd46.zip
refcount: convert to C++
Diffstat (limited to 'src/archive')
-rw-r--r--src/archive/Bzip2ArchivePlugin.cxx9
-rw-r--r--src/archive/Iso9660ArchivePlugin.cxx9
-rw-r--r--src/archive/ZzipArchivePlugin.cxx9
3 files changed, 12 insertions, 15 deletions
diff --git a/src/archive/Bzip2ArchivePlugin.cxx b/src/archive/Bzip2ArchivePlugin.cxx
index be7388d5b..f93718128 100644
--- a/src/archive/Bzip2ArchivePlugin.cxx
+++ b/src/archive/Bzip2ArchivePlugin.cxx
@@ -29,7 +29,7 @@
#include "InputInternal.hxx"
#include "InputStream.hxx"
#include "InputPlugin.hxx"
-#include "refcount.h"
+#include "util/RefCount.hxx"
#include <stdint.h>
#include <stddef.h>
@@ -45,18 +45,17 @@
struct Bzip2ArchiveFile {
struct archive_file base;
- struct refcount ref;
+ RefCount ref;
char *name;
struct input_stream *istream;
Bzip2ArchiveFile() {
archive_file_init(&base, &bz2_archive_plugin);
- refcount_init(&ref);
}
void Unref() {
- if (!refcount_dec(&ref))
+ if (!ref.Decrement())
return;
g_free(name);
@@ -174,7 +173,7 @@ Bzip2InputStream::Bzip2InputStream(Bzip2ArchiveFile &_context, const char *uri,
:base(bz2_inputplugin, uri, mutex, cond),
archive(&_context), eof(false)
{
- refcount_inc(&archive->ref);
+ archive->ref.Increment();
}
Bzip2InputStream::~Bzip2InputStream()
diff --git a/src/archive/Iso9660ArchivePlugin.cxx b/src/archive/Iso9660ArchivePlugin.cxx
index 895087efc..344cdac6a 100644
--- a/src/archive/Iso9660ArchivePlugin.cxx
+++ b/src/archive/Iso9660ArchivePlugin.cxx
@@ -29,7 +29,7 @@
#include "InputInternal.hxx"
#include "InputStream.hxx"
#include "InputPlugin.hxx"
-#include "refcount.h"
+#include "util/RefCount.hxx"
#include <cdio/cdio.h>
#include <cdio/iso9660.h>
@@ -44,14 +44,13 @@
struct Iso9660ArchiveFile {
struct archive_file base;
- struct refcount ref;
+ RefCount ref;
iso9660_t *iso;
Iso9660ArchiveFile(iso9660_t *_iso)
:iso(_iso) {
archive_file_init(&base, &iso9660_archive_plugin);
- refcount_init(&ref);
}
~Iso9660ArchiveFile() {
@@ -59,7 +58,7 @@ struct Iso9660ArchiveFile {
}
void Unref() {
- if (refcount_dec(&ref))
+ if (ref.Decrement())
delete this;
}
@@ -161,7 +160,7 @@ struct Iso9660InputStream {
base.ready = true;
base.size = statbuf->size;
- refcount_inc(&archive->ref);
+ archive->ref.Increment();
}
~Iso9660InputStream() {
diff --git a/src/archive/ZzipArchivePlugin.cxx b/src/archive/ZzipArchivePlugin.cxx
index 4075e2179..1b089a484 100644
--- a/src/archive/ZzipArchivePlugin.cxx
+++ b/src/archive/ZzipArchivePlugin.cxx
@@ -29,7 +29,7 @@
#include "InputInternal.hxx"
#include "InputStream.hxx"
#include "InputPlugin.hxx"
-#include "refcount.h"
+#include "util/RefCount.hxx"
#include <zzip/zzip.h>
#include <glib.h>
@@ -38,17 +38,16 @@
struct ZzipArchiveFile {
struct archive_file base;
- struct refcount ref;
+ RefCount ref;
ZZIP_DIR *dir;
ZzipArchiveFile() {
archive_file_init(&base, &zzip_archive_plugin);
- refcount_init(&ref);
}
void Unref() {
- if (!refcount_dec(&ref))
+ if (!ref.Decrement())
return;
//close archive
@@ -136,7 +135,7 @@ struct ZzipInputStream {
zzip_file_stat(file, &z_stat);
base.size = z_stat.st_size;
- refcount_inc(&archive->ref);
+ archive->ref.Increment();
}
~ZzipInputStream() {