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

ID3_FrameImpl Class Reference

#include <frame_impl.h>

List of all members.

Public Types

typedef Fields::iterator iterator
typedef Fields::const_iterator const_iterator

Public Methods

 ID3_FrameImpl (ID3_FrameID id=ID3FID_NOFRAME)
 ID3_FrameImpl (const ID3_FrameHeader &)
 ID3_FrameImpl (const ID3_Frame &)
virtual ~ID3_FrameImpl ()
 Destructor. More...

void Clear ()
bool SetID (ID3_FrameID id)
ID3_FrameID GetID () const
ID3_FieldGetField (ID3_FieldID name) const
size_t NumFields () const
const char * GetDescription () const
const char * GetTextID () const
ID3_FrameImpl & operator= (const ID3_Frame &)
bool HasChanged () const
bool Parse (ID3_Reader &)
void Render (ID3_Writer &) const
size_t Size ()
bool Contains (ID3_FieldID fld) const
bool SetSpec (ID3_V2Spec)
ID3_V2Spec GetSpec () const
bool SetCompression (bool b)
 Sets the compression flag within the frame. More...

bool GetCompression () const
 Returns whether or not the compression flag is set. More...

size_t GetDataSize () const
bool SetEncryptionID (uchar id)
uchar GetEncryptionID () const
bool SetGroupingID (uchar id)
uchar GetGroupingID () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const

Static Public Methods

const char * GetDescription (ID3_FrameID)

Protected Methods

bool _SetID (ID3_FrameID)
bool _ClearFields ()
void _InitFields ()
void _InitFieldBits ()
void _UpdateFieldDeps ()


Member Typedef Documentation

typedef Fields::const_iterator ID3_FrameImpl::const_iterator
 

Definition at line 42 of file frame_impl.h.

Referenced by begin(), end(), GetField(), ID3_Frame::GetGroupingID(), and HasChanged().

typedef Fields::iterator ID3_FrameImpl::iterator
 

Definition at line 41 of file frame_impl.h.

Referenced by _ClearFields(), begin(), end(), ID3_Frame::GetGroupingID(), operator=(), and Size().


Constructor & Destructor Documentation

ID3_FrameImpl::ID3_FrameImpl ID3_FrameID    id = ID3FID_NOFRAME
 

Definition at line 38 of file frame_impl.cpp.

References ID3_FrameID, ID3V2_LATEST, SetID(), and SetSpec().

ID3_FrameImpl::ID3_FrameImpl const ID3_FrameHeader   hdr
 

Definition at line 49 of file frame_impl.cpp.

References _InitFields().

ID3_FrameImpl::ID3_FrameImpl const ID3_Frame   frame
 

Definition at line 60 of file frame_impl.cpp.

ID3_FrameImpl::~ID3_FrameImpl   [virtual]
 

Destructor.

Definition at line 70 of file frame_impl.cpp.

References Clear().


Member Function Documentation

bool ID3_FrameImpl::_ClearFields   [protected]
 

Definition at line 75 of file frame_impl.cpp.

References iterator.

Referenced by _SetID(), Clear(), and Parse().

void ID3_FrameImpl::_InitFieldBits   [protected]
 

void ID3_FrameImpl::_InitFields   [protected]
 

Definition at line 97 of file frame_impl.cpp.

References ID3_FieldDef::_id, ID3_FrameDef::aeFieldDefs, ID3_FieldDef::DEFAULT, ID3_FrameHeader::GetFrameDef(), ID3_Field::GetID(), ID3FN_NOFIELD, and NULL.

Referenced by _SetID(), ID3_FrameImpl(), and Parse().

bool ID3_FrameImpl::_SetID ID3_FrameID    id [protected]
 

Definition at line 132 of file frame_impl.cpp.

References _ClearFields(), _InitFields(), ID3_FrameID, and ID3_FrameHeader::SetFrameID().

Referenced by SetID().

void ID3_FrameImpl::_UpdateFieldDeps   [protected]
 

const_iterator ID3_FrameImpl::begin   const [inline]
 

Definition at line 113 of file frame_impl.h.

