www.pudn.com > Ftpwork > CmdHdr.cpp


#include "CmdHdr.h"
#include 


//##ModelId=3DB112960181
int CmdHdr::HandleCommand(String* pcommand)
{

	int argcount=0;
	CmdParseResult *result= cmdparserobj.ParseCommand(pcommand);
	argcount = result->GetCmdArgc();
	switch(result->GetCmdType())
	{
	case CMD_CD:		
		dirhdrobj.ChangeDirecotry(result->GetCmdArgv(0),pmonitor);		
		break;
	case CMD_MD:
		if( argcount <1 )
			return FALSE;
		dirhdrobj.MakeDirectory(result->GetCmdArgv(0),pmonitor);
		break;
	case CMD_LIST:
		listhdrobj.List(pmonitor);
		break;
	case CMD_PUT:
		filehdrobj.PutFile(	result->GetCmdArgv(0),
												result->GetCmdArgv(1),
												pmonitor
												);
		break;
	case CMD_GET:
		filehdrobj.GetFile(	result->GetCmdArgv(0),
												result->GetCmdArgv(1),
												pmonitor
												);
		break;
	case CMD_HELP:
	
		helphdrobj.DisplayHelpInfo(pmonitor);
		break;
	case CMD_LOCAL:
		localhdrobj.LocalCommand(pmonitor);
		break;
	case CMD_QUIT:
		pnet->CloseConnection();
		pnet->CloseConnection();
		exit(0);		
		break;
	case CMD_ERROR:
		return FALSE;	
	};	
	
	return TRUE;
		
	
}

//##ModelId=3DB2133900C1
int CmdHdr::Initiate(NetLayer* pnetlayer, Monitor* pmon)
{
	pmonitor = pmon;
	dirhdrobj.SetNetLayer(pnetlayer);
	filehdrobj.SetNetLayer(pnetlayer);
	listhdrobj.SetNetLayer(pnetlayer);
	pnet=pnetlayer;
	
	return TRUE;
}

//##ModelId=3DB227810199
CmdHdr::CmdHdr()
{
}