#ifndef CONTROLLER_H #define CONTROLLER_H #include "Movie.h" #include "UploadTask.h" #include "EncodeTask.h" #ifdef ENABLE_RIPPING #include "RipTask.h" #endif #include #include #include class Controller : public QObject { Q_OBJECT public: Controller(QObject *parent = 0); bool addMovie(Movie *movie); Movie* movieForTitle(const QString &title); Movie* addISO(const QString &fileName); bool removeMovie(Movie *movie); QLinkedList addRecursiveISOs(const QString &dirName); QLinkedList movies() const; #ifdef ENABLE_RIPPING RipTask* ripTask() const; #endif EncodeTask* encodeTask() const; UploadTask* uploadTask() const; private: QLinkedList m_movies; #ifdef ENABLE_RIPPING RipTask m_ripTask; #endif EncodeTask m_encodeTask; UploadTask m_uploadTask; void runTasks(Movie *movie); private slots: void runTasksIfTrue(bool runThem); public slots: void runTasks(); }; #endif // CONTROLLER_H