/* * Copyright 2010, Haiku. * Distributed under the terms of the MIT License. * * Authors: * Clemens Zeidler */ #ifndef ANALYSER_DISPATCHER #define ANALYSER_DISPATCHER #include #include #include "IndexServerAddOn.h" class FileAnalyser; class AnalyserDispatcher : public BLooper { public: AnalyserDispatcher(const char* name); ~AnalyserDispatcher(); void Stop(); bool Stopped(); bool Busy(); void AnalyseEntry(const entry_ref& ref); void DeleteEntry(const entry_ref& ref); void MoveEntry(const entry_ref& oldRef, const entry_ref& newRef); void LastEntry(); //! thread safe bool AddAnalyser(FileAnalyser* analyser); bool RemoveAnalyser(const BString& name); void WriteAnalyserSettings(); void SetSyncPosition(bigtime_t time); void SetWatchingStart(bigtime_t time); void SetWatchingPosition(bigtime_t time); protected: FileAnalyserList fFileAnalyserList; private: FileAnalyser* _FindAnalyser(const BString& name); int32 fStopped; }; #endif // ANALYSER_DISPATCHER