#include <tag_impl.h>
Public Types | |
typedef Frames::iterator | iterator |
typedef Frames::const_iterator | const_iterator |
Public Member Functions | |
ID3_TagImpl (const char *name=NULL) | |
ID3_TagImpl (const ID3_Tag &tag) | |
virtual | ~ID3_TagImpl () |
void | Clear () |
bool | HasChanged () const |
void | SetChanged (bool b) |
size_t | Size () const |
bool | SetUnsync (bool) |
bool | SetExtended (bool) |
bool | SetExperimental (bool) |
bool | SetPadding (bool) |
bool | GetUnsync () const |
bool | GetExtended () const |
bool | GetExperimental () const |
bool | GetFooter () const |
size_t | GetExtendedBytes () const |
void | AddFrame (const ID3_Frame &) |
void | AddFrame (const ID3_Frame *) |
bool | AttachFrame (ID3_Frame *) |
ID3_Frame * | RemoveFrame (const ID3_Frame *) |
size_t | Link (const char *fileInfo, flags_t=(flags_t) ID3TT_ALL) |
size_t | Link (ID3_Reader &reader, flags_t=(flags_t) ID3TT_ALL) |
flags_t | Update (flags_t=(flags_t) ID3TT_ALL) |
flags_t | Strip (flags_t=(flags_t) ID3TT_ALL) |
size_t | GetPrependedBytes () const |
size_t | GetAppendedBytes () const |
size_t | GetFileSize () const |
dami::String | GetFileName () const |
ID3_Frame * | Find (ID3_FrameID id) const |
ID3_Frame * | Find (ID3_FrameID id, ID3_FieldID fld, uint32 data) const |
ID3_Frame * | Find (ID3_FrameID id, ID3_FieldID fld, dami::String) const |
ID3_Frame * | Find (ID3_FrameID id, ID3_FieldID fld, dami::WString) const |
size_t | NumFrames () const |
ID3_TagImpl & | operator= (const ID3_Tag &) |
bool | HasTagType (ID3_TagType tt) const |
ID3_V2Spec | GetSpec () const |
bool | SetSpec (ID3_V2Spec) |
const Mp3_Headerinfo * | GetMp3HeaderInfo () const |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
void | AddNewFrame (ID3_Frame *f) |
size_t | Link (const char *fileInfo, bool parseID3v1, bool parseLyrics3) |
void | SetCompression (bool) |
void | AddFrames (const ID3_Frame *, size_t) |
bool | HasLyrics () const |
bool | HasV2Tag () const |
bool | HasV1Tag () const |
size_t | PaddingSize (size_t) const |
Static Public Member Functions | |
static size_t | IsV2Tag (ID3_Reader &) |
Protected Member Functions | |
const_iterator | Find (const ID3_Frame *) const |
iterator | Find (const ID3_Frame *) |
void | RenderExtHeader (uchar *) |
void | ParseFile () |
void | ParseReader (ID3_Reader &reader) |
Definition at line 73 of file tag_impl.h.
typedef Frames::iterator ID3_TagImpl::iterator |
Definition at line 77 of file tag_impl.h.
typedef Frames::const_iterator ID3_TagImpl::const_iterator |
Definition at line 78 of file tag_impl.h.
ID3_TagImpl::ID3_TagImpl | ( | const char * | name = NULL |
) |
ID3_TagImpl::ID3_TagImpl | ( | const ID3_Tag & | tag | ) |
Definition at line 108 of file tag_impl.cpp.
ID3_TagImpl::~ID3_TagImpl | ( | ) | [virtual] |
void ID3_TagImpl::Clear | ( | ) |
Definition at line 126 of file tag_impl.cpp.
References ID3_Flags::clear(), ID3_Header::Clear(), ID3V2_LATEST, NULL, and ID3_TagHeader::SetSpec().
Referenced by ID3_Tag::Clear(), ID3_TagImpl(), operator=(), and ~ID3_TagImpl().
bool ID3_TagImpl::HasChanged | ( | ) | const |
void ID3_TagImpl::SetChanged | ( | bool | b | ) | [inline] |
Definition at line 86 of file tag_impl.h.
size_t ID3_TagImpl::Size | ( | ) | const |
Definition at line 140 of file tag_render.cpp.
References PaddingSize(), ID3_TagHeader::SetSpec(), and ID3_TagHeader::Size().
Referenced by ID3_Tag::Size().
bool ID3_TagImpl::SetUnsync | ( | bool | ) |
Definition at line 237 of file tag_impl.cpp.
References ID3_TagHeader::SetUnsync().
Referenced by operator=(), dami::id3::v2::parse(), and ID3_Tag::SetUnsync().
bool ID3_TagImpl::SetExtended | ( | bool | ) |
Definition at line 244 of file tag_impl.cpp.
References ID3_TagHeader::SetExtended().
Referenced by operator=(), dami::id3::v2::parse(), and ID3_Tag::SetExtendedHeader().
bool ID3_TagImpl::SetExperimental | ( | bool | ) |
Definition at line 251 of file tag_impl.cpp.
References ID3_TagHeader::SetExperimental().
Referenced by operator=(), and ID3_Tag::SetExperimental().
bool ID3_TagImpl::SetPadding | ( | bool | ) |
Definition at line 291 of file tag_impl.cpp.
Referenced by ParseReader(), and ID3_Tag::SetPadding().
bool ID3_TagImpl::GetUnsync | ( | ) | const |
Definition at line 258 of file tag_impl.cpp.
References ID3_TagHeader::GetUnsync().
Referenced by ID3_Tag::GetUnsync(), and dami::id3::v2::render().
bool ID3_TagImpl::GetExtended | ( | ) | const |
Definition at line 263 of file tag_impl.cpp.
References ID3_TagHeader::GetExtended().
Referenced by ID3_Tag::GetExtendedHeader(), and dami::id3::v2::render().
bool ID3_TagImpl::GetExperimental | ( | ) | const |
Definition at line 268 of file tag_impl.cpp.
References ID3_TagHeader::GetExperimental().
Referenced by ID3_Tag::GetExperimental(), and dami::id3::v2::render().
bool ID3_TagImpl::GetFooter | ( | ) | const |
Definition at line 273 of file tag_impl.cpp.
References ID3_TagHeader::GetFooter().
Referenced by dami::id3::v2::render().
size_t ID3_TagImpl::GetExtendedBytes | ( | ) | const |
Definition at line 278 of file tag_impl.cpp.
References ID3V2_3_0, and ID3V2_4_0.
Referenced by dami::id3::v2::render().
void ID3_TagImpl::AddFrame | ( | const ID3_Frame & | ) |
void ID3_TagImpl::AddFrame | ( | const ID3_Frame * | ) |
bool ID3_TagImpl::AttachFrame | ( | ID3_Frame * | ) |
Definition at line 167 of file tag_impl.cpp.
References NULL.
Referenced by AddFrame(), AddNewFrame(), ID3_Tag::AddNewFrame(), ID3_Tag::AttachFrame(), operator=(), and dami::mm::parse().
Definition at line 131 of file tag_file.cpp.
References GetPrependedBytes(), ParseFile(), and ID3_Flags::set().
Referenced by ID3_TagImpl(), Link(), and ID3_Tag::Link().
size_t ID3_TagImpl::Link | ( | ID3_Reader & | reader, | |
flags_t | = (flags_t) ID3TT_ALL | |||
) |
Definition at line 149 of file tag_file.cpp.
References GetPrependedBytes(), ParseReader(), and ID3_Flags::set().
Definition at line 323 of file tag_file.cpp.
References ID3_Flags::add(), dami::createFile(), GetFileName(), dami::getFileSize(), HasChanged(), ID3E_NoFile, ID3E_ReadOnly, ID3TT_ID3V1, ID3TT_ID3V2, ID3TT_NONE, dami::openWritableFile(), RenderV1ToFile(), RenderV2ToFile(), and ID3_Flags::test().
Referenced by ID3_Tag::Update().
Definition at line 371 of file tag_file.cpp.
References ID3_Flags::get(), GetAppendedBytes(), dami::getFileSize(), GetPrependedBytes(), ID3_GetDataSize(), ID3E_NoError, ID3TT_APPENDED, ID3TT_NONE, ID3TT_PREPENDED, dami::openWritableFile(), and ID3_Flags::remove().
Referenced by ID3_Tag::Strip().
size_t ID3_TagImpl::GetPrependedBytes | ( | ) | const [inline] |
Definition at line 111 of file tag_impl.h.
Referenced by ID3_Tag::GetPrependedBytes(), ID3_GetDataSize(), Link(), PaddingSize(), RenderV2ToFile(), and Strip().
size_t ID3_TagImpl::GetAppendedBytes | ( | ) | const [inline] |
Definition at line 112 of file tag_impl.h.
Referenced by ID3_Tag::GetAppendedBytes(), ID3_GetDataSize(), PaddingSize(), and Strip().
size_t ID3_TagImpl::GetFileSize | ( | ) | const [inline] |
Definition at line 113 of file tag_impl.h.
Referenced by ID3_Tag::GetFileSize(), ID3_GetDataSize(), and RenderV1ToFile().
dami::String ID3_TagImpl::GetFileName | ( | ) | const [inline] |
Definition at line 114 of file tag_impl.h.
Referenced by ID3_Tag::GetFileName(), RenderV2ToFile(), and Update().
ID3_Frame * ID3_TagImpl::Find | ( | ID3_FrameID | id | ) | const |
Definition at line 61 of file tag_find.cpp.
References begin(), end(), and NULL.
Referenced by ID3_Tag::Find(), and RemoveFrame().
ID3_Frame * ID3_TagImpl::Find | ( | ID3_FrameID | id, | |
ID3_FieldID | fld, | |||
uint32 | data | |||
) | const |
ID3_Frame* ID3_TagImpl::Find | ( | ID3_FrameID | id, | |
ID3_FieldID | fld, | |||
dami::String | ||||
) | const |
ID3_Frame* ID3_TagImpl::Find | ( | ID3_FrameID | id, | |
ID3_FieldID | fld, | |||
dami::WString | ||||
) | const |
size_t ID3_TagImpl::NumFrames | ( | ) | const [inline] |
Definition at line 121 of file tag_impl.h.
Referenced by ID3_Tag::NumFrames(), and dami::id3::v2::render().
ID3_TagImpl & ID3_TagImpl::operator= | ( | const ID3_Tag & | ) |
Definition at line 305 of file tag_impl.cpp.
References AttachFrame(), Clear(), ID3_Tag::CreateIterator(), ID3_Tag::GetExperimental(), ID3_Tag::GetExtendedHeader(), ID3_Tag::GetUnsync(), NULL, SetExperimental(), SetExtended(), and SetUnsync().
bool ID3_TagImpl::HasTagType | ( | ID3_TagType | tt | ) | const [inline] |
Definition at line 124 of file tag_impl.h.
References ID3_Flags::test().
Referenced by HasLyrics(), ID3_Tag::HasTagType(), HasV1Tag(), and HasV2Tag().
ID3_V2Spec ID3_TagImpl::GetSpec | ( | ) | const |
Definition at line 232 of file tag_impl.cpp.
References ID3_Header::GetSpec().
Referenced by ID3_Tag::GetSpec(), and dami::id3::v2::render().
bool ID3_TagImpl::SetSpec | ( | ID3_V2Spec | ) |
Definition at line 225 of file tag_impl.cpp.
References ID3_TagHeader::SetSpec().
Referenced by dami::id3::v2::parse(), and ID3_Tag::SetSpec().
size_t ID3_TagImpl::IsV2Tag | ( | ID3_Reader & | ) | [static] |
Definition at line 38 of file tag_impl.cpp.
References ID3_TagHeader::ID, ID3_TagHeader::ID_SIZE, ID3_Reader::readChar(), and ID3_TagHeader::SIZE.
Referenced by ID3_Tag::IsV2Tag().
const Mp3_Headerinfo* ID3_TagImpl::GetMp3HeaderInfo | ( | ) | const [inline] |
Definition at line 130 of file tag_impl.h.
References Mp3Info::GetMp3HeaderInfo(), and NULL.
Referenced by ID3_Tag::GetMp3HeaderInfo().
iterator ID3_TagImpl::begin | ( | ) | [inline] |
iterator ID3_TagImpl::end | ( | ) | [inline] |
const_iterator ID3_TagImpl::begin | ( | ) | const [inline] |
Definition at line 134 of file tag_impl.h.
const_iterator ID3_TagImpl::end | ( | ) | const [inline] |
Definition at line 135 of file tag_impl.h.
void ID3_TagImpl::AddNewFrame | ( | ID3_Frame * | f | ) | [inline] |
size_t ID3_TagImpl::Link | ( | const char * | fileInfo, | |
bool | parseID3v1, | |||
bool | parseLyrics3 | |||
) |
Definition at line 117 of file tag_file.cpp.
References ID3TT_ID3V1, ID3TT_LYRICS, ID3TT_NONE, and Link().
void ID3_TagImpl::SetCompression | ( | bool | ) | [inline] |
Definition at line 140 of file tag_impl.h.
void ID3_TagImpl::AddFrames | ( | const ID3_Frame * | , | |
size_t | ||||
) |
bool ID3_TagImpl::HasLyrics | ( | ) | const [inline] |
bool ID3_TagImpl::HasV2Tag | ( | ) | const [inline] |
bool ID3_TagImpl::HasV1Tag | ( | ) | const [inline] |
size_t ID3_TagImpl::PaddingSize | ( | size_t | ) | const |
Definition at line 192 of file tag_render.cpp.
References GetAppendedBytes(), GetPrependedBytes(), ID3_GetDataSize(), ID3_PADMAX, ID3_PADMULTIPLE, and ID3_TagHeader::SIZE.
Referenced by dami::id3::v2::render(), and Size().
ID3_TagImpl::const_iterator ID3_TagImpl::Find | ( | const ID3_Frame * | ) | const [protected] |
Definition at line 31 of file tag_find.cpp.
ID3_TagImpl::iterator ID3_TagImpl::Find | ( | const ID3_Frame * | ) | [protected] |
Definition at line 46 of file tag_find.cpp.
void ID3_TagImpl::RenderExtHeader | ( | uchar * | ) | [protected] |
void ID3_TagImpl::ParseFile | ( | ) | [protected] |
Definition at line 205 of file tag_parse.cpp.
References ID3E_NoError, dami::openReadableFile(), and ParseReader().
Referenced by Link().
void ID3_TagImpl::ParseReader | ( | ID3_Reader & | reader | ) | [protected] |
Definition at line 219 of file tag_parse.cpp.
References ID3_Flags::add(), ID3_Flags::clear(), end(), ID3_Reader::getEnd(), ID3TT_ID3V1, ID3TT_ID3V2, ID3TT_LYRICS3, ID3TT_LYRICS3V2, ID3TT_MUSICMATCH, NULL, Mp3Info::Parse(), dami::mm::parse(), SetPadding(), and ID3_Flags::test().
Referenced by Link(), and ParseFile().