Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 964aecd60fac62d5dc5479d22a0c53ef > files > 109

libmusicbrainz3-devel-3.0.3-2.fc14.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libmusicbrainz3: MusicBrainz::Query Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><a class="el" href="namespace_music_brainz.html">MusicBrainz</a>      </li>
      <li><a class="el" href="class_music_brainz_1_1_query.html">MusicBrainz::Query</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<h1>MusicBrainz::Query Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="MusicBrainz::Query" -->
<p>A simple interface to the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> web service.  
<a href="#_details">More...</a></p>

<p><a href="class_music_brainz_1_1_query-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#ae6ffe9e396ea5f50d8fb945d9a7aa754">Query</a> (<a class="el" href="class_music_brainz_1_1_i_web_service.html">IWebService</a> *ws=NULL, const std::string &amp;clientId=std::string())</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#ae6ffe9e396ea5f50d8fb945d9a7aa754"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#a6095d3b7298188617a3bc1c030e0bd3e">~Query</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#a6095d3b7298188617a3bc1c030e0bd3e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_music_brainz_1_1_artist.html">Artist</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#add6186f95a33af2dc00b5ec287f6d9f4">getArtistById</a> (const std::string &amp;id, const <a class="el" href="class_music_brainz_1_1_artist_includes.html">ArtistIncludes</a> *include=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an artist.  <a href="#add6186f95a33af2dc00b5ec287f6d9f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_music_brainz_1_1_label.html">Label</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#ae6ccd87f1e55f19ee1c2bd5738e8ec73">getLabelById</a> (const std::string &amp;id, const <a class="el" href="class_music_brainz_1_1_label_includes.html">LabelIncludes</a> *include=NULL)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_music_brainz_1_1_release_group.html">ReleaseGroup</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#ad73d79ed8b70f8a9dbc9e4b35bd364d8">getReleaseGroupById</a> (const std::string &amp;id, const <a class="el" href="class_music_brainz_1_1_release_group_includes.html">ReleaseGroupIncludes</a> *include=NULL)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_music_brainz_1_1_release.html">Release</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#ae17881e60db277484fead362a673d591">getReleaseById</a> (const std::string &amp;id, const <a class="el" href="class_music_brainz_1_1_release_includes.html">ReleaseIncludes</a> *include=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a release.  <a href="#ae17881e60db277484fead362a673d591"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_music_brainz_1_1_track.html">Track</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#a987d5ff11d78e2b48ae85ce299a6ad73">getTrackById</a> (const std::string &amp;id, const <a class="el" href="class_music_brainz_1_1_track_includes.html">TrackIncludes</a> *include=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a track.  <a href="#a987d5ff11d78e2b48ae85ce299a6ad73"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_music_brainz_1_1_user.html">User</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#a97bc29cc28c772dc5efb079d7b89da85">getUserByName</a> (const std::string &amp;name)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about a <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user.  <a href="#a97bc29cc28c772dc5efb079d7b89da85"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_music_brainz.html#abe8403b69433a512ead71f9bc48d533b">ArtistResultList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#a755e52e3a142094c9a3f00644dcf7ee4">getArtists</a> (const <a class="el" href="class_music_brainz_1_1_artist_filter.html">ArtistFilter</a> *filter)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns artists matching given criteria.  <a href="#a755e52e3a142094c9a3f00644dcf7ee4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_music_brainz.html#a5205ef9232e98db46647a60458e928e3">LabelResultList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#ae89c7cf9c09b4cf44b95a38762bbf5bb">getLabels</a> (const <a class="el" href="class_music_brainz_1_1_label_filter.html">LabelFilter</a> *filter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_music_brainz.html#ab5d3760a323aeccce698d2b2bef0f863">ReleaseGroupResultList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#af885cddfefddcdeb70139de065c403d6">getReleaseGroups</a> (const <a class="el" href="class_music_brainz_1_1_release_group_filter.html">ReleaseGroupFilter</a> *filter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_music_brainz.html#a9cef73753a828dc1bd8b24d7b9b4c2c4">ReleaseResultList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#a260cba6b0c688e6e7c65f4c19b5b5836">getReleases</a> (const <a class="el" href="class_music_brainz_1_1_release_filter.html">ReleaseFilter</a> *filter)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns releases matching given criteria.  <a href="#a260cba6b0c688e6e7c65f4c19b5b5836"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_music_brainz.html#a0fb23b78250a3a73f6ae3f57a6721813">TrackResultList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#a0c721d8bbede1db502ac7546315a5e8c">getTracks</a> (const <a class="el" href="class_music_brainz_1_1_track_filter.html">TrackFilter</a> *filter)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns tracks matching given criteria.  <a href="#a0c721d8bbede1db502ac7546315a5e8c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#abc474fb49ed504e34af24ea4e0e64eed">submitPuids</a> (const std::map&lt; std::string, std::string &gt; &amp;tracks2puids)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Submit track to PUID mappings.  <a href="#abc474fb49ed504e34af24ea4e0e64eed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#a8b9c0e11ab7afa5936bc2e8e4656fa95">submitIsrcs</a> (const std::map&lt; std::string, std::string &gt; &amp;tracks2isrcs)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Submit track to ISRC mappings.  <a href="#a8b9c0e11ab7afa5936bc2e8e4656fa95"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_music_brainz_1_1_metadata.html">Metadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_query.html#a5722fa8ab9c7505bfe0f64ac64f561f3">getFromWebService</a> (const std::string &amp;entity, const std::string &amp;id, const <a class="el" href="class_music_brainz_1_1_i_includes.html">IIncludes</a> *include=NULL, const <a class="el" href="class_music_brainz_1_1_i_filter.html">IFilter</a> *filter=NULL)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A simple interface to the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> web service. </p>
<p>This is a facade which provides a simple interface to the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> web service. It hides all the details like fetching data from a server, parsing the XML and creating an object tree. Using this class, you can request data by ID or search the <em>collection</em> of all resources (artists, releases, or tracks) to retrieve those matching given criteria.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Add examples here. </dd></dl>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ae6ffe9e396ea5f50d8fb945d9a7aa754"></a><!-- doxytag: member="MusicBrainz::Query::Query" ref="ae6ffe9e396ea5f50d8fb945d9a7aa754" args="(IWebService *ws=NULL, const std::string &amp;clientId=std::string())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MusicBrainz::Query::Query </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_music_brainz_1_1_i_web_service.html">IWebService</a> *&nbsp;</td>
          <td class="paramname"> <em>ws</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>clientId</em> = <code>std::string()</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>
