CLAM-Development
1.4.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Tools
SDIF
SDIFCollection.hxx
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2004 MUSIC TECHNOLOGY GROUP (MTG)
3
* UNIVERSITAT POMPEU FABRA
4
*
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*
20
*/
21
22
#ifndef __SDIFCollection__
23
#define __SDIFCollection__
24
25
#include "
DataTypes.hxx
"
26
#include "
SDIFStorage.hxx
"
27
28
namespace
SDIF
29
{
30
class
Frame;
31
class
Stream;
32
42
class
Collection
:
public
Storage
43
{
44
public
:
45
typedef
std::list<Stream*>::const_iterator
StreamIterator
;
46
47
private
:
48
//* The list of Frames
49
std::list<Frame*> mFrameList;
50
51
//* The list of Streams
52
std::list<Stream*> mStreamList;
53
54
//* Whether or not to create the Streams on the fly
55
bool
mAutoStreamAdding;
56
public
:
57
//* Create a new Collection.
58
Collection
(
bool
autoStreamAdding =
true
);
59
virtual
~Collection
() {}
60
61
void
Add
(
Frame
* pFrame);
62
void
Add
(
Stream
* pStream);
63
64
FrameIterator
Begin
(
void
)
const
{
return
mFrameList.begin(); }
65
FrameIterator
End
(
void
)
const
{
return
mFrameList.end(); }
66
67
StreamIterator
BeginStreams
(
void
)
const
{
return
mStreamList.begin(); }
68
StreamIterator
EndStreams
(
void
)
const
{
return
mStreamList.end(); }
69
70
Stream
*
FindStream
(
CLAM::TInt32
streamId);
71
Stream
*
FindStream
(
TypeId
streamTypeId);
72
73
void
ParseStreams
(
void
);
74
};
75
76
}
77
78
#endif
79
Generated by
1.8.1