References const_iterator.

iterator ID3_FrameImpl::begin   [inline]
 

Definition at line 111 of file frame_impl.h.

References iterator.

Referenced by operator=().

void ID3_FrameImpl::Clear  
 

Definition at line 89 of file frame_impl.cpp.

References _ClearFields(), and ID3_FrameHeader::Clear().

Referenced by ID3_Frame::Clear(), and ~ID3_FrameImpl().

bool ID3_FrameImpl::Contains ID3_FieldID    fld const [inline]
 

Definition at line 70 of file frame_impl.h.

References ID3_FieldID, and ID3_V2Spec.

Referenced by ID3_Frame::Contains(), and GetField().

const_iterator ID3_FrameImpl::end   const [inline]
 

Definition at line 114 of file frame_impl.h.

References const_iterator, ID3_FrameID, and uchar.

iterator ID3_FrameImpl::end   [inline]
 

Definition at line 112 of file frame_impl.h.

References iterator.

Referenced by operator=().

bool ID3_FrameImpl::GetCompression   const [inline]
 

Returns whether or not the compression flag is set.

After parsing a tag, this will indicate whether or not the frame was compressed. After rendering a tag, however, it does not actually indicate if the frame is compressed rendering. It only indicates whether or not compression was attempted. A frame will not be compressed, even whent the compression flag is set, if the "compressed" data is no smaller than the "uncompressed" data.

Definition at line 89 of file frame_impl.h.

References ID3_FrameHeader::GetCompression().

Referenced by ID3_Frame::GetCompression(), and Render().

size_t ID3_FrameImpl::GetDataSize   const [inline]
 

Definition at line 90 of file frame_impl.h.

References ID3_Header::GetDataSize().

Referenced by ID3_Frame::GetDataSize().

const char * ID3_FrameImpl::GetDescription ID3_FrameID    id [static]
 

Definition at line 248 of file frame_impl.cpp.

References ID3_FindFrameDef(), ID3_FrameID, NULL, and ID3_FrameDef::sDescription.

const char * ID3_FrameImpl::GetDescription   const
 

Definition at line 258 of file frame_impl.cpp.

References ID3_FrameHeader::GetFrameDef(), NULL, and ID3_FrameDef::sDescription.

Referenced by ID3_Frame::GetDescription().

uchar ID3_FrameImpl::GetEncryptionID   const [inline]
 

Definition at line 100 of file frame_impl.h.

References uchar.

Referenced by ID3_Frame::GetEncryptionID(), Render(), and Size().

ID3_Field * ID3_FrameImpl::GetField ID3_FieldID    fieldName const
 

Definition at line 150 of file frame_impl.cpp.

References const_iterator, Contains(), ID3_FieldID, and NULL.

Referenced by ID3_Frame::GetField().

uchar ID3_FrameImpl::GetGroupingID   const [inline]
 

Definition at line 109 of file frame_impl.h.

References uchar.

Referenced by ID3_Frame::GetGroupingID(), Render(), and Size().

ID3_FrameID ID3_FrameImpl::GetID   const [inline]
 

Definition at line 54 of file frame_impl.h.

References ID3_FrameHeader::GetFrameID(), ID3_FieldID, and ID3_FrameID.

Referenced by ID3_Frame::GetID(), and SetID().

ID3_V2Spec ID3_FrameImpl::GetSpec   const
 

Definition at line 145 of file frame_impl.cpp.

References ID3_Header::GetSpec(), and ID3_V2Spec.

Referenced by ID3_Frame::GetSpec().

const char* ID3_FrameImpl::GetTextID   const [inline]
 

Definition at line 63 of file frame_impl.h.

References ID3_FrameHeader::GetTextID().

Referenced by ID3_Frame::GetTextID().

bool ID3_FrameImpl::HasChanged   const
 

Definition at line 207 of file frame_impl.cpp.

References const_iterator.

Referenced by ID3_Frame::HasChanged().

size_t ID3_FrameImpl::NumFields   const
 

Definition at line 167 of file frame_impl.cpp.

Referenced by ID3_Frame::NumFields(), and Render().

