sf::Ftp Class Reference

This class provides methods for manipulating the FTP protocol (described in RFC 959). More...

#include <Ftp.hpp>

Inheritance diagram for sf::Ftp:

sf::NonCopyable List of all members.

Public Types

enum  TransferMode {
  Binary,
  Ascii,
  Ebcdic
}
 Enumeration of transfer modes. More...

Public Member Functions

 ~Ftp ()
 Destructor -- close the connection with the server.
Response Connect (const IPAddress &Server, unsigned short Port=21, float Timeout=0.f)
 Connect to the specified FTP server.
Response Login ()
 Log in using anonymous account.
Response Login (const std::string &UserName, const std::string &Password)
 Log in using a username and a password.
Response Disconnect ()
 Close the connection with FTP server.
Response KeepAlive ()
 Send a null command just to prevent from being disconnected.
DirectoryResponse GetWorkingDirectory ()
 Get the current working directory.
ListingResponse GetDirectoryListing (const std::string &Directory="")
 Get the contents of the given directory (subdirectories and files).
Response ChangeDirectory (const std::string &Directory)
 Change the current working directory.
Response ParentDirectory ()
 Go to the parent directory of the current one.
Response MakeDirectory (const std::string &Name)
 Create a new directory.
Response DeleteDirectory (const std::string &Name)
 Remove an existing directory.
Response RenameFile (const std::string &File, const std::string &NewName)
 Rename a file.
Response DeleteFile (const std::string &Name)
 Remove an existing file.
Response Download (const std::string &DistantFile, const std::string &DestPath, TransferMode Mode=Binary)
 Download a file from the server.
Response Upload (const std::string &LocalFile, const std::string &DestPath, TransferMode Mode=Binary)
 Upload a file to the server.

Friends

class DataChannel

Classes

class  DirectoryResponse
 Specialization of FTP response returning a directory. More...
class  ListingResponse
 Specialization of FTP response returning a filename lisiting. More...
class  Response
 This class wraps a FTP response, which is basically :
  • a status code
  • a message.
More...

Detailed Description

This class provides methods for manipulating the FTP protocol (described in RFC 959).

It provides easy access and transfers to remote directories and files on a FTP server

Definition at line 47 of file Ftp.hpp.


Member Enumeration Documentation

enum sf::Ftp::TransferMode

Enumeration of transfer modes.

Enumerator:
Binary  Binary mode (file is transfered as a sequence of bytes).
Ascii  Text mode using ASCII encoding.
Ebcdic  Text mode using EBCDIC encoding.

Definition at line 54 of file Ftp.hpp.


Constructor & Destructor Documentation

sf::Ftp::~Ftp (  ) 

Destructor -- close the connection with the server.


Member Function Documentation

Response sf::Ftp::Connect ( const IPAddress Server,
unsigned short  Port = 21,
float  Timeout = 0.f 
)

Connect to the specified FTP server.

Parameters:
Server : FTP server to connect to
Port : Port used for connection (21 by default, standard FTP port)
Timeout : Maximum time to wait, in seconds (0 by default, means no timeout)
Returns:
Server response to the request

Response sf::Ftp::Login (  ) 

Log in using anonymous account.

Returns:
Server response to the request

Response sf::Ftp::Login ( const std::string &  UserName,
const std::string &  Password 
)

Log in using a username and a password.

Parameters:
UserName : User name
Password : Password
Returns:
Server response to the request

Response sf::Ftp::Disconnect (  ) 

Close the connection with FTP server.

Returns:
Server response to the request

Response sf::Ftp::KeepAlive (  ) 

Send a null command just to prevent from being disconnected.

Returns:
Server response to the request

DirectoryResponse sf::Ftp::GetWorkingDirectory (  ) 

Get the current working directory.

Returns:
Server response to the request

ListingResponse sf::Ftp::GetDirectoryListing ( const std::string &  Directory = ""  ) 

Get the contents of the given directory (subdirectories and files).

Parameters:
Directory : Directory to list ("" by default, the current one)
Returns:
Server response to the request

Response sf::Ftp::ChangeDirectory ( const std::string &  Directory  ) 

Change the current working directory.

Parameters:
Directory : New directory, relative to the current one
Returns:
Server response to the request

Response sf::Ftp::ParentDirectory (  ) 

Go to the parent directory of the current one.

Returns:
Server response to the request

Response sf::Ftp::MakeDirectory ( const std::string &  Name  ) 

Create a new directory.

Parameters:
Name : Name of the directory to create
Returns:
Server response to the request

Response sf::Ftp::DeleteDirectory ( const std::string &  Name  ) 

Remove an existing directory.

Parameters:
Name : Name of the directory to remove
Returns:
Server response to the request

Response sf::Ftp::RenameFile ( const std::string &  File,
const std::string &  NewName 
)

Rename a file.

Parameters:
File : File to rename
NewName : New name
Returns:
Server response to the request

Response sf::Ftp::DeleteFile ( const std::string &  Name  ) 

Remove an existing file.

Parameters:
Name : File to remove
Returns:
Server response to the request

Response sf::Ftp::Download ( const std::string &  DistantFile,
const std::string &  DestPath,
TransferMode  Mode = Binary 
)

Download a file from the server.

Parameters:
DistantFile : Path of the distant file to download
DestPath : Where to put to file on the local computer
Mode : Transfer mode (binary by default)
Returns:
Server response to the request

Response sf::Ftp::Upload ( const std::string &  LocalFile,
const std::string &  DestPath,
TransferMode  Mode = Binary 
)

Upload a file to the server.

Parameters:
LocalFile : Path of the local file to upload
DestPath : Where to put to file on the server
Mode : Transfer mode (binary by default)
Returns:
Server response to the request


The documentation for this class was generated from the following file: