Tag Parser
6.2.2
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
|
The MatroskaTagField class is used by MatroskaTag to store the fields. More...
#include <matroskatagfield.h>
Public Member Functions | |
MatroskaTagField () | |
Constructs a new MatroskaTagField. More... | |
MatroskaTagField (const std::string &id, const TagValue &value) | |
Constructs a new MatroskaTagField with the specified id and value. More... | |
void | reparse (EbmlElement &simpleTagElement, bool parseNestedFields=true) |
Parses field information from the specified EbmlElement. More... | |
MatroskaTagFieldMaker | prepareMaking () |
Prepares making. More... | |
void | make (std::ostream &stream) |
Saves the field to the specified stream (makes a "SimpleTag" element). More... | |
bool | isAdditionalTypeInfoUsed () const |
Returns whether the additional type info is used. More... | |
bool | supportsNestedFields () const |
Returns whether nested fields are supported. More... | |
![]() | |
TagField () | |
Constructs an empty TagField. More... | |
TagField (const identifierType &id, const TagValue &value) | |
Constructs a new TagField with the specified id and value. More... | |
~TagField () | |
Destroys the TagField. More... | |
const identifierType & | id () const |
Returns the id of the current TagField. More... | |
std::string | idToString () const |
void | setId (const identifierType &id) |
Sets the id of the current Tag Field. More... | |
void | clearId () |
Clears the id of the current TagField. More... | |
TagValue & | value () |
Returns the value of the current TagField. More... | |
const TagValue & | value () const |
Returns the value of the current TagField. More... | |
void | setValue (const TagValue &value) |
Sets the value of the current TagField. More... | |
void | clearValue () |
Clears the value of the current TagField. More... | |
const typeInfoType & | typeInfo () const |
Returns the type info of the current TagField. More... | |
void | setTypeInfo (const typeInfoType &typeInfo) |
Sets the type info of the current TagField. More... | |
void | removeTypeInfo () |
Removes the type info from the current TagField. More... | |
bool | isTypeInfoAssigned () const |
Returns an indication whether a type info is assigned. More... | |
bool | isDefault () const |
Returns an indication whether the field is labeled as default. More... | |
void | setDefault (bool isDefault) |
Sets whether the field is labeled as default. More... | |
void | clear () |
Clears id, value, type info and sets default flag to false. More... | |
bool | isAdditionalTypeInfoUsed () const |
Returns an indication whether the additional type info is used. More... | |
const std::vector< MatroskaTagField > & | nestedFields () const |
Returns the nested fields. More... | |
std::vector< MatroskaTagField > & | nestedFields () |
Returns the nested fields. More... | |
bool | supportsNestedFields () const |
Returns whether nested fields are supported by the implementation. More... | |
![]() | |
const NotificationList & | notifications () const |
Returns notifications for the current object. More... | |
bool | hasNotifications () const |
Returns an indication whether there are notifications for the current object. More... | |
bool | hasCriticalNotifications () const |
Returns an indication whether there are critical notifications for the current object. More... | |
NotificationType | worstNotificationType () const |
Returns the worst notification type. More... | |
const std::string & | currentStatus () const |
Returns a status information for the current object. More... | |
double | currentPercentage () const |
Returns the progress percentage of the current object. More... | |
size_t | registerCallback (CallbackFunction callback) |
Registers a callback function. More... | |
void | unregisterCallback (size_t id) |
Unregisters a previously registered callback function whith the specified id. More... | |
void | unregisterAllCallbacks () |
Unregisters all callback functions. More... | |
void | forwardStatusUpdateCalls (StatusProvider *other=nullptr) |
Forwards all status updates calls to the specified statusProvider. More... | |
StatusProvider * | usedProvider () |
Returns the provider which callback functions will be called when the status or the percentage is updated. More... | |
void | tryToAbort () |
Commands the object to abort the current operation. More... | |
bool | isAborted () const |
Returns an indication whether the current operation should be aborted. More... | |
void | invalidateStatus () |
Invalidates the current status. More... | |
void | invalidateNotifications () |
Invalidates the object's notifications. More... | |
void | updateStatus (const std::string &status) |
This method is meant to be called by the derived class to report updated status information. More... | |
void | updateStatus (const std::string &status, double percentage) |
This method is meant to be called by the derived class to report updated status information. More... | |
void | updatePercentage (double percentage) |
This method is meant to be called by the derived class to report updated progress percentage only. More... | |
void | addNotification (const Notification ¬ification) |
This protected method is meant to be called by the derived class to add a notification. More... | |
void | addNotification (NotificationType type, const std::string &message, const std::string &context) |
This protected method is meant to be called by the derived class to add a notification of the specified type, message and context. More... | |
void | addNotifications (const StatusProvider &from) |
This protected method is meant to be called by the derived class to add all notifications from another StatusProvider instance. More... | |
void | addNotifications (const std::string &higherContext, const StatusProvider &from) |
This protected method is meant to be called by the derived class to add all notifications from another StatusProvider instance. More... | |
void | addNotifications (const NotificationList ¬ifications) |
This protected method is meant to be called by the derived class to add the specified notifications. More... | |
Static Public Member Functions | |
static std::string | fieldIdFromString (const char *idString, std::size_t idStringSize=std::string::npos) |
Converts the specified ID string representation to an actual ID. More... | |
static std::string | fieldIdToString (const std::string &id) |
Returns the string representation for the specified id. More... | |
Protected Member Functions | |
void | cleared () |
Ensures the field is cleared. More... | |
![]() | |
StatusProvider () | |
Constructs a new StatusProvider. More... | |
Friends | |
class | TagField< MatroskaTagField > |
Additional Inherited Members | |
![]() | |
typedef TagFieldTraits< MatroskaTagField >::implementationType | implementationType |
typedef TagFieldTraits< MatroskaTagField >::identifierType | identifierType |
typedef TagFieldTraits< MatroskaTagField >::typeInfoType | typeInfoType |
![]() | |
typedef std::function< void(StatusProvider &sender)> | CallbackFunction |
typedef std::vector< CallbackFunction > | CallbackVector |
typedef std::pair< int, CallbackFunction > | CallbackPair |
The MatroskaTagField class is used by MatroskaTag to store the fields.
Definition at line 83 of file matroskatagfield.h.
Media::MatroskaTagField::MatroskaTagField | ( | ) |
Constructs a new MatroskaTagField.
Definition at line 25 of file matroskatagfield.cpp.
Media::MatroskaTagField::MatroskaTagField | ( | const std::string & | id, |
const TagValue & | value | ||
) |
Constructs a new MatroskaTagField with the specified id and value.
Definition at line 31 of file matroskatagfield.cpp.
|
inlineprotected |
Ensures the field is cleared.
Definition at line 141 of file matroskatagfield.h.
|
inlinestatic |
Converts the specified ID string representation to an actual ID.
Definition at line 124 of file matroskatagfield.h.
|
inlinestatic |
Returns the string representation for the specified id.
Definition at line 133 of file matroskatagfield.h.
|
inline |
Returns whether the additional type info is used.
Definition at line 107 of file matroskatagfield.h.
void Media::MatroskaTagField::make | ( | std::ostream & | stream | ) |
Saves the field to the specified stream (makes a "SimpleTag" element).
Throws | std::ios_base::failure when an IO error occurs. |
Throws | Media::Failure or a derived exception when a making error occurs. |
Definition at line 154 of file matroskatagfield.cpp.
MatroskaTagFieldMaker Media::MatroskaTagField::prepareMaking | ( | ) |
Prepares making.
Throws | Media::Failure or a derived exception when a making error occurs. |
This method might be useful when it is necessary to know the size of the field before making it.
Definition at line 132 of file matroskatagfield.cpp.
void Media::MatroskaTagField::reparse | ( | EbmlElement & | simpleTagElement, |
bool | parseNestedFields = true |
||
) |
Parses field information from the specified EbmlElement.
The specified atom should be a simple tag element. These elements represents the fields of a MatroskaTag.
Throws | std::ios_base::failure when an IO error occurs. |
Throws | Media::Failure or a derived exception when a parsing error occurs. |
Definition at line 45 of file matroskatagfield.cpp.
|
inline |
Returns whether nested fields are supported.
Definition at line 115 of file matroskatagfield.h.
|
friend |
Definition at line 85 of file matroskatagfield.h.