<p>The <em>ws</em> parameter has to be a subclass of <a class="el" href="class_music_brainz_1_1_i_web_service.html" title="An interface all concrete web service classes have to implement.">IWebService</a>. If it isn't given, the default <a class="el" href="class_music_brainz_1_1_web_service.html" title="An interface to the MusicBrainz XML web service via HTTP.">WebService</a> class is used to create an <a class="el" href="class_music_brainz_1_1_i_web_service.html" title="An interface all concrete web service classes have to implement.">IWebService</a> instance.</p>
<p>If the constructor is called without arguments, an instance of <a class="el" href="class_music_brainz_1_1_web_service.html" title="An interface to the MusicBrainz XML web service via HTTP.">WebService</a> is used, preconfigured to use the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> server. This should be enough for most users.</p>
<p>If you want to use queries which require authentication you have to pass a <a class="el" href="class_music_brainz_1_1_web_service.html" title="An interface to the MusicBrainz XML web service via HTTP.">WebService</a> instance where user name and password have been set.</p>
<p>The <em>clientId</em> parameter is required for data submission. The format is <code>"application-version"</code>, where <code>application</code> is your application's name and <code>version</code> is a version number which may not contain a '-' character.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ws</em>&nbsp;</td><td>a pointer to subclass instance of <a class="el" href="class_music_brainz_1_1_i_web_service.html" title="An interface all concrete web service classes have to implement.">IWebService</a>, or <code>NULL</code> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>clientId</em>&nbsp;</td><td>a string containing the application's ID </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6095d3b7298188617a3bc1c030e0bd3e"></a><!-- doxytag: member="MusicBrainz::Query::~Query" ref="a6095d3b7298188617a3bc1c030e0bd3e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual MusicBrainz::Query::~Query </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="add6186f95a33af2dc00b5ec287f6d9f4"></a><!-- doxytag: member="MusicBrainz::Query::getArtistById" ref="add6186f95a33af2dc00b5ec287f6d9f4" args="(const std::string &amp;id, const ArtistIncludes *include=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_music_brainz_1_1_artist.html">Artist</a>* MusicBrainz::Query::getArtistById </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_artist_includes.html">ArtistIncludes</a> *&nbsp;</td>
          <td class="paramname"> <em>include</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns an artist. </p>
