Artist.h   Artist.h 
skipping to change at line 36 skipping to change at line 36
#include <QExplicitlySharedDataPointer> #include <QExplicitlySharedDataPointer>
class QNetworkReply; class QNetworkReply;
namespace lastfm namespace lastfm
{ {
class LASTFM_DLLEXPORT Artist : public AbstractType class LASTFM_DLLEXPORT Artist : public AbstractType
{ {
private: private:
QExplicitlySharedDataPointer<class ArtistData> d; QExplicitlySharedDataPointer<class ArtistData> d;
QString parseBiography( QString bio ) const;
public: public:
Artist(); Artist();
~Artist(); ~Artist();
Artist( const QString& name ); Artist( const QString& name );
Artist( const class XmlQuery& xml ); Artist( const class XmlQuery& xml );
Artist( const Artist& artist ); Artist( const Artist& artist );
/** will be QUrl() unless you got this back from a getInfo or somet hing call */ /** will be QUrl() unless you got this back from a getInfo or somet hing call */
QUrl imageUrl( ImageSize size = LargeImage, bool square = false ) c onst; QUrl imageUrl( ImageSize size = LargeImage, bool square = false ) c onst;
skipping to change at line 65 skipping to change at line 66
bool operator!=( const Artist& that ) const; bool operator!=( const Artist& that ) const;
bool operator<( const Artist& that ) const; bool operator<( const Artist& that ) const;
operator QString() const; operator QString() const;
QString toString() const; QString toString() const;
QString name() const; QString name() const;
void setName( const QString& name ); void setName( const QString& name );
QString biographySummary() const;
QString biography() const;
QDomElement toDomElement( QDomDocument& ) const; QDomElement toDomElement( QDomDocument& ) const;
QNetworkReply* share( const QStringList& recipients, const QString& message = "", bool isPublic = true ) const; QNetworkReply* share( const QStringList& recipients, const QString& message = "", bool isPublic = true ) const;
QNetworkReply* getEvents(int limit = 0) const; QNetworkReply* getEvents(int limit = 0) const;
QNetworkReply* getInfo( const QString& username = "" ) const; QNetworkReply* getInfo( const QString& username = "" ) const;
static Artist getInfo( QNetworkReply* ); static Artist getInfo( QNetworkReply* );
QNetworkReply* getSimilar( int limit = -1 ) const; QNetworkReply* getSimilar( int limit = -1 ) const;
/** The match percentage is returned from last.fm as a 4 significan t /** The match percentage is returned from last.fm as a 4 significan t
 End of changes. 2 change blocks. 
0 lines changed or deleted 4 lines changed or added


 Auth.h   Auth.h 
skipping to change at line 21 skipping to change at line 21
liblastfm is distributed in the hope that it will be useful, liblastfm is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with liblastfm. If not, see <http://www.gnu.org/licenses/>. along with liblastfm. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef LASTFM_AUTH_H #pragma once
#define LASTFM_AUTH_H
#include "global.h" #include "global.h"
class QNetworkReply; class QNetworkReply;
namespace lastfm namespace lastfm
{ {
class LASTFM_DLLEXPORT Auth class LASTFM_DLLEXPORT Auth
{ {
private: private:
Auth(); Auth();
public: public:
static QNetworkReply* getSessionInfo(); static QNetworkReply* getSessionInfo();
static QNetworkReply* getMobileSession( const QString& username, co nst QString& password );
}; };
} }
#endif // TASTEOMETER_H
 End of changes. 3 change blocks. 
2 lines changed or deleted 2 lines changed or added


 NetworkAccessManager.h   NetworkAccessManager.h 
skipping to change at line 37 skipping to change at line 37
class QNetworkReply; class QNetworkReply;
namespace lastfm { namespace lastfm {
/** Sets useragent and proxy. Auto detecting the proxy where possible. */ /** Sets useragent and proxy. Auto detecting the proxy where possible. */
class LASTFM_DLLEXPORT NetworkAccessManager : public QNetworkAccessManager class LASTFM_DLLEXPORT NetworkAccessManager : public QNetworkAccessManager
{ {
Q_OBJECT Q_OBJECT
#ifdef Q_WS_WIN
class Pac *m_pac;
class InternetConnectionMonitor* m_monitor;
#endif
public: public:
NetworkAccessManager( QObject *parent = 0 ); NetworkAccessManager( QObject *parent = 0 );
~NetworkAccessManager(); ~NetworkAccessManager();
void setUserProxy( const QNetworkProxy& proxy );
/** PAC allows different proxy configurations depending on the request /** PAC allows different proxy configurations depending on the request
* URL and even UserAgent! Thus we allow you to pass that in, we * URL and even UserAgent! Thus we allow you to pass that in, we
* automatically configure the proxy for every request through * automatically configure the proxy for every request through
* WsAccessManager */ * WsAccessManager */
QNetworkProxy proxy( const QNetworkRequest& = QNetworkRequest() ); QNetworkProxy proxy( const QNetworkRequest& = QNetworkRequest() );
protected: protected:
virtual QNetworkReply* createRequest( Operation, const QNetworkRequest& , QIODevice* outgoingdata = 0 ); virtual QNetworkReply* createRequest( Operation, const QNetworkRequest& , QIODevice* outgoingdata = 0 );
private slots: private slots:
void onConnectivityChanged( bool ); void onConnectivityChanged( bool );
private: private:
/** this function calls QNetworkAccessManager::setProxy, and thus /** this function calls QNetworkAccessManager::setProxy, and thus
* configures the proxy correctly for the next request created by * configures the proxy correctly for the next request created by
* createRequest. This is necessary due */ * createRequest. This is necessary due */
void applyProxy( const QNetworkRequest& ); void applyProxy( const QNetworkRequest& );
private:
#ifdef Q_WS_WIN
class Pac *m_pac;
class InternetConnectionMonitor* m_monitor;
#endif
QNetworkProxy m_userProxy;
}; };
} //namespace lastfm } //namespace lastfm
#endif #endif
 End of changes. 3 change blocks. 
5 lines changed or deleted 9 lines changed or added


 RadioTuner.h   RadioTuner.h 
skipping to change at line 49 skipping to change at line 49
public: public:
/** You need to have assigned Ws::* for this to work, creating the tuner /** You need to have assigned Ws::* for this to work, creating the tuner
* automatically fetches the first 5 tracks for the station */ * automatically fetches the first 5 tracks for the station */
explicit RadioTuner( const RadioStation& ); explicit RadioTuner( const RadioStation& );
~RadioTuner(); ~RadioTuner();
Track takeNextTrack(); Track takeNextTrack();
void retune( const RadioStation& ); void retune( const RadioStation& );
void queueTrack( lastfm::Track& track );
signals: signals:
void title( const QString& ); void title( const QString& );
void supportsDisco( bool supportsDisco ); void supportsDisco( bool supportsDisco );
void trackAvailable(); void trackAvailable();
void error( lastfm::ws::Error, const QString& message ); void error( lastfm::ws::Error, const QString& message );
private slots: private slots:
void onTuneReturn(); void onTuneReturn();
void onGetPlaylistReturn(); void onGetPlaylistReturn();
void onXspfExpired();
private: private:
class RadioTunerPrivate * const d; class RadioTunerPrivate * const d;
}; };
} }
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 Track.h   Track.h 
skipping to change at line 111 skipping to change at line 111
}; };
enum ScrobbleError enum ScrobbleError
{ {
None = 0, None = 0,
FilteredArtistName = 113, FilteredArtistName = 113,
FilteredTrackName = 114, FilteredTrackName = 114,
FilteredAlbumName = 115, FilteredAlbumName = 115,
FilteredTimestamp = 116, FilteredTimestamp = 116,
ExceededMaxDailyScrobbles = 118, ExceededMaxDailyScrobbles = 118,
InvalidStreamAuth = 119 InvalidStreamAuth = 119,
Invalid = 300
}; };
Track(); Track();
explicit Track( const QDomElement& ); explicit Track( const QDomElement& );
Track( const Track& that ); Track( const Track& that );
~Track(); ~Track();
/** this track and that track point to the same object, so they are the same /** this track and that track point to the same object, so they are the same
* in fact. This doesn't do a deep data comparison. So even if all the * in fact. This doesn't do a deep data comparison. So even if all the
* fields are the same it will return false if they aren't in fact spa wned * fields are the same it will return false if they aren't in fact spa wned
skipping to change at line 213 skipping to change at line 214
QNetworkReply* getTags() const; // for the logged in user QNetworkReply* getTags() const; // for the logged in user
QNetworkReply* getTopTags() const; QNetworkReply* getTopTags() const;
QNetworkReply* getTopFans() const; QNetworkReply* getTopFans() const;
/** method should be a method name of reciever that takes a QByteArray /** method should be a method name of reciever that takes a QByteArray
If that fails it will try invoking method with no arguments. If that fails it will try invoking method with no arguments.
*/ */
void getInfo( QObject* receiver, const char * method, const QString& us ername = "" ) const; void getInfo( QObject* receiver, const char * method, const QString& us ername = "" ) const;
QNetworkReply* getBuyLinks( const QString& country ) const; QNetworkReply* getBuyLinks( const QString& country ) const;
static QNetworkReply* playlinks( const QList<Track>& tracks );
/** you can only add 10 tags, we submit everything you give us, but the /** you can only add 10 tags, we submit everything you give us, but the
* docs state 10 only. Will return 0 if the list is empty. */ * docs state 10 only. Will return 0 if the list is empty. */
QNetworkReply* addTags( const QStringList& ) const; QNetworkReply* addTags( const QStringList& ) const;
/** will return 0 if the string is "" */ /** will return 0 if the string is "" */
QNetworkReply* removeTag( const QString& ) const; QNetworkReply* removeTag( const QString& ) const;
/** scrobble the track */ /** scrobble the track */
QNetworkReply* updateNowPlaying() const; QNetworkReply* updateNowPlaying() const;
QNetworkReply* updateNowPlaying( int duration ) const; QNetworkReply* updateNowPlaying( int duration ) const;
QNetworkReply* removeNowPlaying() const; QNetworkReply* removeNowPlaying() const;
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 Xspf.h   Xspf.h 
skipping to change at line 41 skipping to change at line 41
public: public:
/** pass in the playlist node! */ /** pass in the playlist node! */
Xspf( const QDomElement& playlist_node, QObject* parent ); Xspf( const QDomElement& playlist_node, QObject* parent );
~Xspf(); ~Xspf();
QString title() const; QString title() const;
bool isEmpty() const; bool isEmpty() const;
Track takeFirst(); Track takeFirst();
signals: QList<Track> tracks() const;
void expired();
private slots:
void onExpired();
private: private:
class XspfPrivate * const d; class XspfPrivate * const d;
}; };
} }
#endif #endif
 End of changes. 1 change blocks. 
