Add a constructor that takes an ID3v2::FrameFactory.

CCMAIL:Jonathan Giannuzzi <psyduck@altern.org>


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@299846 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
Scott Wheeler 2004-03-30 13:50:26 +00:00
parent 067dc81f93
commit 1b28af00a2
2 changed files with 24 additions and 2 deletions

View File

@ -167,8 +167,8 @@ namespace TagLib {
class MPEG::File::FilePrivate
{
public:
FilePrivate() :
ID3v2FrameFactory(ID3v2::FrameFactory::instance()),
FilePrivate(ID3v2::FrameFactory *frameFactory = ID3v2::FrameFactory::instance()) :
ID3v2FrameFactory(frameFactory),
ID3v2Tag(0),
ID3v2Location(-1),
ID3v2OriginalSize(0),
@ -219,6 +219,17 @@ MPEG::File::File(const char *file, bool readProperties,
}
}
MPEG::File::File(const char *file, ID3v2::FrameFactory *frameFactory,
bool readProperties, Properties::ReadStyle propertiesStyle) :
TagLib::File(file)
{
d = new FilePrivate(frameFactory);
if(isOpen()) {
d->tag = new MPEGTag(this);
read(readProperties, propertiesStyle);
}
}
MPEG::File::~File()
{
delete d;

View File

@ -69,6 +69,17 @@ namespace TagLib {
File(const char *file, bool readProperties = true,
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
* Contructs an MPEG file from \a file. If \a readProperties is true the
* file's audio properties will also be read using \a propertiesStyle. If
* false, \a propertiesStyle is ignored. The frames will be created using
* \a frameFactory.
*/
// BIC: merge with the above constructor
File(const char *file, ID3v2::FrameFactory *frameFactory,
bool readProperties = true,
Properties::ReadStyle propertiesStyle = Properties::Average);
/*!
* Destroys this instance of the File.
*/