#ifndef __PREPROCESSOR_THREAD_H #define __PREPROCESSOR_THREAD_H namespace GtpVisibilityPreprocessor { class Preprocessor; /** This class represents a preprocessor thread. */ class PreprocessorThread { public: PreprocessorThread(Preprocessor *p); virtual ~PreprocessorThread(); virtual void InitThread() = 0; virtual void RunThread() = 0; protected: virtual void Main() = 0; Preprocessor *mPreprocessor; }; /*class PreprocessorThreadFactory { PreprocessorThread *Create(const int threadType); }*/ } #endif