28#if defined HAVE_CONFIG_H
96 return _impl->GetID();
118 return _impl->SetID(
id);
123 return _impl->SetSpec(spec);
128 return _impl->GetSpec();
149 return _impl->GetField(fieldName);
154 return _impl->NumFields();
166 return _impl->
Size();
172 return _impl->HasChanged();
191 return _impl->GetDescription();
196 return _impl->GetTextID();
201 return _impl->Parse(reader);
206 _impl->Render(writer);
211 return _impl->Contains(
id);
221 return _impl->SetCompression(b);
234 return _impl->GetCompression();
239 return _impl->GetDataSize();
244 return _impl->SetEncryptionID(
id);
249 return _impl->GetEncryptionID();
254 return _impl->SetGroupingID(
id);
259 return _impl->GetGroupingID();
270 : _cur(frame.begin()), _end(frame.end())
276 ID3_Field* next =
NULL;
277 while (next ==
NULL && _cur != _end)
292 ConstIteratorImpl(ID3_FrameImpl& frame)
293 : _cur(frame.begin()), _end(frame.end())
296 const ID3_Field* GetNext()
298 ID3_Field* next =
NULL;
299 while (next ==
NULL && _cur != _end)
312 return new IteratorImpl(*_impl);
318 return new ConstIteratorImpl(*_impl);
The representative class of an ID3v2 field.
virtual size_t Size() const =0
Returns the size of a field.
bool Contains(ID3_FieldID fld) const
ID3_FrameID GetID() const
Returns the type of frame that the object represents.
ID3_Field * GetField(ID3_FieldID name) const
ID3_Field & Field(ID3_FieldID name) const
Returns a pointer to the frame's internal field indicated by the parameter.
bool GetCompression() const
Returns whether or not the compression flag is set.
void Render(ID3_Writer &) const
uchar GetGroupingID() const
bool SetGroupingID(uchar id)
bool SetID(ID3_FrameID id)
Establishes the internal structure of an ID3_FrameImpl object so that it represents the id3v2 frame i...
ID3_Frame & operator=(const ID3_Frame &)
size_t GetDataSize() const
Iterator * CreateIterator()
void Clear()
Clears the frame of all data and resets the frame such that it can take on the form of any id3v2 fram...
ID3_Frame(ID3_FrameID id=ID3FID_NOFRAME)
Default constructor; accepts as a default parameter the type of frame to create.
ID3_V2Spec GetSpec() const
bool SetEncryptionID(uchar id)
bool SetCompression(bool b)
Sets the compression flag within the frame.
const char * GetDescription() const
const char * GetTextID() const
uchar GetEncryptionID() const
Fields::iterator iterator
const char * GetDescription() const
Fields::const_iterator const_iterator
ID3_FieldID
Enumeration of the different types of fields in a frame.
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.