28#if defined HAVE_CONFIG_H
67ID3_Frame::ID3_Frame(
const ID3_Frame& frame)
72ID3_Frame::~ID3_Frame()
82void ID3_Frame::Clear()
96 return _impl->GetID();
118 return _impl->SetID(
id);
123 return _impl->SetSpec(spec);
128 return _impl->GetSpec();
144 return *this->GetField(fieldName);
149 return _impl->GetField(fieldName);
152size_t ID3_Frame::NumFields()
const
154 return _impl->NumFields();
164size_t ID3_Frame::Size()
166 return _impl->
Size();
170bool ID3_Frame::HasChanged()
const
172 return _impl->HasChanged();
184const char* ID3_Frame::GetDescription(
ID3_FrameID id)
189const char* ID3_Frame::GetDescription()
const
191 return _impl->GetDescription();
194const char* ID3_Frame::GetTextID()
const
196 return _impl->GetTextID();
201 return _impl->Parse(reader);
204void ID3_Frame::Render(
ID3_Writer& writer)
const
206 _impl->Render(writer);
211 return _impl->Contains(
id);
219bool ID3_Frame::SetCompression(
bool b)
221 return _impl->SetCompression(b);
232bool ID3_Frame::GetCompression()
const
234 return _impl->GetCompression();
237size_t ID3_Frame::GetDataSize()
const
239 return _impl->GetDataSize();
242bool ID3_Frame::SetEncryptionID(
uchar id)
244 return _impl->SetEncryptionID(
id);
247uchar ID3_Frame::GetEncryptionID()
const
249 return _impl->GetEncryptionID();
252bool ID3_Frame::SetGroupingID(
uchar id)
254 return _impl->SetGroupingID(
id);
257uchar ID3_Frame::GetGroupingID()
const
259 return _impl->GetGroupingID();
264 class IteratorImpl :
public ID3_Frame::Iterator
269 IteratorImpl(ID3_FrameImpl& frame)
270 : _cur(frame.begin()), _end(frame.end())
276 ID3_Field* next =
NULL;
277 while (next ==
NULL && _cur != _end)
287 class ConstIteratorImpl :
public ID3_Frame::ConstIterator
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)
310ID3_Frame::CreateIterator()
312 return new IteratorImpl(*_impl);
315ID3_Frame::ConstIterator*
316ID3_Frame::CreateIterator()
const
318 return new ConstIteratorImpl(*_impl);
The representative class of an ID3v2 field.
virtual size_t Size() const =0
Returns the size of a field.
The representative class of an id3v2 frame.
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.