/usr/include/lastfm/User.h is in liblastfm-dev 1.0.8-2.
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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | /*
Copyright 2009-2010 Last.fm Ltd.
- Primarily authored by Max Howell, Jono Cole, Doug Mansell and Michael Coffey
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_USER_H
#define LASTFM_USER_H
#include <QStringList>
#include "AbstractType.h"
#include "ws.h"
namespace lastfm
{
class UserList;
class XmlQuery;
class Artist;
class LASTFM_DLLEXPORT Gender
{
public:
Gender();
Gender( const Gender& gender );
Gender( const QString& ss );
~Gender();
bool known() const;
bool male() const;
bool female() const;
QString toString() const;
lastfm::Gender& operator=( const lastfm::Gender& that );
private:
class GenderPrivate;
GenderPrivate * const d;
};
class LASTFM_DLLEXPORT User : public AbstractType
{
public:
enum Type
{
TypeUser,
TypeSubscriber,
TypeModerator,
TypeStaff,
TypeAlumni
};
public:
User();
User( const QString& name );
User( const XmlQuery& xml );
User( const User& user );
~User();
lastfm::User& operator=( const lastfm::User& that );
bool operator==(const lastfm::User& that) const;
bool operator<(const lastfm::User& that) const;
operator QString() const;
QString name() const;
void setName( const QString& name );
Type type() const;
void setType( Type type );
bool isSubscriber() const;
void setIsSubscriber( bool subscriber );
bool canBootstrap() const;
void setCanBootstrap( bool canBootstrap );
quint32 scrobbleCount() const;
void setScrobbleCount( quint32 scrobblesCount );
QDateTime dateRegistered() const;
void setDateRegistered( const QDateTime& date );
Gender gender() const;
QString country() const;
QString realName() const;
void setRealName( const QString& realName );
QUrl imageUrl( ImageSize size = LargeImage, bool square = false ) const;
void setImages( const QList<QUrl>& images );
unsigned short age() const;
void setAge( unsigned short age );
void setGender( const QString& s );
void setCountry( const QString& country );
/** use Tag::list() on the response to get a WeightedStringList */
QNetworkReply* getTopTags() const;
/** use User::list() on the response to get a UserList */
QNetworkReply* getFriends( bool recentTracks = false, int limit = 50, int page = 1 ) const;
QNetworkReply* getFriendsListeningNow( int limit = 50, int page = 1 ) const;
QNetworkReply* getFriendsThatListenTo( const lastfm::Artist& artist, int limit = 50, int page = 1 ) const;
QNetworkReply* getNeighbours( int limit = 50, int page = 1 ) const;
QNetworkReply* getLovedTracks( int limit = 50, int page = 1 ) const;
QNetworkReply* getPlaylists() const;
QNetworkReply* getTopArtists( QString period = "overall", int limit = 50, int page = 1 ) const;
QNetworkReply* getRecentTracks( int limit = 50, int page = 1 ) const;
QNetworkReply* getRecentArtists() const;
QNetworkReply* getRecentStations( int limit = 10, int page = 1 ) const;
QNetworkReply* getRecommendedArtists( int limit = 50, int page = 1 ) const;
/** you can only get information about the any user */
static QNetworkReply* getInfo( const QString& username = lastfm::ws::Username );
/** a verbose string, eg. "A man with 36,153 scrobbles" */
QString getInfoString() const;
static UserList list( QNetworkReply* );
QString toString() const;
QDomElement toDomElement( QDomDocument& ) const;
/** the user's profile page at www.last.fm */
QUrl www() const;
/** Returns the match between the logged in user and the user which this
* object represents (if < 0.0f then not set) */
float match() const;
protected:
QMap<QString, QString> params( const QString& method ) const;
protected:
class UserPrivate;
UserPrivate * const d;
};
class LASTFM_DLLEXPORT UserList
{
public:
UserList();
UserList( const XmlQuery& query );
UserList( const UserList& other );
~UserList();
UserList& operator=( const UserList& other );
int totalUsers();
int totalPages();
int currentPage();
int usersPerPage();
QList<User> users();
private:
class UserListPrivate * const d;
};
}
#endif
|