ID3_FrameImpl & ID3_FrameImpl::operator= const ID3_Frame   rFrame
 

Definition at line 223 of file frame_impl.cpp.

References begin(), ID3_Frame::CreateIterator(), end(), ID3_Frame::GetCompression(), ID3_Frame::GetEncryptionID(), ID3_Frame::GetGroupingID(), ID3_Frame::GetID(), ID3_Frame::ConstIterator::GetNext(), ID3_Frame::GetSpec(), ID3_FrameID, iterator, NULL, SetCompression(), SetEncryptionID(), SetGroupingID(), SetID(), and SetSpec().

bool ID3_FrameImpl::Parse ID3_Reader   reader
 

Definition at line 108 of file frame_parse.cpp.

References _ClearFields(), _InitFields(), ID3_Reader::getBeg(), ID3_FrameHeader::GetCompression(), ID3_Reader::getCur(), ID3_Header::GetDataSize(), ID3_FrameHeader::GetEncryption(), ID3_Reader::getEnd(), ID3_FrameHeader::GetGrouping(), ID3_FrameHeader::GetTextID(), ID3_FrameHeader::Parse(), ID3_Reader::pos_type, SetEncryptionID(), SetGroupingID(), and uint32.

Referenced by ID3_Frame::Parse().

void ID3_FrameImpl::Render ID3_Writer   writer const
 

Definition at line 71 of file frame_render.cpp.

References ID3_FrameHeader::GetCompression(), GetCompression(), ID3_FrameHeader::GetEncryption(), GetEncryptionID(), ID3_FrameHeader::GetGrouping(), GetGroupingID(), NumFields(), ID3_FrameHeader::Render(), ID3_FrameHeader::SetCompression(), ID3_Header::SetDataSize(), ID3_FrameHeader::SetEncryption(), ID3_FrameHeader::SetFrameID(), ID3_FrameHeader::SetGrouping(), ID3_FrameHeader::Size(), uchar, uint32, ID3_Writer::writeChar(), and ID3_Writer::writeChars().

Referenced by ID3_Frame::Render().

bool ID3_FrameImpl::SetCompression bool    b [inline]
 

Sets the compression flag within the frame.

When the compression flag is is set, compression will be attempted. However, the frame might not actually be compressed after it is rendered if the "compressed" data is no smaller than the "uncompressed" data.

Definition at line 80 of file frame_impl.h.

References ID3_FrameHeader::SetCompression().

Referenced by operator=(), and ID3_Frame::SetCompression().

bool ID3_FrameImpl::SetEncryptionID uchar    id [inline]
 

Definition at line 92 of file frame_impl.h.

References ID3_FrameHeader::SetEncryption(), and uchar.

Referenced by operator=(), Parse(), and ID3_Frame::SetEncryptionID().

bool ID3_FrameImpl::SetGroupingID uchar    id [inline]
 

Definition at line 101 of file frame_impl.h.

References ID3_FrameHeader::SetGrouping(), and uchar.

Referenced by operator=(), Parse(), and ID3_Frame::SetGroupingID().

bool ID3_FrameImpl::SetID ID3_FrameID    id
 

Definition at line 121 of file frame_impl.cpp.

References _SetID(), GetID(), and ID3_FrameID.

Referenced by ID3_FrameImpl(), operator=(), and ID3_Frame::SetID().

bool ID3_FrameImpl::SetSpec ID3_V2Spec    spec
 

Definition at line 140 of file frame_impl.cpp.

References ID3_V2Spec, and ID3_Header::SetSpec().

Referenced by ID3_FrameImpl(), operator=(), and ID3_Frame::SetSpec().

size_t ID3_FrameImpl::Size  
 

Definition at line 172 of file frame_impl.cpp.

References GetEncryptionID(), GetGroupingID(), ID3_TextEnc, ID3FN_TEXTENC, ID3TE_ASCII, iterator, and ID3_FrameHeader::Size().

Referenced by ID3_Frame::Size().


The documentation for this class was generated from the following files:
Generated on Thu Jan 3 07:35:56 2002 for id3lib by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001