1 /* 2 Copyright 2010 Last.fm Ltd. 3 - Primarily authored by Micahel Coffey and Jono Cole 4 5 This file is part of liblastfm. 6 7 liblastfm is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 liblastfm is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with liblastfm. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 21 #ifndef LASTFM_ABSTRACTTYPE_H 22 #define LASTFM_ABSTRACTTYPE_H 23 24 #include <QDomElement> 25 #include <QUrl> 26 27 #include "global.h" 28 29 namespace lastfm 30 { 31 class LASTFM_DLLEXPORT AbstractType 32 { 33 public: 34 enum ImageSize 35 { 36 SmallImage, 37 MediumImage, 38 LargeImage, /** seemingly 174x174 */ 39 ExtraLargeImage, 40 MegaImage 41 }; 42 43 virtual QString toString() const = 0; 44 virtual QDomElement toDomElement( QDomDocument& ) const = 0; 45 virtual QUrl www() const = 0; 46 virtual QUrl imageUrl( ImageSize size, bool square ) const = 0; ~AbstractType()47 virtual ~AbstractType() {;} 48 }; 49 }; 50 51 #endif // LASTFM_ABSTRACTTYPE_H 52