Topic Path: Symbol Reference > Classes > TIdMLSTFTPListItem Class
ContentsIndexHome
PreviousUpNext
TIdMLSTFTPListItem Class

Implements storage for files or directories in an FTP MLST or MLSD file and/or directory listing.

File
TIdMLSTFTPListItem = class(TIdCreationDateFTPListItem);

TIdMLSTFTPListItem is a TIdCreationDateFTPListItem descendant that implements storage for files or directories included in listings returned for the FTP MLST or MLSD commands. MLST and MLSD are described in the Internet Draft document: 

Extensions to FTP 

TIdMLSTFTPListItem implements additional properties that conform to the NVFS (Network Virtual File Store) as described in Section 7 - Listings for Machine Processing (MLST and MLSD). TIdMLSTFTPListItem properties represent the standardized file and directory information returned by the Server-FTP process. 

The MLST and MLSD commands extend the FTP protocol to allow that transmission of 8-bit data over the control connection. Note this is not specifying character sets which are 8-bit, but specifying that FTP implementations are to specifically allow the transmission and reception of 8-bit bytes, with all bits significant, over the control connection. That is, all 256 possible octet values are permitted. The MLSx command allows both UTF-8/Unicode and "raw" forms as arguments, and in responses both to the MLST and MLSD commands, and all other FTP commands which take pathnames as arguments. 

The facts part of the specification would contain a series of "file facts" about the file or directory named on the same line. Typical information to be presented would include file size, last modification time, creation time, a unique identifier, and a file/directory flag. 

Use properties in TIdMLSTFTPListItem to access the property values for facts in the response or the raw fact lines for the file or directory in the collection, including: 

 

Property 
Name Index in the Facts Property 
Size 
"Size
"Modify" 
"Create
"Unique" 
"Perm" 

 

The Facts property in TIdMLSTFTPListItem can contain additional facts not represented using properties in the class, including: 

 

Fact Names not implemented as properties 
"Lang" 
"Media-Type" 
"CharSet" 

 

Please note that the format is intended for machine processing, not viewing by a human being, and as such the format is very rigid. Server implementaions must not vary the format, by altering any of the following: 

  • inserting extra spaces for readability
  • replacing spaces by tabs
  • including header or title lines
  • inserting blank lines
 

There is no requirement that the same set of facts be provided for each file, or that the facts presented occur in the same order for each file.

Copyright 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
Post feedback to the Indy Docs Newsgroup.