71 lines
1.9 KiB
C++
71 lines
1.9 KiB
C++
#include <ftp/ftpthrd.hpp>
|
|
|
|
FTPThread::FTPThread(void)
|
|
{
|
|
mThreadHandler.setCallback(this,&FTPThread::threadHandler);
|
|
insertHandler(&mThreadHandler);
|
|
}
|
|
|
|
FTPThread::FTPThread(const FTPThread &/*someFTPThread*/)
|
|
{ // private implementation
|
|
}
|
|
|
|
FTPThread::~FTPThread()
|
|
{
|
|
removeHandler(&mThreadHandler);
|
|
mCompletionHandler=CallbackPointer();
|
|
}
|
|
|
|
WORD FTPThread::interpretLine(const String &lineString)
|
|
{
|
|
String *pString=new String(lineString);
|
|
ThreadMessage interpretMessage(ThreadMessage::TM_USER,MsgInterpretLine,(LONG)pString);
|
|
return postMessage(interpretMessage);
|
|
}
|
|
|
|
WORD FTPThread::interpretFile(const String &pathFileName)
|
|
{
|
|
String *pString=new String(pathFileName);
|
|
ThreadMessage interpretMessage(ThreadMessage::TM_USER,MsgInterpretFile,(LONG)pString);
|
|
return postMessage(interpretMessage);
|
|
}
|
|
|
|
void FTPThread::setDisplay(Monitor<EditWindow> &editMonitor)
|
|
{
|
|
FTPInterpreter::setDisplay(editMonitor);
|
|
}
|
|
|
|
DWORD FTPThread::threadHandler(ThreadMessage &someThreadMessage)
|
|
{
|
|
switch(someThreadMessage.message())
|
|
{
|
|
case ThreadMessage::TM_CREATE :
|
|
break;
|
|
case ThreadMessage::TM_DESTROY :
|
|
break;
|
|
case ThreadMessage::TM_USER :
|
|
if(MsgInterpretLine==someThreadMessage.userDataOne())handleInterpretLine((String*)someThreadMessage.userDataTwo());
|
|
else if(MsgInterpretFile==someThreadMessage.userDataOne())handleInterpretFile((String*)someThreadMessage.userDataTwo());
|
|
break;
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
void FTPThread::handleInterpretLine(String *pInterpretLine)
|
|
{
|
|
CallbackData completionData(0,(int)LineComplete);
|
|
String interpretLine(*pInterpretLine);
|
|
delete pInterpretLine;
|
|
FTPInterpreter::interpretLine(interpretLine);
|
|
mCompletionHandler.callback(completionData);
|
|
}
|
|
|
|
void FTPThread::handleInterpretFile(String *pInterpretFile)
|
|
{
|
|
CallbackData completionData(0,(int)FileComplete);
|
|
String interpretFile(*pInterpretFile);
|
|
delete pInterpretFile;
|
|
FTPInterpreter::interpretFile(interpretFile);
|
|
mCompletionHandler.callback(completionData);
|
|
}
|