libmusicbrainz3
3.0.3
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
query.h
Go to the documentation of this file.
1
/*
2
* MusicBrainz -- The Internet music metadatabase
3
*
4
* Copyright (C) 2006 Lukas Lalinsky
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with this library; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*
20
*/
21
22
#ifndef __MUSICBRAINZ3_QUERY_H__
23
#define __MUSICBRAINZ3_QUERY_H__
24
25
#include <map>
26
#include <string>
27
#include <
musicbrainz3/webservice.h
>
28
#include <
musicbrainz3/metadata.h
>
29
#include <
musicbrainz3/model.h
>
30
31
namespace
MusicBrainz
32
{
33
47
class
MB_API
Query
48
{
49
public
:
50
74
Query
(
IWebService
*ws = NULL,
const
std::string &clientId = std::string());
75
79
virtual
~
Query
();
80
102
Artist
*getArtistById(
const
std::string &
id
,
103
const
ArtistIncludes
*include = NULL);
104
105
Label
*getLabelById(
const
std::string &
id
,
106
const
LabelIncludes
*include = NULL);
107
108
ReleaseGroup
*getReleaseGroupById(
const
std::string &
id
,
109
const
ReleaseGroupIncludes
*include = NULL);
110
132
Release
*getReleaseById(
const
std::string &
id
,
133
const
ReleaseIncludes
*include = NULL);
134
156
Track
*getTrackById(
const
std::string &
id
,
157
const
TrackIncludes
*include = NULL);
158
182
User
*getUserByName(
const
std::string &name);
183
198
ArtistResultList
getArtists(
const
ArtistFilter
*filter);
199
200
LabelResultList
getLabels(
const
LabelFilter
*filter);
201
202
ReleaseGroupResultList
getReleaseGroups(
const
ReleaseGroupFilter
*filter);
203
218
ReleaseResultList
getReleases(
const
ReleaseFilter
*filter);
219
234
TrackResultList
getTracks(
const
TrackFilter
*filter);
235
254
void
submitPuids(
const
std::map<std::string, std::string> &tracks2puids);
255
274
void
submitIsrcs(
const
std::map<std::string, std::string> &tracks2isrcs);
275
276
protected
:
277
278
Metadata
*getFromWebService(
const
std::string &entity,
279
const
std::string &
id
,
280
const
IIncludes
*include = NULL,
281
const
IFilter
*filter = NULL);
282
283
private
:
284
285
class
QueryPrivate;
286
QueryPrivate *d;
287
};
288
289
}
290
291
#endif
include
musicbrainz3
query.h
Generated by
1.8.3.1