Main Page | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members

ID3_TagHeader Class Reference

#include <header_tag.h>

Inheritance diagram for ID3_TagHeader:

ID3_Header List of all members.

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_TagHeaderoperator= (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

const char *const ID = "ID3"

Member Enumeration Documentation

anonymous enum
 

Enumeration values:
HEADER_FLAG_UNSYNC 
HEADER_FLAG_EXTENDED 
HEADER_FLAG_EXPERIMENTAL 
HEADER_FLAG_FOOTER 

Definition at line 38 of file header_tag.h.

anonymous enum
 

Enumeration values:
EXT_HEADER_FLAG_BIT1 
EXT_HEADER_FLAG_BIT2 
EXT_HEADER_FLAG_BIT3 
EXT_HEADER_FLAG_BIT4 

Definition at line 46 of file header_tag.h.

anonymous enum
 

Enumeration values:
ID_SIZE 
MAJOR_OFFSET 
MINOR_OFFSET 
FLAGS_OFFSET 
SIZE_OFFSET 
SIZE 

Definition at line 101 of file header_tag.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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::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().

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().

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().

ID3_TagHeader& ID3_TagHeader::operator= const ID3_TagHeader hdr  )  [inline]
 

Definition at line 63 of file header_tag.h.

References ID3_Header::operator=().

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_Reader::getCur(), ID3_Header::GetSpec(), HEADER_FLAG_EXTENDED, ID3_VerRevToV2Spec(), ID3V2_2_1, ID3_Tag::IsV2Tag(), ID3_Reader::readChar(), ID3_Reader::readChars(), ID3_Flags::set(), ID3_Header::SetDataSize(), SetSpec(), ID3_Flags::test(), and uchar.

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_Reader::getCur(), ID3_Header::GetSpec(), HEADER_FLAG_EXTENDED, ID3V2_3_0, ID3V2_4_0, ID3_Reader::readChar(), ID3_Flags::set(), ID3_Reader::setCur(), and ID3_Flags::test().

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(), ID3_Header::GetSpec(), HEADER_FLAG_EXTENDED, ID, ID3_V2SpecToRev(), ID3_V2SpecToVer(), ID3V2_3_0, ID3V2_4_0, ID3V2_LATEST, MASK8, ID3_Flags::test(), uchar, ID3_Writer::writeChar(), and ID3_Writer::writeChars().

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 ID3_TagImpl::SetExperimental().

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 ID3_TagImpl::SetExtended().

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().

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(), ID3_TagImpl::SetSpec(), and ID3_TagImpl::Size().

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 ID3_TagImpl::SetUnsync().

size_t ID3_TagHeader::Size  )  const [virtual]
 

Implements ID3_Header.

Definition at line 53 of file header_tag.cpp.

References ID3_Header::_info, and SIZE.

Referenced by ID3_TagImpl::Size().


Member Data Documentation

const char *const ID3_TagHeader::ID = "ID3" [static]
 

Definition at line 37 of file header_tag.cpp.

Referenced by ID3_TagImpl::IsV2Tag(), and Render().


The documentation for this class was generated from the following files:
Generated on Wed Jul 9 12:07:37 2003 for id3lib by doxygen 1.3.2