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

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)


Member Typedef Documentation

typedef Frames::const_iterator ID3_TagImpl::const_iterator
 

Definition at line 78 of file tag_impl.h.

typedef Frames::iterator ID3_TagImpl::iterator
 

Definition at line 77 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::AddFrame const ID3_Frame  ) 
 

Definition at line 158 of file tag_impl.cpp.

References AttachFrame().

void ID3_TagImpl::AddFrame const ID3_Frame  ) 
 

Definition at line 153 of file tag_impl.cpp.

Referenced by ID3_Tag::AddFrame().

void ID3_TagImpl::AddFrames const ID3_Frame ,
size_t 
 

void ID3_TagImpl::AddNewFrame ID3_Frame f  )  [inline]
 

Definition at line 138 of file tag_impl.h.

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(), and operator=().

const_iterator ID3_TagImpl::begin  )  const [inline]
 

Definition at line 134 of file tag_impl.h.

iterator ID3_TagImpl::begin  )  [inline]
 

Definition at line 132 of file tag_impl.h.

Referenced by Find().

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

const_iterator ID3_TagImpl::end  )  const [inline]
 

Definition at line 135 of file tag_impl.h.

iterator ID3_TagImpl::end  )  [inline]
 

Definition at line 133 of file tag_impl.h.

Referenced by Find(), and ParseReader().

ID3_TagImpl::iterator ID3_TagImpl::Find const ID3_Frame  )  [protected]
 

Definition at line 46 of file tag_find.cpp.

ID3_TagImpl::const_iterator ID3_TagImpl::Find const ID3_Frame  )  const [protected]
 

Definition at line 31 of file tag_find.cpp.

ID3_Frame * ID3_TagImpl::Find ID3_FrameID  id,
ID3_FieldID  fld,
dami::WString 
const
 

Definition at line 154 of file tag_find.cpp.

References begin(), end(), ID3_Field::GetRawUnicodeText(), NULL, and ID3_Field::Size().

ID3_Frame * ID3_TagImpl::Find ID3_FrameID  id,
ID3_FieldID  fld,
dami::String 
const
 

Definition at line 99 of file tag_find.cpp.

References begin(), end(), ID3_Field::GetRawText(), NULL, and ID3_Field::Size().

ID3_Frame * ID3_TagImpl::Find ID3_FrameID  id,
ID3_FieldID  fld,
uint32  data
const
 

Definition at line 202 of file tag_find.cpp.

References begin(), end(), and NULL.

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

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

bool ID3_TagImpl::GetExperimental  )  const
 

Definition at line 268 of file tag_impl.cpp.

References ID3_TagHeader::GetExperimental().

Referenced by ID3_Tag::GetExperimental().

bool ID3_TagImpl::GetExtended  )  const
 

Definition at line 263 of file tag_impl.cpp.

References ID3_TagHeader::GetExtended().

Referenced by ID3_Tag::GetExtendedHeader().

size_t ID3_TagImpl::GetExtendedBytes  )  const
 

Definition at line 278 of file tag_impl.cpp.

References ID3V2_3_0, and ID3V2_4_0.

dami::String ID3_TagImpl::GetFileName  )  const [inline]
 

Definition at line 114 of file tag_impl.h.

Referenced by ID3_Tag::GetFileName(), RenderV2ToFile(), and Update().

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

bool ID3_TagImpl::GetFooter  )  const
 

Definition at line 273 of file tag_impl.cpp.

References ID3_TagHeader::GetFooter().

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

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

ID3_V2Spec ID3_TagImpl::GetSpec  )  const
 

Definition at line 232 of file tag_impl.cpp.

References ID3_Header::GetSpec().

Referenced by ID3_Tag::GetSpec().

bool ID3_TagImpl::GetUnsync  )  const
 

Definition at line 258 of file tag_impl.cpp.

References ID3_TagHeader::GetUnsync().

Referenced by ID3_Tag::GetUnsync().

bool ID3_TagImpl::HasChanged  )  const
 

Definition at line 202 of file tag_impl.cpp.

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

bool ID3_TagImpl::HasLyrics  )  const [inline]
 

Definition at line 142 of file tag_impl.h.

References HasTagType(), and ID3TT_LYRICS.

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

bool ID3_TagImpl::HasV1Tag  )  const [inline]
 

Definition at line 144 of file tag_impl.h.

References HasTagType(), and ID3TT_ID3V1.

bool ID3_TagImpl::HasV2Tag  )  const [inline]
 

Definition at line 143 of file tag_impl.h.

References HasTagType(), and ID3TT_ID3V2.

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

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

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

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::NumFrames  )  const [inline]
 

Definition at line 121 of file tag_impl.h.

Referenced by ID3_Tag::NumFrames().

ID3_TagImpl & ID3_TagImpl::operator= const ID3_Tag  ) 
 

Definition at line 305 of file tag_impl.cpp.

References AttachFrame(), Clear(), ID3_Tag::ConstIterator::GetNext(), NULL, SetExperimental(), SetExtended(), and SetUnsync().

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

void ID3_TagImpl::ParseFile  )  [protected]
 

Definition at line 205 of file tag_parse.cpp.

References ID3E_NoError, 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::id3::v1::parse(), SetPadding(), and ID3_Flags::test().

Referenced by Link(), and ParseFile().

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

void ID3_TagImpl::RenderExtHeader uchar  )  [protected]
 

Definition at line 178 of file tag_render.cpp.

References ID3V2_3_0.

void ID3_TagImpl::SetChanged bool  b  )  [inline]
 

Definition at line 86 of file tag_impl.h.

void ID3_TagImpl::SetCompression bool   )  [inline]
 

Definition at line 140 of file tag_impl.h.

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::SetExtended bool   ) 
 

Definition at line 244 of file tag_impl.cpp.

References ID3_TagHeader::SetExtended().

Referenced by operator=(), and ID3_Tag::SetExtendedHeader().

bool ID3_TagImpl::SetPadding bool   ) 
 

Definition at line 291 of file tag_impl.cpp.

Referenced by ParseReader(), and ID3_Tag::SetPadding().

bool ID3_TagImpl::SetSpec ID3_V2Spec   ) 
 

Definition at line 225 of file tag_impl.cpp.

References ID3_TagHeader::SetSpec().

Referenced by ID3_Tag::SetSpec().

bool ID3_TagImpl::SetUnsync bool   ) 
 

Definition at line 237 of file tag_impl.cpp.

References ID3_TagHeader::SetUnsync().

Referenced by operator=(), and ID3_Tag::SetUnsync().

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

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(), GetPrependedBytes(), ID3_GetDataSize(), ID3E_NoError, ID3TT_APPENDED, ID3TT_NONE, ID3TT_PREPENDED, and ID3_Flags::remove().

Referenced by ID3_Tag::Strip().

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

Definition at line 323 of file tag_file.cpp.

References ID3_Flags::add(), GetFileName(), HasChanged(), ID3E_NoFile, ID3E_ReadOnly, ID3TT_ID3V1, ID3TT_ID3V2, ID3TT_NONE, RenderV1ToFile(), RenderV2ToFile(), and ID3_Flags::test().

Referenced by ID3_Tag::Update().


The documentation for this class was generated from the following files:
Generated on Wed Jul 27 19:44:10 2005 for id3lib by  doxygen 1.4.2