PFTPClient Class Reference

#include <ftp.h>

Inheritance diagram for PFTPClient:

PFTP PInternetProtocol PIndirectChannel PChannel PObject List of all members.

Public Member Functions

 PFTPClient ()
 Declare an FTP client socket.
 ~PFTPClient ()
 Delete and close the socket.
Overrides from class PSocket.
virtual PBoolean Close ()
New functions for class
PBoolean LogIn (const PString &username, const PString &password)
PString GetSystemType ()
PBoolean SetType (RepresentationType type)
PBoolean ChangeDirectory (const PString &dirPath)
PString GetCurrentDirectory ()
PStringArray GetDirectoryNames (NameTypes type=ShortNames, DataChannelType channel=Passive)
PStringArray GetDirectoryNames (const PString &path, NameTypes type=ShortNames, DataChannelType channel=Passive)
PBoolean CreateDirectory (const PString &path)
PString GetFileStatus (const PString &path, DataChannelType channel=Passive)
PTCPSocketGetFile (const PString &filename, DataChannelType channel=NormalPort)
PTCPSocketPutFile (const PString &filename, DataChannelType channel=NormalPort)

Protected Member Functions

virtual PBoolean OnOpen ()
 Call back to verify open succeeded in an PInternetProtocol class.
PTCPSocketNormalClientTransfer (Commands cmd, const PString &args)
PTCPSocketPassiveClientTransfer (Commands cmd, const PString &args)

Protected Attributes

WORD remotePort
 Port number on remote system.

Detailed Description

File Transfer Protocol client channel class.


Constructor & Destructor Documentation

PFTPClient::PFTPClient (  ) 

Declare an FTP client socket.

PFTPClient::~PFTPClient (  ) 

Delete and close the socket.


Member Function Documentation

virtual PBoolean PFTPClient::Close (  )  [virtual]

Close the socket, and if connected as a client, QUITs from server.

Returns:
PTrue if the channel was closed and the QUIT accepted by the server.

Reimplemented from PIndirectChannel.

PBoolean PFTPClient::LogIn ( const PString username,
const PString password 
)

Log in to the remote host for FTP.

Returns:
PTrue if the log in was successfull.
Parameters:
username  User name for FTP log in.
password  Password for the specified user name.

PString PFTPClient::GetSystemType (  ) 

Get the type of the remote FTP server system, eg Unix, WindowsNT etc.

Returns:
String for the type of system.

PBoolean PFTPClient::SetType ( RepresentationType  type  ) 

Set the transfer type.

Returns:
PTrue if transfer type set.
Parameters:
type  RepresentationTypeof file to transfer

PBoolean PFTPClient::ChangeDirectory ( const PString dirPath  ) 

Change the current directory on the remote FTP host.

Returns:
PTrue if the log in was successfull.
Parameters:
dirPath  New directory

PString PFTPClient::GetCurrentDirectory (  ) 

Get the current working directory on the remote FTP host.

Returns:
String for the directory path, or empty string if an error occurred.

PStringArray PFTPClient::GetDirectoryNames ( NameTypes  type = ShortNames,
DataChannelType  channel = Passive 
)

Get a list of files from the current working directory on the remote FTP host.

Returns:
String array for the files in the directory.
Parameters:
type  Detail level on a directory entry.
channel  Data channel type.

PStringArray PFTPClient::GetDirectoryNames ( const PString path,
NameTypes  type = ShortNames,
DataChannelType  channel = Passive 
)

Get a list of files from the current working directory on the remote FTP host.

Returns:
String array for the files in the directory.
Parameters:
path  Name to get details for.
type  Detail level on a directory entry.
channel  Data channel type.

PBoolean PFTPClient::CreateDirectory ( const PString path  ) 

Create a directory on the remote FTP host.

Returns:
PTrue if the directory was created successfully.
Parameters:
path  Name of the directory to create.

PString PFTPClient::GetFileStatus ( const PString path,
DataChannelType  channel = Passive 
)

Get status information for the file path specified.

Returns:
String giving file status.
Parameters:
path  Path to get status for.
channel  Data channel type.

PTCPSocket* PFTPClient::GetFile ( const PString filename,
DataChannelType  channel = NormalPort 
)

Begin retreiving a file from the remote FTP server. The second parameter indicates that the transfer is on a normal or passive data channel. In short, a normal transfer the server connects to the client and in passive mode the client connects to the server.

Returns:
Socket to read data from, or NULL if an error occurred.
Parameters:
filename  Name of file to get
channel  Data channel type.

PTCPSocket* PFTPClient::PutFile ( const PString filename,
DataChannelType  channel = NormalPort 
)

Begin storing a file to the remote FTP server. The second parameter indicates that the transfer is on a normal or passive data channel. In short, a normal transfer the server connects to the client and in passive mode the client connects to the server.

Returns:
Socket to write data to, or NULL if an error occurred.
Parameters:
filename  Name of file to get
channel  Data channel type.

virtual PBoolean PFTPClient::OnOpen (  )  [protected, virtual]

Call back to verify open succeeded in an PInternetProtocol class.

Reimplemented from PIndirectChannel.

PTCPSocket* PFTPClient::NormalClientTransfer ( Commands  cmd,
const PString args 
) [protected]

PTCPSocket* PFTPClient::PassiveClientTransfer ( Commands  cmd,
const PString args 
) [protected]


Member Data Documentation

WORD PFTPClient::remotePort [protected]

Port number on remote system.


The documentation for this class was generated from the following file:
Generated on Mon Feb 23 01:57:56 2009 for PTLib by  doxygen 1.5.1