• Main Page
  • Related Pages
  • Classes
  • Files
  • File List

/home/bifh7/cs2009q3-i386/work/libthumbnailer-0.1.18+0m6/src/include/mediaartinfo.h

00001 #ifndef __MEDIAARTINFO_H
00002 #define __MEDIAARTINFO_H
00003 
00004 #include <QMetaType>
00005 #include <QString>
00006 #include <QUrl>
00007 
00008 class QDebug;
00009 class QPixmap;
00010 
00011 namespace MediaArt {
00012 
00082 class Info {
00083         friend uint   qHash (MediaArt::Info const &mai);
00084         friend QDebug operator<< (QDebug dbg, const MediaArt::Info& mai);
00085 protected:
00087         QString _b;
00089         QString _c;
00091         QString _d;
00093         QString _type;
00095         QUrl    _path;
00096 protected:
00102         static QString md5 (const QString& src);
00103 
00112         static QString stripInvalidEntities (const QString& src);
00113 
00120         void updatePath ();
00121 public:
00123         static const QString Type;
00124 public:
00129         const QString& type () const;
00134         const QUrl&    potentialPath () const;
00140         bool exists() const;
00145         bool remove() const;
00154         Info( const QString& b    = QString(),
00155               const QString& c    = QString(),
00156               const QString& type = QString() );
00158         Info(const MediaArt::Info& src);
00160         ~Info();
00161 public:
00174         bool setMediaArtImage(const QUrl& source,    bool overwrite = false) const;
00175 
00188         bool setMediaArtImage(const QPixmap& source, bool overwrite = false) const;
00189 };
00190 
00196         class Album   : public MediaArt::Info {
00197         public:
00199                 static const QString Type;
00201                 Album (const QString& artist, const QString& album);
00203                 const QString& artist () const;
00205                 const QString& album () const;
00206         };
00207 
00215         class Artist  : public MediaArt::Info {
00216         public:
00218                 static const QString Type;
00220                 Artist (const QString& artist, const QString& album = QString());
00222                 const QString& artist () const;
00224                 const QString& album () const;
00225         };
00226 
00232         class Radio   : public MediaArt::Info {
00233         public:
00235                 static const QString Type;
00237                 Radio (const QString& radio);
00239                 const QString& radio () const;
00240         };
00241 
00247         class Podcast : public MediaArt::Info {
00248         public:
00250                 static const QString Type;
00252                 Podcast (const QString& podcast);
00254                 const QString& podcast () const;
00255         };
00256 
00262         class Track   : public MediaArt::Info {
00263         protected:
00264                 void updatePath();
00265         public:
00267                 static const QString Type;
00269                 Track (const QString& artist, const QString& album, const QString& track);
00271                 const QString& artist () const;
00273                 const QString& album () const;
00275                 const QString& track () const;
00276         };
00277 
00279 uint   qHash      (MediaArt::Info const &mai);
00281 QDebug operator<< (QDebug dbg, const MediaArt::Info& mai);
00283 bool   operator== (const MediaArt::Info &mai1, const MediaArt::Info &mai2);
00284 
00285 } // end of namespace
00286 
00287 Q_DECLARE_METATYPE(MediaArt::Info)
00288 
00289 #endif // __MEDIAARTINFO_H

Generated on Tue Jun 28 2011 11:52:35 for thumbnailer by  doxygen 1.7.1