1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3<title>FLAC: FLAC::Metadata::VorbisComment::Entry Class Reference</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5</head><body> 6<!-- Generated by Doxygen 1.4.2 --> 7<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> 8<div class="nav"> 9<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> 10<h1>FLAC::Metadata::VorbisComment::Entry Class Reference</h1><code>#include <<a class="el" href="+_2metadata_8h-source.html">metadata.h</a>></code> 11<p> 12<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> 13Convenience 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> 14A <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> 15A <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> 16A <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> 17Always 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. 18<p> 19<table border="0" cellpadding="0" cellspacing="0"> 20<tr><td></td></tr> 21<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 22<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> 23 </td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field, unsigned field_length)</td></tr> 24 25<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> 26 </td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field)</td></tr> 27 28<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> 29 </td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field_name, const char *field_value, unsigned field_value_length)</td></tr> 30 31<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> 32 </td><td class="memItemRight" valign="bottom"><b>Entry</b> (const char *field_name, const char *field_value)</td></tr> 33 34<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> 35 </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> 36 37<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> 38<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> 39 40<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> 41 42<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> 43unsigned </td><td class="memItemRight" valign="bottom"><b>get_field_length</b> () const </td></tr> 44 45<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> 46unsigned </td><td class="memItemRight" valign="bottom"><b>get_field_name_length</b> () const </td></tr> 47 48<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> 49unsigned </td><td class="memItemRight" valign="bottom"><b>get_field_value_length</b> () const </td></tr> 50 51<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> 52::<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> 53 54<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> 55const char * </td><td class="memItemRight" valign="bottom"><b>get_field</b> () const </td></tr> 56 57<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> 58const char * </td><td class="memItemRight" valign="bottom"><b>get_field_name</b> () const </td></tr> 59 60<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> 61const char * </td><td class="memItemRight" valign="bottom"><b>get_field_value</b> () const </td></tr> 62 63<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> 64bool </td><td class="memItemRight" valign="bottom"><b>set_field</b> (const char *field, unsigned field_length)</td></tr> 65 66<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> 67bool </td><td class="memItemRight" valign="bottom"><b>set_field</b> (const char *field)</td></tr> 68 69<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> 70bool </td><td class="memItemRight" valign="bottom"><b>set_field_name</b> (const char *field_name)</td></tr> 71 72<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> 73bool </td><td class="memItemRight" valign="bottom"><b>set_field_value</b> (const char *field_value, unsigned field_value_length)</td></tr> 74 75<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> 76bool </td><td class="memItemRight" valign="bottom"><b>set_field_value</b> (const char *field_value)</td></tr> 77 78<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> 79<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> 80bool </td><td class="memItemRight" valign="bottom"><b>is_valid_</b></td></tr> 81 82<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> 83::<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> 84 85<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> 86char * </td><td class="memItemRight" valign="bottom"><b>field_name_</b></td></tr> 87 88<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> 89unsigned </td><td class="memItemRight" valign="bottom"><b>field_name_length_</b></td></tr> 90 91<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> 92char * </td><td class="memItemRight" valign="bottom"><b>field_value_</b></td></tr> 93 94<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> 95unsigned </td><td class="memItemRight" valign="bottom"><b>field_value_length_</b></td></tr> 96 97</table> 98<hr><h2>Member Function Documentation</h2> 99<a class="anchor" name="FLAC_1_1Metadata_1_1VorbisComment_1_1Entrya8" doxytag="FLAC::Metadata::VorbisComment::Entry::is_valid"></a><p> 100<table class="mdTable" cellpadding="2" cellspacing="0"> 101 <tr> 102 <td class="mdRow"> 103 <table cellpadding="0" cellspacing="0" border="0"> 104 <tr> 105 <td class="md" nowrap valign="top">virtual bool FLAC::Metadata::VorbisComment::Entry::is_valid </td> 106 <td class="md" valign="top">( </td> 107 <td class="mdname1" valign="top" nowrap> </td> 108 <td class="md" valign="top"> ) </td> 109 <td class="md" nowrap> const<code> [virtual]</code></td> 110 </tr> 111 </table> 112 </td> 113 </tr> 114</table> 115<table cellspacing="5" cellpadding="0" border="0"> 116 <tr> 117 <td> 118 119 </td> 120 <td> 121 122<p> 123Returns <code>true</code> iff object was properly constructed. 124<p> 125 </td> 126 </tr> 127</table> 128<hr>The documentation for this class was generated from the following file:<ul> 129<li>include/FLAC++/<a class="el" href="+_2metadata_8h-source.html">metadata.h</a></ul> 130 131<hr size="1"> 132<div class="copyright"> 133 <!-- @@@ oh so hacky --> 134 <table> 135 <tr> 136 <td align="left"> 137 Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson 138 </td> 139 <td width="1%" align="right"> 140 <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> 141 </td> 142 </tr> 143 </table> 144</div> 145<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson --> 146<!-- Permission is granted to copy, distribute and/or modify this document --> 147<!-- under the terms of the GNU Free Documentation License, Version 1.1 --> 148<!-- or any later version published by the Free Software Foundation; --> 149<!-- with no invariant sections. --> 150<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html --> 151</body> 152</html> 153