Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/library/searchthread.h

Go to the documentation of this file.
00001 // searchthread.h
00002 // Created 10/22/2009 by RJ Ryan (rryan@mit.edu)
00003 
00004 #ifndef SEARCHTHREAD_H
00005 #define SEARCHTHREAD_H
00006 
00007 #include <QMutex>
00008 #include <QThread>
00009 #include <QQueue>
00010 #include <QPair>
00011 #include <QWaitCondition>
00012 #include <QString>
00013 
00014 class TrackModel;
00015 
00016 class SearchThread : public QThread {
00017     Q_OBJECT
00018   public:
00019     SearchThread(QObject* parent = NULL);
00020     virtual ~SearchThread();
00021     void enqueueSearch(TrackModel* model, QString search);
00022     void stop();
00023 
00024   protected:
00025     void run();
00026 
00027   private:
00028     QMutex m_mutex;
00029     QWaitCondition m_waitCondition;
00030     QWaitCondition m_stopWaitCondition;
00031     QQueue<QPair<TrackModel*, QString> > m_searchQueue;
00032     bool m_bQuit;
00033 };
00034 
00035 #endif /* SEARCHTHREAD_H */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines