56 lines
1.1 KiB
C++
56 lines
1.1 KiB
C++
/*
|
|
* Copyright 2010, Haiku.
|
|
* Distributed under the terms of the MIT License.
|
|
*
|
|
* Authors:
|
|
* Clemens Zeidler <haiku@clemens-zeidler.de>
|
|
*/
|
|
#ifndef ANALYSER_DISPATCHER
|
|
#define ANALYSER_DISPATCHER
|
|
|
|
|
|
#include <Looper.h>
|
|
#include <String.h>
|
|
|
|
#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
|