/usr/include/lastfm/Artist is in liblastfm-dev 0.4.0~really0.3.3-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | /*
Copyright 2009 Last.fm Ltd.
- Primarily authored by Max Howell, Jono Cole and Doug Mansell
This file is part of liblastfm.
liblastfm is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
liblastfm is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with liblastfm. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef LASTFM_ARTIST_H
#define LASTFM_ARTIST_H
#include <lastfm/global.h>
#include <QMap>
#include <QString>
#include <QUrl>
namespace lastfm
{
class LASTFM_DLLEXPORT Artist
{
QString m_name;
QList<QUrl> m_images;
public:
Artist()
{}
Artist( const QString& name ) : m_name( name )
{}
/** will be QUrl() unless you got this back from a getInfo or something call */
QUrl imageUrl( ImageSize size = Large ) const { return m_images.value( size ); }
bool isNull() const { return m_name.isEmpty(); }
/** the url for this artist's page at www.last.fm */
QUrl www() const;
bool operator==( const Artist& that ) const { return m_name == that.m_name; }
bool operator!=( const Artist& that ) const { return m_name != that.m_name; }
operator QString() const
{
/** if no artist name is set, return the musicbrainz unknown identifier
* in case some part of the GUI tries to display it anyway. Note isNull
* returns false still. So you should have queried that! */
return m_name.isEmpty() ? "[unknown]" : m_name;
}
QString name() const { return QString(*this); }
QNetworkReply* share( const class User& recipient, const QString& message = "" );
QNetworkReply* getInfo() const;
static Artist getInfo( QNetworkReply* );
QNetworkReply* getSimilar() const;
/** The match percentage is returned from last.fm as a 4 significant
* figure floating point value. So we multply it by 100 to make an
* integer in the range of 0 to 10,000. This is possible confusing
* for you, but I felt it best not to lose any precision, and floats
* aren't much fun. */
static QMap<int, QString> getSimilar( QNetworkReply* );
/** use Tag::list to get the tag list out of the finished reply */
QNetworkReply* getTags() const;
QNetworkReply* getTopTags() const;
/** Last.fm dictates that you may submit at most 10 of these */
QNetworkReply* addTags( const QStringList& ) const;
QNetworkReply* search( int limit = -1 ) const;
static QList<Artist> list( QNetworkReply* );
QMap<QString, QString> params( const QString& method ) const;
};
}
#endif
|