#include <header_tag.h>
Inheritance diagram for ID3_TagHeader:
Public Types | |
enum | { HEADER_FLAG_UNSYNC = 1 << 7, HEADER_FLAG_EXTENDED = 1 << 6, HEADER_FLAG_EXPERIMENTAL = 1 << 5, HEADER_FLAG_FOOTER = 1 << 4 } |
enum | { EXT_HEADER_FLAG_BIT1 = 1 << 7, EXT_HEADER_FLAG_BIT2 = 1 << 6, EXT_HEADER_FLAG_BIT3 = 1 << 5, EXT_HEADER_FLAG_BIT4 = 1 << 4 } |
enum | { ID_SIZE = 3, MAJOR_OFFSET = 3, MINOR_OFFSET = 4, FLAGS_OFFSET = 5, SIZE_OFFSET = 6, SIZE = 10 } |
Public Member Functions | |
ID3_TagHeader () | |
virtual | ~ID3_TagHeader () |
ID3_TagHeader (const ID3_TagHeader &rhs) | |
bool | SetSpec (ID3_V2Spec) |
size_t | Size () const |
void | Render (ID3_Writer &) const |
bool | Parse (ID3_Reader &) |
void | ParseExtended (ID3_Reader &) |
ID3_TagHeader & | operator= (const ID3_TagHeader &hdr) |
bool | SetUnsync (bool b) |
bool | GetUnsync () const |
bool | SetExtended (bool b) |
bool | GetExtended () const |
bool | SetExperimental (bool b) |
bool | GetExperimental () const |
bool | SetFooter (bool b) |
bool | GetFooter () const |
Static Public Attributes | |
static const char *const | ID = "ID3" |
Definition at line 34 of file header_tag.h.
anonymous enum |
Definition at line 38 of file header_tag.h.
anonymous enum |
Definition at line 46 of file header_tag.h.
anonymous enum |
Definition at line 101 of file header_tag.h.
ID3_TagHeader::ID3_TagHeader | ( | ) | [inline] |
Definition at line 54 of file header_tag.h.
virtual ID3_TagHeader::~ID3_TagHeader | ( | ) | [inline, virtual] |
Definition at line 55 of file header_tag.h.
ID3_TagHeader::ID3_TagHeader | ( | const ID3_TagHeader & | rhs | ) | [inline] |
Definition at line 56 of file header_tag.h.
bool ID3_TagHeader::SetSpec | ( | ID3_V2Spec | ) | [virtual] |
Reimplemented from ID3_Header.
Definition at line 39 of file header_tag.cpp.
References ID3_Header::_flags, ID3_Header::_info, HEADER_FLAG_EXPERIMENTAL, HEADER_FLAG_EXTENDED, ID3_Flags::set(), and ID3_Header::SetSpec().
Referenced by ID3_TagImpl::Clear(), Parse(), dami::id3::v2::render(), ID3_TagImpl::SetSpec(), and ID3_TagImpl::Size().
size_t ID3_TagHeader::Size | ( | ) | const [virtual] |
Implements ID3_Header.
Definition at line 53 of file header_tag.cpp.
References ID3_Header::_info, ID3_Header::Info::extended_bytes, ID3_Header::Info::is_extended, and SIZE.
Referenced by ID3_TagImpl::Size().
void ID3_TagHeader::Render | ( | ID3_Writer & | ) | const [virtual] |
Implements ID3_Header.
Definition at line 66 of file header_tag.cpp.
References ID3_Header::_flags, ID3_Writer::END_OF_WRITER, ID3_Flags::get(), HEADER_FLAG_EXTENDED, ID, ID3_V2SpecToRev(), ID3_V2SpecToVer(), ID3V2_3_0, ID3V2_4_0, ID3V2_LATEST, MASK8, ID3_Flags::test(), ID3_Writer::writeChar(), and ID3_Writer::writeChars().
Referenced by dami::id3::v2::render().
bool ID3_TagHeader::Parse | ( | ID3_Reader & | ) | [virtual] |
Implements ID3_Header.
Definition at line 101 of file header_tag.cpp.
References ID3_Header::_flags, ID3_Header::_info, ID3_Header::Info::extended_bytes, ID3_Header::GetSpec(), HEADER_FLAG_EXTENDED, ID3_VerRevToV2Spec(), ID3V2_2_1, ID3_Tag::IsV2Tag(), ID3_Flags::set(), ID3_Header::SetDataSize(), SetSpec(), and ID3_Flags::test().
Referenced by dami::id3::v2::parse().
void ID3_TagHeader::ParseExtended | ( | ID3_Reader & | ) |
Definition at line 134 of file header_tag.cpp.
References ID3_Header::_data_size, ID3_Header::_flags, ID3_Header::_info, EXT_HEADER_FLAG_BIT2, EXT_HEADER_FLAG_BIT3, EXT_HEADER_FLAG_BIT4, ID3_Header::Info::extended_bytes, ID3_Reader::getCur(), HEADER_FLAG_EXTENDED, ID3V2_3_0, ID3V2_4_0, ID3_Reader::readChar(), ID3_Flags::set(), and ID3_Reader::setCur().
Referenced by dami::id3::v2::parse().
ID3_TagHeader& ID3_TagHeader::operator= | ( | const ID3_TagHeader & | hdr | ) | [inline] |
bool ID3_TagHeader::SetUnsync | ( | bool | b | ) | [inline] |
Definition at line 66 of file header_tag.h.
References ID3_Header::_changed, ID3_Header::_flags, HEADER_FLAG_UNSYNC, and ID3_Flags::set().
Referenced by dami::id3::v2::render(), and ID3_TagImpl::SetUnsync().
bool ID3_TagHeader::GetUnsync | ( | ) | const [inline] |
Definition at line 72 of file header_tag.h.
References ID3_Header::_flags, HEADER_FLAG_UNSYNC, and ID3_Flags::test().
Referenced by ID3_TagImpl::GetUnsync(), and dami::id3::v2::parse().
bool ID3_TagHeader::SetExtended | ( | bool | b | ) | [inline] |
Definition at line 73 of file header_tag.h.
References ID3_Header::_changed, ID3_Header::_flags, HEADER_FLAG_EXTENDED, and ID3_Flags::set().
Referenced by dami::id3::v2::render(), and ID3_TagImpl::SetExtended().
bool ID3_TagHeader::GetExtended | ( | ) | const [inline] |
Definition at line 79 of file header_tag.h.
References ID3_Header::_flags, HEADER_FLAG_EXTENDED, and ID3_Flags::test().
Referenced by ID3_TagImpl::GetExtended(), and dami::id3::v2::parse().
bool ID3_TagHeader::SetExperimental | ( | bool | b | ) | [inline] |
Definition at line 80 of file header_tag.h.
References ID3_Header::_changed, ID3_Header::_flags, HEADER_FLAG_EXPERIMENTAL, and ID3_Flags::set().
Referenced by dami::id3::v2::render(), and ID3_TagImpl::SetExperimental().
bool ID3_TagHeader::GetExperimental | ( | ) | const [inline] |
Definition at line 86 of file header_tag.h.
References ID3_Header::_flags, HEADER_FLAG_EXPERIMENTAL, and ID3_Flags::test().
Referenced by ID3_TagImpl::GetExperimental().
bool ID3_TagHeader::SetFooter | ( | bool | b | ) | [inline] |
Definition at line 87 of file header_tag.h.
References ID3_Header::_changed, ID3_Header::_flags, HEADER_FLAG_FOOTER, and ID3_Flags::set().
Referenced by dami::id3::v2::render().
bool ID3_TagHeader::GetFooter | ( | ) | const [inline] |
Definition at line 93 of file header_tag.h.
References ID3_Header::_flags, HEADER_FLAG_FOOTER, and ID3_Flags::test().
Referenced by ID3_TagImpl::GetFooter().
const char *const ID3_TagHeader::ID = "ID3" [static] |