Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound 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 Methods

 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_TagImpl & operator= (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 Methods

size_t IsV2Tag (ID3_Reader &)

Protected Methods

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.

Referenced by begin(), end(), Find(), HasChanged(), and Size().

typedef Frames::iterator ID3_TagImpl::iterator
 

Definition at line 77 of file tag_impl.h.

Referenced by begin(), Clear(), end(), Find(), and RemoveFrame().


Constructor & Destructor Documentation

ID3_TagImpl::ID3_TagImpl const char *    name = NULL
 

Definition at line 91 of file tag_impl.cpp.

References Clear(), Link(), and NULL.

ID3_TagImpl::ID3_TagImpl const ID3_Tag   tag
 

Definition at line 108 of file tag_impl.cpp.

References NULL.

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.

References const_iterator.

iterator ID3_TagImpl::begin   [inline]
 

Definition at line 132 of file tag_impl.h.

References iterator.

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, iterator, 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.

References const_iterator.

iterator ID3_TagImpl::end   [inline]
 

Definition at line 133 of file tag_impl.h.

References iterator.

Referenced by Find(), and ParseReader().

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

Definition at line 46 of file tag_find.cpp.

References iterator.

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

Definition at line 31 of file tag_find.cpp.

References const_iterator.

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(), const_iterator, end(), ID3_Field::GetRawUnicodeText(), ID3_FieldID, ID3_FrameID, 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(), const_iterator, end(), ID3_Field::GetRawText(), ID3_FieldID, ID3_FrameID, 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(), const_iterator, end(), ID3_FieldID, ID3_FrameID, and NULL.

ID3_Frame * ID3_TagImpl::Find ID3_FrameID    id const
 

Definition at line 61 of file tag_find.cpp.

References begin(), const_iterator, end(), ID3_FrameID, 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  
 

Definition at line 268 of file tag_impl.cpp.

References ID3_TagHeader::GetExperimental().

Referenced by ID3_Tag::GetExperimental().

bool ID3_TagImpl::GetExtended  
 

Definition at line 263 of file tag_impl.cpp.

References ID3_TagHeader::GetExtended().

Referenced by GetExtendedBytes(), and ID3_Tag::GetExtendedHeader().

size_t ID3_TagImpl::GetExtendedBytes  
 

Definition at line 278 of file tag_impl.cpp.

References GetExtended(), GetSpec(), 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  
 

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  
 

Definition at line 232 of file tag_impl.cpp.

References ID3_Header::GetSpec(), and ID3_V2Spec.

Referenced by GetExtendedBytes(), ID3_Tag::GetSpec(), and RenderExtHeader().

bool ID3_TagImpl::GetUnsync  
 

Definition at line 258 of file tag_impl.cpp.

References ID3_TagHeader::GetUnsync().

Referenced by ID3_Tag::GetUnsync(), and Size().

bool ID3_TagImpl::HasChanged  
 

Definition at line 202 of file tag_impl.cpp.

References const_iterator.

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_TagType, and ID3_Flags::test().

Referenced by HasLyrics(), ID3_Tag::HasTagType(), HasV1Tag(), HasV2Tag(), and Update().

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 flags_t, 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 flags_t, 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 flags_t, GetPrependedBytes(), NULL, 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(), and Size().

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::ConstIterator::GetNext(), ID3_Tag::GetUnsync(), 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, luint, 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(), ID3_Reader::pos_type, 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(), iterator, and NULL.

Referenced by ID3_Tag::RemoveFrame().

void ID3_TagImpl::RenderExtHeader uchar   [protected]
 

Definition at line 178 of file tag_render.cpp.

References GetSpec(), ID3V2_3_0, and uchar.

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_V2Spec, and 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  
 

Definition at line 140 of file tag_render.cpp.

References const_iterator, GetUnsync(), NumFrames(), 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 369 of file tag_file.cpp.

References flags_t, ID3_Flags::get(), GetAppendedBytes(), GetPrependedBytes(), ID3_GetDataSize(), ID3E_NoError, ID3TT_APPENDED, ID3TT_NONE, ID3TT_PREPENDED, min, ID3_Flags::remove(), and uchar.

Referenced by ID3_Tag::Strip().

flags_t ID3_TagImpl::Update flags_t    = (flags_t) ID3TT_ALL
 

Definition at line 321 of file tag_file.cpp.

References ID3_Flags::add(), flags_t, GetFileName(), HasChanged(), HasTagType(), ID3_Err, 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 Fri Nov 29 06:01:55 2002 for id3lib by doxygen1.2.18