MPD
0.20.6
Main Page
Namespaces
Data Structures
Files
File List
Globals
archive
ArchiveFile.hxx
Go to the documentation of this file.
1
/*
2
* Copyright 2003-2017 The Music Player Daemon Project
3
* http://www.musicpd.org
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License along
16
* with this program; if not, write to the Free Software Foundation, Inc.,
17
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
*/
19
20
#ifndef MPD_ARCHIVE_FILE_HXX
21
#define MPD_ARCHIVE_FILE_HXX
22
23
class
Mutex
;
24
class
Cond
;
25
struct
ArchivePlugin
;
26
class
ArchiveVisitor
;
27
class
InputStream
;
28
29
class
ArchiveFile
{
30
public
:
31
const
ArchivePlugin
&
plugin
;
32
33
ArchiveFile
(
const
ArchivePlugin
&_plugin)
34
:plugin(_plugin) {}
35
36
protected
:
40
~ArchiveFile
() {}
41
42
public
:
43
virtual
void
Close
() = 0;
44
48
virtual
void
Visit
(
ArchiveVisitor
&visitor) = 0;
49
57
virtual
InputStream
*
OpenStream
(
const
char
*path,
58
Mutex
&mutex,
Cond
&cond) = 0;
59
};
60
61
#endif
ArchiveFile::ArchiveFile
ArchiveFile(const ArchivePlugin &_plugin)
Definition:
ArchiveFile.hxx:33
ArchiveFile::Visit
virtual void Visit(ArchiveVisitor &visitor)=0
Visit all entries inside this archive.
InputStream
Definition:
InputStream.hxx:36
Cond
Definition:
Cond.hxx:41
Mutex
Definition:
Mutex.hxx:43
ArchivePlugin
Definition:
ArchivePlugin.hxx:26
ArchiveFile
Definition:
ArchiveFile.hxx:29
ArchiveFile::~ArchiveFile
~ArchiveFile()
Use Close() instead of delete.
Definition:
ArchiveFile.hxx:40
ArchiveFile::OpenStream
virtual InputStream * OpenStream(const char *path, Mutex &mutex, Cond &cond)=0
Opens an InputStream of a file within the archive.
ArchiveFile::Close
virtual void Close()=0
ArchiveVisitor
Definition:
ArchiveVisitor.hxx:23
ArchiveFile::plugin
const ArchivePlugin & plugin
Definition:
ArchiveFile.hxx:31
Generated on Mon Aug 21 2017 12:02:06 for MPD by
1.8.9.1