#pragma once
/*---------------------------------------------------------------------------------------
 * $Id: SysParse.h 30 2009-11-29 23:38:12Z krkim $ $Revision: 30 $
 * $HeadURL: http://krkim-laptop/svn/DuruEdit/Src/DEFTP/SysParse.h $
 *Duru FTP Engine Class for RFC959 (Pure FTP only)
 *krkimÀÌ µÎ·ç¿¡µðÆ® ¿Ïº®ÇÑ FTP ±â´ÉÀ» À§ÇØ 2010.05.10~2010.05.17 ±¸ÇöÇÑ °Í
 *ÇÁ·ÎÅäÄÝ Âü°í ½ÎÀÌÆ® http://ftpguide.com
 *°¢¸ñÀÇ UNIX FTP È¯°æ¿¡¼­ ¸ñ·Ï¿À·ù°¡ ³ªÅ¸³ª ´õÀÌ»ó MSÀÇ WinINetÇÔ¼ö¸¦
 *»ç¿ëÇÏÁö ¸øÇÏ°Ô µÇ¾ú´Ù.¹°·Ð Æí¹ýÀ¸·Î FtpCommandÇÔ¼ö¸¦ ÀÌ¿ëÇØ ³¢¿ö³Ö±â
 *ÇÏ¸é µÇÁö¸¸,¹æÈ­º® Áö¿ø,±×¸®°í ´Ù¾çÇÑ ¼­¹öÅ¸ÀÔ,¿Ïº®ÇÑ passive,FTP Åë½Å
 *·Î±×µîÀ» º¸¿©ÁÖ°í ÃßÈÄ GNUTLS¸¦ ÀÌ¿ëÇÑ FTPS³ª SSH¸¦ ÀÌ¿ëÇÑ SFTPµîÀÇ È®Àå¼º
 *µµ °í·ÁÇØ¼­ RFC959 ÇÁ·ÎÅäÄÝÀ» Á÷Á¢ ±¸ÇöÇÏ´Â ÆíÀÌ ³ª¾Ò´Ù.

 *http://www.durumul.com,http://krkim.net 
 *yeamaec@hanafos.com, ns.quasar@gmail.com
 *Copyrights (c) 2010.05.15 krkim Allrights reserved.
 *RFC959 FTP Spec with Passive Mode Support
 *FTPS(Fillezilla)¿Í SFTP(Putty)´Â Â÷ÈÄ ÇÊ¿ä¼º°ú ¾¸¾¸ÀÌ Á¤µµ¸¦ º¸¾Æ Áö¿ø ÇÏ±â·Î ¹Ì·é´Ù.
 *Á»´õ,¾Æ´Ï È®½ÇÈ÷ ´õ º¹ÀâÇÏ±â ¶§¹®ÀÌ±âµµ ÇÔ ^^
 ---------------------------------------------------------------------------------------*/

#include "DEFTP.h"

/*
 * SYST Parse
 */

class PFAPI SysParse
{
public:
	SysParse();
	virtual ~SysParse();
protected:
	DFServerType m_serverType;
	int findmonth(char *str);
	BOOL isnumber(char *str);
	char *findspace(char *str);
	char *getcolumnstr(char *linebuff, int column,bool includeremain = false);
	int ParseLine(char *linebuff,int serverType,DFDirEntry &item);
	int ParseAsUnix(char *str, DFDirEntry *entry);
	int ParseAsDos(char *linebuff, DFDirEntry *entry);
	int ParseAsVms(char *linebuff, DFDirEntry *entry);
	int ParseAsIbm(char *linebuff, DFDirEntry *entry);
	int ParseAsWfFtp(char *linebuff, DFDirEntry *entry);
public:
	int ParseDir(char *linebuff,char *syst,DFServerType servertype,DFDirEntry *item);
	DFFileMode CheckFileType(LPSTR filename);
};

