InputStream: add virtual destructor

Replaces the method Close().
This commit is contained in:
Max Kellermann
2014-05-11 16:59:19 +02:00
parent f1d0700252
commit 82337dec44
31 changed files with 48 additions and 180 deletions

View File

@@ -373,13 +373,6 @@ alsa_input_open(const char *uri, Mutex &mutex, Cond &cond, Error &error)
return AlsaInputStream::Create(uri, mutex, cond, error);
}
static void
alsa_input_close(InputStream *is)
{
AlsaInputStream *ais = (AlsaInputStream *)is;
delete ais;
}
static bool
alsa_input_available(InputStream *is)
{
@@ -406,7 +399,6 @@ const struct InputPlugin input_plugin_alsa = {
nullptr,
nullptr,
alsa_input_open,
alsa_input_close,
nullptr,
nullptr,
nullptr,

View File

@@ -96,5 +96,4 @@ const InputPlugin input_plugin_archive = {
nullptr,
nullptr,
nullptr,
nullptr,
};

View File

@@ -105,14 +105,6 @@ input_cdio_init(const config_param &param, Error &error)
return InputPlugin::InitResult::SUCCESS;
}
static void
input_cdio_close(InputStream *is)
{
CdioParanoiaInputStream *i = (CdioParanoiaInputStream *)is;
delete i;
}
struct cdio_uri {
char device[64];
int track;
@@ -394,7 +386,6 @@ const InputPlugin input_plugin_cdio_paranoia = {
input_cdio_init,
nullptr,
input_cdio_open,
input_cdio_close,
nullptr,
nullptr,
nullptr,

View File

@@ -805,14 +805,6 @@ input_curl_read(InputStream *is, void *ptr, size_t size,
return c.Read(ptr, size, error);
}
static void
input_curl_close(InputStream *is)
{
CurlInputStream *c = (CurlInputStream *)is;
delete c;
}
static bool
input_curl_eof(gcc_unused InputStream *is)
{
@@ -1144,7 +1136,6 @@ const struct InputPlugin input_plugin_curl = {
input_curl_init,
input_curl_finish,
input_curl_open,
input_curl_close,
input_curl_check,
nullptr,
input_curl_tag,

View File

@@ -61,9 +61,7 @@ class DespotifyInputStream final : public InputStream {
}
public:
~DespotifyInputStream() {
despotify_free_track(track);
}
~DespotifyInputStream();
static InputStream *Open(const char *url, Mutex &mutex, Cond &cond,
Error &error);
@@ -146,6 +144,12 @@ static void callback(gcc_unused struct despotify_session* ds,
ctx->Callback(sig);
}
DespotifyInputStream::~DespotifyInputStream()
{
mpd_despotify_unregister_callback(callback);
despotify_free_track(track);
}
inline InputStream *
DespotifyInputStream::Open(const char *url,
Mutex &mutex, Cond &cond,
@@ -220,15 +224,6 @@ input_despotify_read(InputStream *is, void *ptr, size_t size, Error &error)
return ctx->Read(ptr, size, error);
}
static void
input_despotify_close(InputStream *is)
{
DespotifyInputStream *ctx = (DespotifyInputStream *)is;
mpd_despotify_unregister_callback(callback);
delete ctx;
}
static bool
input_despotify_eof(InputStream *is)
{
@@ -250,7 +245,6 @@ const InputPlugin input_plugin_despotify = {
nullptr,
nullptr,
input_despotify_open,
input_despotify_close,
nullptr,
nullptr,
input_despotify_tag,

View File

@@ -125,14 +125,6 @@ input_ffmpeg_read(InputStream *is, void *ptr, size_t size,
return (size_t)ret;
}
static void
input_ffmpeg_close(InputStream *is)
{
FfmpegInputStream *i = (FfmpegInputStream *)is;
delete i;
}
static bool
input_ffmpeg_eof(InputStream *is)
{
@@ -163,7 +155,6 @@ const InputPlugin input_plugin_ffmpeg = {
input_ffmpeg_init,
nullptr,
input_ffmpeg_open,
input_ffmpeg_close,
nullptr,
nullptr,
nullptr,

View File

@@ -123,14 +123,6 @@ input_file_read(InputStream *is, void *ptr, size_t size,
return (size_t)nbytes;
}
static void
input_file_close(InputStream *is)
{
FileInputStream *fis = (FileInputStream *)is;
delete fis;
}
static bool
input_file_eof(InputStream *is)
{
@@ -142,7 +134,6 @@ const InputPlugin input_plugin_file = {
nullptr,
nullptr,
input_file_open,
input_file_close,
nullptr,
nullptr,
nullptr,

View File

@@ -106,7 +106,6 @@ const InputPlugin input_plugin_mms = {
nullptr,
nullptr,
input_mms_open,
ThreadInputStream::Close,
ThreadInputStream::Check,
nullptr,
nullptr,

View File

@@ -156,13 +156,6 @@ input_nfs_read(InputStream *is, void *ptr, size_t size,
return s.Read(ptr, size, error);
}
static void
input_nfs_close(InputStream *is)
{
NfsInputStream *s = (NfsInputStream *)is;
delete s;
}
static bool
input_nfs_eof(InputStream *is)
{
@@ -184,7 +177,6 @@ const InputPlugin input_plugin_nfs = {
nullptr,
nullptr,
input_nfs_open,
input_nfs_close,
nullptr,
nullptr,
nullptr,

View File

@@ -60,7 +60,7 @@ public:
}
~RewindInputStream() {
input->Close();
delete input;
}
bool Check(Error &error) {
@@ -121,14 +121,6 @@ private:
}
};
static void
input_rewind_close(InputStream *is)
{
RewindInputStream *r = (RewindInputStream *)is;
delete r;
}
static bool
input_rewind_check(InputStream *is, Error &error)
{
@@ -263,7 +255,6 @@ const InputPlugin rewind_input_plugin = {
nullptr,
nullptr,
nullptr,
input_rewind_close,
input_rewind_check,
input_rewind_update,
input_rewind_tag,

View File

@@ -149,13 +149,6 @@ input_smbclient_read(InputStream *is, void *ptr, size_t size,
return s.Read(ptr, size, error);
}
static void
input_smbclient_close(InputStream *is)
{
SmbclientInputStream *s = (SmbclientInputStream *)is;
delete s;
}
static bool
input_smbclient_eof(InputStream *is)
{
@@ -177,7 +170,6 @@ const InputPlugin input_plugin_smbclient = {
input_smbclient_init,
nullptr,
input_smbclient_open,
input_smbclient_close,
nullptr,
nullptr,
nullptr,