#ifndef _FTP_FTPTHREAD_HPP_ #define _FTP_FTPTHREAD_HPP_ #ifndef _FTP_INTERPRETER_HPP_ #include #endif #ifndef _THREAD_MESSAGETHREAD_HPP_ #include #endif class EditMonitor; class FTPThread : private FTPInterpreter, public MessageThread { public: enum HandlerType{MsgInterpretLine,MsgInterpretFile}; enum CompletionCode{LineComplete,FileComplete}; FTPThread(void); virtual ~FTPThread(); WORD interpretLine(const String &lineString); WORD interpretFile(const String &pathFileName); void setDisplay(Monitor &displayWindow); void setCompletionHandler(PureCallback *lpCallback); private: FTPThread(const FTPThread &someFTPThread); FTPThread &operator=(const FTPThread &someFTPThread); DWORD threadHandler(ThreadMessage &someThreadMessage); void handleInterpretLine(String *pString); void handleInterpretFile(String *pString); ThreadCallback mThreadHandler; CallbackPointer mCompletionHandler; }; inline FTPThread &FTPThread::operator=(const FTPThread &/*someFTPThread*/) { // private implementation return *this; } inline void FTPThread::setCompletionHandler(PureCallback *lpCallback) { mCompletionHandler=CallbackPointer(lpCallback); } #endif