An ID3v2 general encapsulated object frame implementation. More...
#include <generalencapsulatedobjectframe.h>
Public Member Functions | |
GeneralEncapsulatedObjectFrame () | |
GeneralEncapsulatedObjectFrame (const ByteVector &data) | |
~GeneralEncapsulatedObjectFrame () override | |
GeneralEncapsulatedObjectFrame (const GeneralEncapsulatedObjectFrame &)=delete | |
GeneralEncapsulatedObjectFrame & | operator= (const GeneralEncapsulatedObjectFrame &)=delete |
String | toString () const override |
StringList | toStringList () const override |
String::Type | textEncoding () const |
void | setTextEncoding (String::Type encoding) |
String | mimeType () const |
void | setMimeType (const String &type) |
String | fileName () const |
void | setFileName (const String &name) |
String | description () const |
void | setDescription (const String &desc) |
ByteVector | object () const |
void | setObject (const ByteVector &data) |
Public Member Functions inherited from TagLib::ID3v2::Frame | |
virtual | ~Frame () |
Frame (const Frame &)=delete | |
Frame & | operator= (const Frame &)=delete |
ByteVector | frameID () const |
unsigned int | size () const |
unsigned int | headerSize () const |
void | setData (const ByteVector &data) |
virtual void | setText (const String &text) |
virtual String | toString () const =0 |
virtual StringList | toStringList () const |
ByteVector | render () const |
Header * | header () const |
Header (const ByteVector &data, unsigned int version=4) | |
virtual | ~Header () |
Header (const Header &)=delete | |
Header & | operator= (const Header &)=delete |
void | setData (const ByteVector &data, unsigned int version=4) |
ByteVector | frameID () const |
void | setFrameID (const ByteVector &id) |
unsigned int | frameSize () const |
void | setFrameSize (unsigned int size) |
unsigned int | version () const |
void | setVersion (unsigned int version) |
unsigned int | size () const |
bool | tagAlterPreservation () const |
void | setTagAlterPreservation (bool preserve) |
bool | fileAlterPreservation () const |
bool | readOnly () const |
bool | groupingIdentity () const |
bool | compression () const |
bool | encryption () const |
bool | unsynchronisation () const |
bool | dataLengthIndicator () const |
ByteVector | render () const |
Protected Member Functions | |
void | parseFields (const ByteVector &data) override |
ByteVector | renderFields () const override |
Protected Member Functions inherited from TagLib::ID3v2::Frame | |
Frame (const ByteVector &data) | |
Frame (Header *h) | |
void | setHeader (Header *h, bool deleteCurrent=true) |
void | parse (const ByteVector &data) |
virtual void | parseFields (const ByteVector &data)=0 |
virtual ByteVector | renderFields () const =0 |
ByteVector | fieldData (const ByteVector &frameData) const |
String | readStringField (const ByteVector &data, String::Type encoding, int *position=nullptr) |
String::Type | checkTextEncoding (const StringList &fields, String::Type encoding) const |
virtual PropertyMap | asProperties () const |
Friends | |
class | FrameFactory |
Additional Inherited Members | |
Static Public Member Functions inherited from TagLib::ID3v2::Frame | |
static ByteVector | textDelimiter (String::Type t) |
static ByteVector | keyToFrameID (const String &) |
static String | frameIDToKey (const ByteVector &) |
Static Public Attributes inherited from TagLib::ID3v2::Frame | |
static const String | instrumentPrefix |
static const String | commentPrefix |
static const String | lyricsPrefix |
static const String | urlPrefix |
Static Protected Member Functions inherited from TagLib::ID3v2::Frame | |
static void | splitProperties (const PropertyMap &original, PropertyMap &singleFrameProperties, PropertyMap &tiplProperties, PropertyMap &tmclProperties) |
An ID3v2 general encapsulated object frame implementation.
This is an implementation of ID3v2 general encapsulated objects. Arbitrary binary data may be included in tags, stored in GEOB frames. There may be multiple GEOB frames in a single tag. Each GEOB is labelled with a content description (which may be blank), a required mime-type, and a file name (may be blank). The content description uniquely identifies the GEOB frame in the tag.
TagLib::ID3v2::GeneralEncapsulatedObjectFrame::GeneralEncapsulatedObjectFrame | ( | ) |
Constructs an empty object frame. The description, file name and text encoding should be set manually.
|
explicit |
Constructs a GeneralEncapsulatedObjectFrame frame based on data.
|
override |
Destroys the GeneralEncapsulatedObjectFrame instance.
|
delete |
String TagLib::ID3v2::GeneralEncapsulatedObjectFrame::description | ( | ) | const |
Returns the content description of the object.
String TagLib::ID3v2::GeneralEncapsulatedObjectFrame::fileName | ( | ) | const |
Returns the file name of the object.
String TagLib::ID3v2::GeneralEncapsulatedObjectFrame::mimeType | ( | ) | const |
Returns the mime type of the object.
ByteVector TagLib::ID3v2::GeneralEncapsulatedObjectFrame::object | ( | ) | const |
Returns the object data as a ByteVector.
const char *
which should make it easy to export this data to external programs.
|
delete |
|
overrideprotectedvirtual |
Called by parse() to parse the field data. It makes this information available through the public API. This must be overridden by the subclasses.
Implements TagLib::ID3v2::Frame.
|
overrideprotectedvirtual |
Render the field data back to a binary format in a ByteVector. This must be overridden by subclasses.
Implements TagLib::ID3v2::Frame.
void TagLib::ID3v2::GeneralEncapsulatedObjectFrame::setDescription | ( | const String & | desc | ) |
Sets the content description of the object to desc.
void TagLib::ID3v2::GeneralEncapsulatedObjectFrame::setFileName | ( | const String & | name | ) |
Sets the file name for the object.
void TagLib::ID3v2::GeneralEncapsulatedObjectFrame::setMimeType | ( | const String & | type | ) |
Sets the mime type of the object.
void TagLib::ID3v2::GeneralEncapsulatedObjectFrame::setObject | ( | const ByteVector & | data | ) |
Sets the object data to data. data should be of the type specified in this frame's mime-type specification.
void TagLib::ID3v2::GeneralEncapsulatedObjectFrame::setTextEncoding | ( | String::Type | encoding | ) |
Set the text encoding used for the description and file name.
String::Type TagLib::ID3v2::GeneralEncapsulatedObjectFrame::textEncoding | ( | ) | const |
Returns the text encoding used for the description and file name.
|
overridevirtual |
Returns a string containing the description, file name and mime-type
Implements TagLib::ID3v2::Frame.
|
overridevirtual |
Returns a string list containing the description, file name and mime-type.
Reimplemented from TagLib::ID3v2::Frame.
|
friend |