ID3_TagImpl Class Reference

#include <tag_impl.h>

List of all members.

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_FrameRemoveFrame (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_FrameFind (ID3_FrameID id) const
ID3_FrameFind (ID3_FrameID id, ID3_FieldID fld, uint32 data) const
ID3_FrameFind (ID3_FrameID id, ID3_FieldID fld, dami::String) const
ID3_FrameFind (ID3_FrameID id, ID3_FieldID fld, dami::WString) const
size_t NumFrames () const
ID3_TagImploperator= (const ID3_Tag &)
bool HasTagType (ID3_TagType tt) const
ID3_V2Spec GetSpec () const
bool SetSpec (ID3_V2Spec)
const Mp3_HeaderinfoGetMp3HeaderInfo () 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)


Detailed Description

Definition at line 73 of file tag_impl.h.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

ID3_TagImpl::ID3_TagImpl ( const char *  name = NULL  ) 

Definition at line 91 of file tag_impl.cpp.

References Clear(), and Link().

ID3_TagImpl::ID3_TagImpl ( const ID3_Tag tag  ) 

Definition at line 108 of file tag_impl.cpp.

ID3_TagImpl::~ID3_TagImpl (  )  [virtual]

Definition at line 121 of file tag_impl.cpp.

References Clear().


Member Function Documentation

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

Definition at line 202 of file tag_impl.cpp.

Referenced by ID3_Tag::HasChanged(), and Update().

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  ) 

Definition at line 153 of file tag_impl.cpp.

Referenced by ID3_Tag::AddFrame().

void ID3_TagImpl::AddFrame ( const ID3_Frame  ) 

Definition at line 158 of file tag_impl.cpp.

References AttachFrame().

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

ID3_Frame * ID3_TagImpl::RemoveFrame ( const ID3_Frame  ) 

Definition at line 185 of file tag_impl.cpp.

References Find(), and NULL.

Referenced by ID3_Tag::RemoveFrame().

size_t ID3_TagImpl::Link ( const char *  fileInfo,
flags_t  = (flags_t) ID3TT_ALL 
)

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

flags_t ID3_TagImpl::Update ( flags_t  = (flags_t) ID3TT_ALL  ) 

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

flags_t ID3_TagImpl::Strip ( flags_t  = (flags_t) ID3TT_ALL  ) 

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

Definition at line 202 of file tag_find.cpp.

References end(), and NULL.

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]

Definition at line 132 of file tag_impl.h.

Referenced by Find().

iterator ID3_TagImpl::end (  )  [inline]

Definition at line 133 of file tag_impl.h.

Referenced by Find(), and ParseReader().

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]

Definition at line 138 of file tag_impl.h.

References AttachFrame().

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]

Definition at line 142 of file tag_impl.h.

References HasTagType(), and ID3TT_LYRICS.

bool ID3_TagImpl::HasV2Tag (  )  const [inline]

Definition at line 143 of file tag_impl.h.

References HasTagType(), and ID3TT_ID3V2.

bool ID3_TagImpl::HasV1Tag (  )  const [inline]

Definition at line 144 of file tag_impl.h.

References HasTagType(), and ID3TT_ID3V1.

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]

Definition at line 178 of file tag_render.cpp.

References ID3V2_3_0.

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


The documentation for this class was generated from the following files:
Generated on Mon Aug 20 17:48:46 2007 for id3lib by  doxygen 1.5.2