defuze.me  Client
queuetrack.hpp
00001 /**************************************************************************
00002 ** defuze.me Epitech Innovative Project
00003 **
00004 ** Copyright 2010-2011
00005 **   Athena Calmettes - Jocelyn De La Rosa - Francois Gaillard
00006 **   Adrien Jarthon - Alexandre Moore - Luc Peres - Arnaud Sellier
00007 **
00008 ** All rights reserved.
00009 **************************************************************************/
00010 
00011 namespace Queue {
00012     class QueueTrack;
00013 }
00014 
00015 #ifndef QUEUETRACK_HPP
00016 #define QUEUETRACK_HPP
00017 
00018 #include <QVariantMap>
00019 #include "queueable.hpp"
00020 #include "library/audiotrack.hpp"
00021 
00022 namespace Queue {
00023 
00029     class QueueTrack : public Queueable
00030     {
00031         Q_OBJECT
00032     public:
00033         QueueTrack(Library::AudioTrack& track);
00034         ~QueueTrack();
00035         Library::AudioTrack*    getTrack() const;
00036         Library::AudioTrack*    getTrack();
00037         int                     queueDuration(QDateTime from) const;        
00038         QVariantMap             getContent(bool forWeb = false) const;      
00039         QString                 queueType() const;
00040         int                     queueId() const;
00041         Queueable*              clone() const;
00042 
00043     signals:
00044 
00045     private:
00046         Library::AudioTrack     &track;
00047     };
00048 }
00049 #endif // QUEUETRACK_HPP