5 lines changed or deleted 1 lines changed or added


 global.h   global.h 
skipping to change at line 24 skipping to change at line 24
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with liblastfm. If not, see <http://www.gnu.org/licenses/>. along with liblastfm. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef LASTFM_GLOBAL_H #ifndef LASTFM_GLOBAL_H
#define LASTFM_GLOBAL_H #define LASTFM_GLOBAL_H
#define LASTFM_VERSION 0x00010002 #define LASTFM_VERSION 0x00010004
#define LASTFM_VERSION_STRING "1.0.2" #define LASTFM_VERSION_STRING "1.0.4"
#define LASTFM_MAJOR_VERSION 1 #define LASTFM_MAJOR_VERSION 1
#define LASTFM_MINOR_VERSION 0 #define LASTFM_MINOR_VERSION 0
#define LASTFM_PATCH_VERSION 2 #define LASTFM_PATCH_VERSION 4
#ifndef LASTFM_LIB_STATIC #ifndef LASTFM_LIB_STATIC
#ifdef LASTFM_LIB #ifdef LASTFM_LIB
#define LASTFM_DLLEXPORT Q_DECL_EXPORT #define LASTFM_DLLEXPORT Q_DECL_EXPORT
#else #else
#define LASTFM_DLLEXPORT Q_DECL_IMPORT #define LASTFM_DLLEXPORT Q_DECL_IMPORT
#endif #endif
#ifdef LASTFM_FINGERPRINT_LIB #ifdef LASTFM_FINGERPRINT_LIB
#define LASTFM_FINGERPRINT_DLLEXPORT Q_DECL_EXPORT #define LASTFM_FINGERPRINT_DLLEXPORT Q_DECL_EXPORT
#else #else
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/