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
void AddFrame (const ID3_Frame &)
void AddFrame (const ID3_Frame *)
void AttachFrame (ID3_Frame *)
ID3_FrameRemoveFrame (const ID3_Frame *)
size_t Link (const char *fileInfo, 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 (uint16 tt) const
ID3_V2Spec GetSpec () const
bool SetSpec (ID3_V2Spec)
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 ()


Member Typedef Documentation

typedef Frames::const_iterator ID3_TagImpl::const_iterator
 

Definition at line 80 of file tag_impl.h.

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

typedef Frames::iterator ID3_TagImpl::iterator
 

Definition at line 79 of file tag_impl.h.

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


Constructor & Destructor Documentation

ID3_TagImpl::ID3_TagImpl const char *    name = NULL
 

Definition at line 99 of file tag_impl.cpp.

References Clear(), and Link().

ID3_TagImpl::ID3_TagImpl const ID3_Tag   tag
 

Definition at line 115 of file tag_impl.cpp.

ID3_TagImpl::~ID3_TagImpl   [virtual]
 

Definition at line 127 of file tag_impl.cpp.

References Clear().


Member Function Documentation

void ID3_TagImpl::AddFrame const ID3_Frame   frame
 

Definition at line 160 of file tag_impl.cpp.

References AttachFrame().

void ID3_TagImpl::AddFrame const ID3_Frame   frame
 

Definition at line 155 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 134 of file tag_impl.h.

References AttachFrame().

void ID3_TagImpl::AttachFrame ID3_Frame   frame
 

Definition at line 169 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 130 of file tag_impl.h.

References const_iterator.

iterator ID3_TagImpl::begin   [inline]
 

Definition at line 128 of file tag_impl.h.

References iterator.

Referenced by Find().

void ID3_TagImpl::Clear  
 

Definition at line 132 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 131 of file tag_impl.h.

References const_iterator.

iterator ID3_TagImpl::end   [inline]
 

Definition at line 129 of file tag_impl.h.

References iterator.

Referenced by Find(), and ParseFile().

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

Definition at line 56 of file tag_find.cpp.

References iterator.

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

Definition at line 41 of file tag_find.cpp.

References const_iterator.

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

Definition at line 164 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    fldID,
dami::String   
const
 

Definition at line 109 of file tag_find.cpp.

References begin(), const_iterator, end(), ID3_Field::GetRawText(), ID3_FieldID, ID3_FrameID, NULL, ID3_Field::Size(), and uint32.

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

Definition at line 212 of file tag_find.cpp.

References begin(), const_iterator, end(), ID3_FieldID, ID3_FrameID, NULL, and uint32.

ID3_Frame * ID3_TagImpl::Find ID3_FrameID    id const
 

Definition at line 71 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 110 of file tag_impl.h.

Referenced by ID3_Tag::GetAppendedBytes(), ID3_GetDataSize(), and Strip().

bool ID3_TagImpl::GetExperimental   const
 

Definition at line 269 of file tag_impl.cpp.

References ID3_TagHeader::GetExperimental().

Referenced by ID3_Tag::GetExperimental().

bool ID3_TagImpl::GetExtended   const
 

Definition at line 264 of file tag_impl.cpp.

References ID3_TagHeader::GetExtended().

Referenced by ID3_Tag::GetExtendedHeader().

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

Definition at line 112 of file tag_impl.h.

References ID3_FieldID, ID3_FrameID, and uint32.

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

size_t ID3_TagImpl::GetFileSize   const [inline]
 

Definition at line 111 of file tag_impl.h.

Referenced by ID3_Tag::GetFileSize(), ID3_GetDataSize(), and RenderV1ToFile().

size_t ID3_TagImpl::GetPrependedBytes   const [inline]
 

Definition at line 109 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 233 of file tag_impl.cpp.

References ID3_Header::GetSpec(), and ID3_V2Spec.

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

bool ID3_TagImpl::GetUnsync   const
 

Definition at line 259 of file tag_impl.cpp.

References ID3_TagHeader::GetUnsync().

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

bool ID3_TagImpl::HasChanged   const
 

Definition at line 203 of file tag_impl.cpp.

References const_iterator.

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

bool ID3_TagImpl::HasLyrics   const [inline]
 

Definition at line 138 of file tag_impl.h.

References HasTagType(), and ID3TT_LYRICS.

bool ID3_TagImpl::HasTagType uint16    tt const [inline]
 

Definition at line 122 of file tag_impl.h.

References ID3_V2Spec, ID3_Flags::test(), and uint16.

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

bool ID3_TagImpl::HasV1Tag   const [inline]
 

Definition at line 140 of file tag_impl.h.

References const_iterator, HasTagType(), ID3TT_ID3V1, iterator, and uchar.

bool ID3_TagImpl::HasV2Tag   const [inline]
 

Definition at line 139 of file tag_impl.h.

References HasTagType(), and ID3TT_ID3V2.

size_t ID3_TagImpl::IsV2Tag ID3_Reader   reader [static]
 

Definition at line 46 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 122 of file tag_file.cpp.

References flags_t, ID3TT_ID3V1, ID3TT_LYRICS, ID3TT_NONE, and Link().

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

Definition at line 136 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 119 of file tag_impl.h.

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

ID3_TagImpl & ID3_TagImpl::operator= const ID3_Tag   rTag
 

Definition at line 288 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    curSize const
 

Definition at line 198 of file tag_render.cpp.

References GetPrependedBytes(), ID3_GetDataSize(), ID3_PADMAX, ID3_PADMULTIPLE, luint, and ID3_TagHeader::SIZE.

Referenced by Size().

void ID3_TagImpl::ParseFile   [protected]
 

Definition at line 206 of file tag_parse.cpp.

References ID3_Flags::add(), ID3_Flags::clear(), end(), ID3E_NoError, ID3TT_ID3V1, ID3TT_ID3V2, ID3TT_LYRICS3, ID3TT_LYRICS3V2, ID3TT_MUSICMATCH, ID3_Reader::pos_type, and ID3_Flags::test().

Referenced by Link().

ID3_Frame * ID3_TagImpl::RemoveFrame const ID3_Frame   frame
 

Definition at line 186 of file tag_impl.cpp.

References Find(), iterator, and NULL.

Referenced by ID3_Tag::RemoveFrame().

void ID3_TagImpl::RenderExtHeader uchar   buffer [protected]
 

Definition at line 184 of file tag_render.cpp.

References GetSpec(), ID3V2_3_0, and uchar.

void ID3_TagImpl::SetChanged bool    b [inline]
 

Definition at line 88 of file tag_impl.h.

References flags_t, and ID3TT_ALL.

void ID3_TagImpl::SetCompression bool    [inline]
 

Definition at line 136 of file tag_impl.h.

bool ID3_TagImpl::SetExperimental bool    exp
 

Definition at line 252 of file tag_impl.cpp.

References ID3_TagHeader::SetExperimental().

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

bool ID3_TagImpl::SetExtended bool    ext
 

Definition at line 245 of file tag_impl.cpp.

References ID3_TagHeader::SetExtended().

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

bool ID3_TagImpl::SetPadding bool    pad
 

Definition at line 274 of file tag_impl.cpp.

Referenced by ID3_Tag::SetPadding().

bool ID3_TagImpl::SetSpec ID3_V2Spec    spec
 

Definition at line 226 of file tag_impl.cpp.

References ID3_V2Spec, and ID3_TagHeader::SetSpec().

Referenced by ID3_Tag::SetSpec().

bool ID3_TagImpl::SetUnsync bool    b
 

Definition at line 238 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 146 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    ulTagFlag = (flags_t) ID3TT_ALL
 

Definition at line 367 of file tag_file.cpp.

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

Referenced by ID3_Tag::Strip().

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

Definition at line 319 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 Thu Jan 3 07:35:57 2002 for id3lib by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001