<p>If no artist with that ID can be found, <em>include</em> contains invalid tags or there's a server problem, an exception is raised.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a string containing the artist's ID </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>include</em>&nbsp;</td><td>an <a class="el" href="class_music_brainz_1_1_artist_includes.html" title="A specification on how much data to return with a artist.">ArtistIncludes</a> instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to <a class="el" href="class_music_brainz_1_1_artist.html" title="Represents an artist.">Artist</a> instance, or <code>NULL</code> </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If the returned pointer is not <code>NULL</code>, the caller takes responsibility for deleting it when it is no longer needed.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></em>&nbsp;</td><td>couldn't connect to server </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></em>&nbsp;</td><td>invalid ID or include tags </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_resource_not_found_error.html" title="No resource with the given ID exists.">ResourceNotFoundError</a></em>&nbsp;</td><td>artist doesn't exist </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_response_error.html" title="The returned resource was invalid.">ResponseError</a></em>&nbsp;</td><td>server returned invalid data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a755e52e3a142094c9a3f00644dcf7ee4"></a><!-- doxytag: member="MusicBrainz::Query::getArtists" ref="a755e52e3a142094c9a3f00644dcf7ee4" args="(const ArtistFilter *filter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespace_music_brainz.html#abe8403b69433a512ead71f9bc48d533b">ArtistResultList</a> MusicBrainz::Query::getArtists </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_artist_filter.html">ArtistFilter</a> *&nbsp;</td>
          <td class="paramname"> <em>filter</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns artists matching given criteria. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filter,:</em>&nbsp;</td><td>a pointer to <a class="el" href="class_music_brainz_1_1_artist_filter.html" title="A filter for the artist collection.">ArtistFilter</a> object</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a vector of pointers to <a class="el" href="class_music_brainz_1_1_artist_result.html" title="Represents an artist result.">ArtistResult</a> objects</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The caller is responsible for deleting all returned <a class="el" href="class_music_brainz_1_1_artist_result.html" title="Represents an artist result.">ArtistResult</a> objects.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></em>&nbsp;</td><td>couldn't connect to server </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></em>&nbsp;</td><td>invalid ID or include tags </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_response_error.html" title="The returned resource was invalid.">ResponseError</a></em>&nbsp;</td><td>server returned invalid data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5722fa8ab9c7505bfe0f64ac64f561f3"></a><!-- doxytag: member="MusicBrainz::Query::getFromWebService" ref="a5722fa8ab9c7505bfe0f64ac64f561f3" args="(const std::string &amp;entity, const std::string &amp;id, const IIncludes *include=NULL, const IFilter *filter=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_music_brainz_1_1_metadata.html">Metadata</a>* MusicBrainz::Query::getFromWebService </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>entity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_i_includes.html">IIncludes</a> *&nbsp;</td>
          <td class="paramname"> <em>include</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_i_filter.html">IFilter</a> *&nbsp;</td>
          <td class="paramname"> <em>filter</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae6ccd87f1e55f19ee1c2bd5738e8ec73"></a><!-- doxytag: member="MusicBrainz::Query::getLabelById" ref="ae6ccd87f1e55f19ee1c2bd5738e8ec73" args="(const std::string &amp;id, const LabelIncludes *include=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_music_brainz_1_1_label.html">Label</a>* MusicBrainz::Query::getLabelById </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_label_includes.html">LabelIncludes</a> *&nbsp;</td>
          <td class="paramname"> <em>include</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae89c7cf9c09b4cf44b95a38762bbf5bb"></a><!-- doxytag: member="MusicBrainz::Query::getLabels" ref="ae89c7cf9c09b4cf44b95a38762bbf5bb" args="(const LabelFilter *filter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespace_music_brainz.html#a5205ef9232e98db46647a60458e928e3">LabelResultList</a> MusicBrainz::Query::getLabels </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_label_filter.html">LabelFilter</a> *&nbsp;</td>
          <td class="paramname"> <em>filter</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae17881e60db277484fead362a673d591"></a><!-- doxytag: member="MusicBrainz::Query::getReleaseById" ref="ae17881e60db277484fead362a673d591" args="(const std::string &amp;id, const ReleaseIncludes *include=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_music_brainz_1_1_release.html">Release</a>* MusicBrainz::Query::getReleaseById </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_release_includes.html">ReleaseIncludes</a> *&nbsp;</td>
          <td class="paramname"> <em>include</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a release. </p>
<p>If no release with that ID can be found, <em>include</em> contains invalid tags or there's a server problem, and exception is raised.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a string containing the release's ID </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>include</em>&nbsp;</td><td>an <a class="el" href="class_music_brainz_1_1_release_includes.html" title="A specification on how much data to return with a release.">ReleaseIncludes</a> instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to <a class="el" href="class_music_brainz_1_1_release.html" title="Represents a Release.">Release</a> instance, or <code>NULL</code> </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If the returned pointer is not <code>NULL</code>, the caller takes responsibility for deleting it when it is no longer needed.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></em>&nbsp;</td><td>couldn't connect to server </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></em>&nbsp;</td><td>invalid ID or include tags </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_resource_not_found_error.html" title="No resource with the given ID exists.">ResourceNotFoundError</a></em>&nbsp;</td><td>artist doesn't exist </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_response_error.html" title="The returned resource was invalid.">ResponseError</a></em>&nbsp;</td><td>server returned invalid data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad73d79ed8b70f8a9dbc9e4b35bd364d8"></a><!-- doxytag: member="MusicBrainz::Query::getReleaseGroupById" ref="ad73d79ed8b70f8a9dbc9e4b35bd364d8" args="(const std::string &amp;id, const ReleaseGroupIncludes *include=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_music_brainz_1_1_release_group.html">ReleaseGroup</a>* MusicBrainz::Query::getReleaseGroupById </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_release_group_includes.html">ReleaseGroupIncludes</a> *&nbsp;</td>
          <td class="paramname"> <em>include</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af885cddfefddcdeb70139de065c403d6"></a><!-- doxytag: member="MusicBrainz::Query::getReleaseGroups" ref="af885cddfefddcdeb70139de065c403d6" args="(const ReleaseGroupFilter *filter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespace_music_brainz.html#ab5d3760a323aeccce698d2b2bef0f863">ReleaseGroupResultList</a> MusicBrainz::Query::getReleaseGroups </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_release_group_filter.html">ReleaseGroupFilter</a> *&nbsp;</td>
          <td class="paramname"> <em>filter</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a260cba6b0c688e6e7c65f4c19b5b5836"></a><!-- doxytag: member="MusicBrainz::Query::getReleases" ref="a260cba6b0c688e6e7c65f4c19b5b5836" args="(const ReleaseFilter *filter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespace_music_brainz.html#a9cef73753a828dc1bd8b24d7b9b4c2c4">ReleaseResultList</a> MusicBrainz::Query::getReleases </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_release_filter.html">ReleaseFilter</a> *&nbsp;</td>
          <td class="paramname"> <em>filter</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns releases matching given criteria. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filter</em>&nbsp;</td><td>a pointer to <a class="el" href="class_music_brainz_1_1_release_filter.html" title="A filter for the release collection.">ReleaseFilter</a> object</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a vector of pointers to <a class="el" href="class_music_brainz_1_1_release_result.html" title="Represents an release result.">ReleaseResult</a> objects</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The caller is responsible for deleting all returned <a class="el" href="class_music_brainz_1_1_release_result.html" title="Represents an release result.">ReleaseResult</a> objects.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></em>&nbsp;</td><td>couldn't connect to server </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></em>&nbsp;</td><td>invalid ID or include tags </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_response_error.html" title="The returned resource was invalid.">ResponseError</a></em>&nbsp;</td><td>server returned invalid data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a987d5ff11d78e2b48ae85ce299a6ad73"></a><!-- doxytag: member="MusicBrainz::Query::getTrackById" ref="a987d5ff11d78e2b48ae85ce299a6ad73" args="(const std::string &amp;id, const TrackIncludes *include=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_music_brainz_1_1_track.html">Track</a>* MusicBrainz::Query::getTrackById </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_track_includes.html">TrackIncludes</a> *&nbsp;</td>
          <td class="paramname"> <em>include</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a track. </p>
<p>If no track with that ID can be found, <em>include</em> contains invalid tags or there's a server problem, and exception is raised.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a string containing the track's ID </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>include</em>&nbsp;</td><td>an <a class="el" href="class_music_brainz_1_1_track_includes.html" title="A specification on how much data to return with a track.">TrackIncludes</a> instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to <a class="el" href="class_music_brainz_1_1_track.html" title="Represents a track.">Track</a> instance, or <code>NULL</code> </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If the returned pointer is not <code>NULL</code>, the caller takes responsibility for deleting it when it is no longer needed.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></em>&nbsp;</td><td>couldn't connect to server </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></em>&nbsp;</td><td>invalid ID or include tags </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_resource_not_found_error.html" title="No resource with the given ID exists.">ResourceNotFoundError</a></em>&nbsp;</td><td>artist doesn't exist </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_response_error.html" title="The returned resource was invalid.">ResponseError</a></em>&nbsp;</td><td>server returned invalid data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0c721d8bbede1db502ac7546315a5e8c"></a><!-- doxytag: member="MusicBrainz::Query::getTracks" ref="a0c721d8bbede1db502ac7546315a5e8c" args="(const TrackFilter *filter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespace_music_brainz.html#a0fb23b78250a3a73f6ae3f57a6721813">TrackResultList</a> MusicBrainz::Query::getTracks </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_track_filter.html">TrackFilter</a> *&nbsp;</td>
          <td class="paramname"> <em>filter</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns tracks matching given criteria. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filter</em>&nbsp;</td><td>a pointer to <a class="el" href="class_music_brainz_1_1_track_filter.html" title="A filter for the track collection.">TrackFilter</a> object</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a vector of pointers to <a class="el" href="class_music_brainz_1_1_track_result.html" title="Represents an track result.">TrackResult</a> objects</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>The caller is responsible for deleting all returned <a class="el" href="class_music_brainz_1_1_track_result.html" title="Represents an track result.">TrackResult</a> objects.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></em>&nbsp;</td><td>couldn't connect to server </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></em>&nbsp;</td><td>invalid ID or include tags </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_response_error.html" title="The returned resource was invalid.">ResponseError</a></em>&nbsp;</td><td>server returned invalid data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a97bc29cc28c772dc5efb079d7b89da85"></a><!-- doxytag: member="MusicBrainz::Query::getUserByName" ref="a97bc29cc28c772dc5efb079d7b89da85" args="(const std::string &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_music_brainz_1_1_user.html">User</a>* MusicBrainz::Query::getUserByName </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns information about a <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user. </p>
<p>You can only request user data if you know the user name and password for that account. If username and/or password are incorrect, an <a class="el" href="class_music_brainz_1_1_authentication_error.html" title="Authentication failed.">AuthenticationError</a> is raised.</p>
<p>See the example in <a class="el" href="class_music_brainz_1_1_query.html" title="A simple interface to the MusicBrainz web service.">Query</a> on how to supply user name and password.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>a string containing the user's name</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to <a class="el" href="class_music_brainz_1_1_user.html" title="Represents a MusicBrainz user.">User</a> instance, or <code>NULL</code> </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>If the returned pointer is not <code>NULL</code>, the caller takes responsibility for deleting it when it is no longer needed.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></em>&nbsp;</td><td>couldn't connect to server </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></em>&nbsp;</td><td>invalid ID or include tags </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_resource_not_found_error.html" title="No resource with the given ID exists.">ResourceNotFoundError</a></em>&nbsp;</td><td>artist doesn't exist </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_response_error.html" title="The returned resource was invalid.">ResponseError</a></em>&nbsp;</td><td>server returned invalid data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8b9c0e11ab7afa5936bc2e8e4656fa95"></a><!-- doxytag: member="MusicBrainz::Query::submitIsrcs" ref="a8b9c0e11ab7afa5936bc2e8e4656fa95" args="(const std::map&lt; std::string, std::string &gt; &amp;tracks2isrcs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MusicBrainz::Query::submitIsrcs </td>
          <td>(</td>
          <td class="paramtype">const std::map&lt; std::string, std::string &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>tracks2isrcs</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Submit track to ISRC mappings. </p>
<p>The <em>tracks2isrcs</em> parameter has to be a map, with the keys being <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> track IDs (either as absolute URIs or in their 36 character ASCII representation) and the values being ISRCs (ASCII, 12 characters).</p>
<p>Note that this method only works if a valid user name and password have been set. See the example in <a class="el" href="class_music_brainz_1_1_query.html" title="A simple interface to the MusicBrainz web service.">Query</a> on how to supply authentication data.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tracks2isrcs</em>&nbsp;</td><td>a map mapping track IDs to PUIDs</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></em>&nbsp;</td><td>couldn't connect to server </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></em>&nbsp;</td><td>invalid tracks or ISRCss </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_authentication_error.html" title="Authentication failed.">AuthenticationError</a></em>&nbsp;</td><td>invalid user name and/or password </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abc474fb49ed504e34af24ea4e0e64eed"></a><!-- doxytag: member="MusicBrainz::Query::submitPuids" ref="abc474fb49ed504e34af24ea4e0e64eed" args="(const std::map&lt; std::string, std::string &gt; &amp;tracks2puids)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MusicBrainz::Query::submitPuids </td>
          <td>(</td>
          <td class="paramtype">const std::map&lt; std::string, std::string &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>tracks2puids</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Submit track to PUID mappings. </p>
<p>The <em>tracks2puids</em> parameter has to be a map, with the keys being <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> track IDs (either as absolute URIs or in their 36 character ASCII representation) and the values being PUIDs (ASCII, 36 characters).</p>
<p>Note that this method only works if a valid user name and password have been set. See the example in <a class="el" href="class_music_brainz_1_1_query.html" title="A simple interface to the MusicBrainz web service.">Query</a> on how to supply authentication data.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tracks2puids</em>&nbsp;</td><td>a map mapping track IDs to PUIDs</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></em>&nbsp;</td><td>couldn't connect to server </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></em>&nbsp;</td><td>invalid track- or PUIDs </td></tr>
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="class_music_brainz_1_1_authentication_error.html" title="Authentication failed.">AuthenticationError</a></em>&nbsp;</td><td>invalid user name and/or password </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>