<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>FLAC: FLAC::Metadata::VorbisComment::Entry Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.2 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> <div class="nav"> <b>FLAC</b>::<b>Metadata</b>::<a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">VorbisComment</a>::<a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a></div> <h1>FLAC::Metadata::VorbisComment::Entry Class Reference</h1><code>#include <<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>></code> <p> <a href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> Convenience class for encapsulating Vorbis comment entries. An entry is a vendor string or a comment field. In the case of a vendor string, the field name is undefined; only the field value is relevant.<p> A <em>field</em> as used in the methods refers to an entire 'NAME=VALUE' string; for convenience the string is NUL-terminated. A length field is required in the unlikely event that the value contains contain embedded NULs.<p> A <em>field_name</em> is what is on the left side of the first '=' in the <em>field</em>. By definition it is ASCII and so is NUL-terminated and does not require a length to describe it. <em>field_name</em> is undefined for a vendor string entry.<p> A <em>field_value</em> is what is on the right side of the first '=' in the <em>field</em>. By definition, this may contain embedded NULs and so a <em>field_value_length</em> is required to describe it. However in practice, embedded NULs are not known to be used, so it is generally safe to treat field values as NUL- terminated UTF-8 strings.<p> Always check <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html#FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8">is_valid()</a> after the constructor or operator= to make sure memory was properly allocated and that the <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> conforms to the Vorbis comment specification. <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya1" doxytag="FLAC::Metadata::VorbisComment::Entry::Entry"></a> </td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field, unsigned field_length)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya2" doxytag="FLAC::Metadata::VorbisComment::Entry::Entry"></a> </td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya3" doxytag="FLAC::Metadata::VorbisComment::Entry::Entry"></a> </td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field_name, const char *field_value, unsigned field_value_length)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya4" doxytag="FLAC::Metadata::VorbisComment::Entry::Entry"></a> </td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field_name, const char *field_value)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya5" doxytag="FLAC::Metadata::VorbisComment::Entry::Entry"></a> </td><td class="memItemRight" valign="bottom"><b>Entry</b> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &entry)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya6" doxytag="FLAC::Metadata::VorbisComment::Entry::operator="></a> <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">Entry</a> &entry)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html#FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8">is_valid</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya9" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field_length"></a> unsigned </td><td class="memItemRight" valign="bottom"><b>get_field_length</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya10" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field_name_length"></a> unsigned </td><td class="memItemRight" valign="bottom"><b>get_field_name_length</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya11" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field_value_length"></a> unsigned </td><td class="memItemRight" valign="bottom"><b>get_field_value_length</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya12" doxytag="FLAC::Metadata::VorbisComment::Entry::get_entry"></a> ::<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> </td><td class="memItemRight" valign="bottom"><b>get_entry</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya13" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field"></a> const char * </td><td class="memItemRight" valign="bottom"><b>get_field</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya14" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field_name"></a> const char * </td><td class="memItemRight" valign="bottom"><b>get_field_name</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya15" doxytag="FLAC::Metadata::VorbisComment::Entry::get_field_value"></a> const char * </td><td class="memItemRight" valign="bottom"><b>get_field_value</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya16" doxytag="FLAC::Metadata::VorbisComment::Entry::set_field"></a> bool </td><td class="memItemRight" valign="bottom"><b>set_field</b> (const char *field, unsigned field_length)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya17" doxytag="FLAC::Metadata::VorbisComment::Entry::set_field"></a> bool </td><td class="memItemRight" valign="bottom"><b>set_field</b> (const char *field)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya18" doxytag="FLAC::Metadata::VorbisComment::Entry::set_field_name"></a> bool </td><td class="memItemRight" valign="bottom"><b>set_field_name</b> (const char *field_name)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya19" doxytag="FLAC::Metadata::VorbisComment::Entry::set_field_value"></a> bool </td><td class="memItemRight" valign="bottom"><b>set_field_value</b> (const char *field_value, unsigned field_value_length)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya20" doxytag="FLAC::Metadata::VorbisComment::Entry::set_field_value"></a> bool </td><td class="memItemRight" valign="bottom"><b>set_field_value</b> (const char *field_value)</td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp0" doxytag="FLAC::Metadata::VorbisComment::Entry::is_valid_"></a> bool </td><td class="memItemRight" valign="bottom"><b>is_valid_</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp1" doxytag="FLAC::Metadata::VorbisComment::Entry::entry_"></a> ::<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> </td><td class="memItemRight" valign="bottom"><b>entry_</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp2" doxytag="FLAC::Metadata::VorbisComment::Entry::field_name_"></a> char * </td><td class="memItemRight" valign="bottom"><b>field_name_</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp3" doxytag="FLAC::Metadata::VorbisComment::Entry::field_name_length_"></a> unsigned </td><td class="memItemRight" valign="bottom"><b>field_name_length_</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp4" doxytag="FLAC::Metadata::VorbisComment::Entry::field_value_"></a> char * </td><td class="memItemRight" valign="bottom"><b>field_value_</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entryp5" doxytag="FLAC::Metadata::VorbisComment::Entry::field_value_length_"></a> unsigned </td><td class="memItemRight" valign="bottom"><b>field_value_length_</b></td></tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8" doxytag="FLAC::Metadata::VorbisComment::Entry::is_valid"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">virtual bool FLAC::Metadata::VorbisComment::Entry::is_valid </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const<code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Returns <code>true</code> iff object was properly constructed. <p> </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul> <hr size="1"> <div class="copyright"> <!-- @@@ oh so hacky --> <table> <tr> <td align="left"> Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson </td> <td width="1%" align="right"> <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a> </td> </tr> </table> </div> <!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson --> <!-- Permission is granted to copy, distribute and/or modify this document --> <!-- under the terms of the GNU Free Documentation License, Version 1.1 --> <!-- or any later version published by the Free Software Foundation; --> <!-- with no invariant sections. --> <!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html --> </body> </html>