//Author: Max Howell , (C) 2003-4 //Copyright: See COPYING file that comes with this distribution #ifndef SCAN_H #define SCAN_H #include #include class QThread; class Directory; template class Chain; namespace Filelight { class ScanManager : public QObject { Q_OBJECT friend class LocalLister; friend class RemoteLister; public: ScanManager( QObject *parent ); virtual ~ScanManager(); bool start( const KURL& ); bool running() const; static uint files() { return s_files; } public slots: bool abort(); void emptyCache(); signals: void completed( Directory* ); void aboutToEmptyCache(); private: static bool s_abort; static uint s_files; KURL m_url; QThread *m_thread; Chain *m_cache; virtual void customEvent( QCustomEvent* ); }; } #endif