// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Inftplist.pas' rev: 10.00

#ifndef InftplistHPP
#define InftplistHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Inglobal.hpp>	// Pascal unit
#include <Inexception.hpp>	// Pascal unit
#include <Inftpcommon.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Inftplist
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS EIdInvalInFTPListingFormat;
class PASCALIMPLEMENTATION EIdInvalInFTPListingFormat : public Inexception::EInException 
{
	typedef Inexception::EInException inherited;
	
public:
	#pragma option push -w-inl
	/* EInExceptionBase.Create */ inline __fastcall virtual EIdInvalInFTPListingFormat(AnsiString AMsg)/* overload */ : Inexception::EInException(AMsg) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall EIdInvalInFTPListingFormat(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Inexception::EInException(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall EIdInvalInFTPListingFormat(int Ident)/* overload */ : Inexception::EInException(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall EIdInvalInFTPListingFormat(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Inexception::EInException(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall EIdInvalInFTPListingFormat(const AnsiString Msg, int AHelpContext) : Inexception::EInException(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall EIdInvalInFTPListingFormat(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Inexception::EInException(Msg, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall EIdInvalInFTPListingFormat(int Ident, int AHelpContext)/* overload */ : Inexception::EInException(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall EIdInvalInFTPListingFormat(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Inexception::EInException(ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~EIdInvalInFTPListingFormat(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TIdDirItemType { ditDirectory, ditFile, ditSymbolicLink, ditSymbolicLinkDir, ditBlockDev, ditCharDev, ditFIFO, ditSocket };
#pragma option pop

#pragma option push -b-
enum TIdJESJobStatus { IdJESNotApplicable, IdJESReceived, IdJESHold, IdJESRunning, IdJESOuptutAvailable };
#pragma option pop

class DELPHICLASS TInFTPListItem;
class PASCALIMPLEMENTATION TInFTPListItem : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
protected:
	__int64 FSize;
	int FItemCount;
	AnsiString FData;
	AnsiString FFileName;
	AnsiString FLocalFileName;
	bool FSizeAvail;
	bool FModifiedAvail;
	System::TDateTime FModifiedDate;
	System::TDateTime FModifiedDateGMT;
	TIdDirItemType FItemType;
	bool FDirError;
	void __fastcall SetFileName(const AnsiString AValue);
	__property System::TDateTime ModifiedDateGMT = {read=FModifiedDateGMT, write=FModifiedDateGMT};
	
public:
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	__fastcall virtual TInFTPListItem(Classes::TCollection* AOwner);
	__fastcall virtual ~TInFTPListItem(void);
	__property AnsiString Data = {read=FData, write=FData};
	__property __int64 Size = {read=FSize, write=FSize};
	__property System::TDateTime ModifiedDate = {read=FModifiedDate, write=FModifiedDate};
	__property AnsiString FileName = {read=FFileName, write=SetFileName};
	__property AnsiString LocalFileName = {read=FLocalFileName, write=FLocalFileName};
	__property TIdDirItemType ItemType = {read=FItemType, write=FItemType, nodefault};
	__property bool SizeAvail = {read=FSizeAvail, write=FSizeAvail, nodefault};
	__property bool ModifiedAvail = {read=FModifiedAvail, write=FModifiedAvail, nodefault};
};


typedef void __fastcall (__closure *TIdOnGetCustomListFormat)(TInFTPListItem* AItem, AnsiString &VText);

typedef void __fastcall (__closure *TIdOnParseCustomListFormat)(TInFTPListItem* AItem);

class DELPHICLASS TInFTPListItems;
class PASCALIMPLEMENTATION TInFTPListItems : public Classes::TCollection 
{
	typedef Classes::TCollection inherited;
	
public:
	TInFTPListItem* operator[](int AIndex) { return Items[AIndex]; }
	
protected:
	AnsiString FDirectoryName;
	void __fastcall SetDirectoryName(const AnsiString AValue);
	TInFTPListItem* __fastcall GetItems(int AIndex);
	void __fastcall SetItems(int AIndex, const TInFTPListItem* Value);
	
public:
	HIDESBASE TInFTPListItem* __fastcall Add(void);
	__fastcall TInFTPListItems(void);
	int __fastcall IndexOf(TInFTPListItem* AItem);
	__property AnsiString DirectoryName = {read=FDirectoryName, write=SetDirectoryName};
	__property TInFTPListItem* Items[int AIndex] = {read=GetItems, write=SetItems/*, default*/};
public:
	#pragma option push -w-inl
	/* TCollection.Destroy */ inline __fastcall virtual ~TInFTPListItems(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Inftplist */
using namespace Inftplist;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Inftplist
