PFTPClient Class Reference

File Transfer Protocol client channel class. More...

#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 ()
 Close the socket, and if connected as a client, QUITs from server.
New functions for class
PBoolean LogIn (const PString &username, const PString &password)
 Log in to the remote host for FTP.
PString GetSystemType ()
 Get the type of the remote FTP server system, eg Unix, WindowsNT etc.
PBoolean SetType (RepresentationType type)
 Set the transfer type.
PBoolean ChangeDirectory (const PString &dirPath)
 Change the current directory on the remote FTP host.
PString GetCurrentDirectory ()
 Get the current working directory on the remote FTP host.
PStringArray GetDirectoryNames (NameTypes type=ShortNames, DataChannelType channel=Passive)
 Get a list of files from the current working directory on the remote FTP host.
PStringArray 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.
PBoolean CreateDirectory (const PString &path)
 Create a directory on the remote FTP host.
PString GetFileStatus (const PString &path, DataChannelType channel=Passive)
 Get status information for the file path specified.
PTCPSocketGetFile (const PString &filename, DataChannelType channel=NormalPort)
 Begin retreiving a file from the remote FTP server.
PTCPSocketPutFile (const PString &filename, DataChannelType channel=NormalPort)
 Begin storing a file to the remote FTP server.

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

PBoolean PFTPClient::ChangeDirectory ( const PString dirPath  ) 

Change the current directory on the remote FTP host.

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

virtual PBoolean PFTPClient::Close (  )  [virtual]

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

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

Reimplemented from PIndirectChannel.

PBoolean PFTPClient::CreateDirectory ( const PString path  ) 

Create a directory on the remote FTP host.

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

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 ( 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.

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.

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.

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.

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::LogIn ( const PString username,
const PString password 
)

Log in to the remote host for FTP.

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

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

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

Call back to verify open succeeded in an PInternetProtocol class.

Reimplemented from PIndirectChannel.

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

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.

PBoolean PFTPClient::SetType ( RepresentationType  type  ) 

Set the transfer type.

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


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 Fri Oct 14 01:44:11 2011 for PTLib by  doxygen 1.4.7