# 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:

List of all members.

## Classes

class | DataChannel
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...

## 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

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

Definition at line 186 of file Ftp.cpp.

## Member Function Documentation

Ftp::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

Definition at line 291 of file Ftp.cpp.

Ftp::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

Definition at line 195 of file Ftp.cpp.

Ftp::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

Definition at line 318 of file Ftp.cpp.

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

Remove an existing file.

Parameters:

  | Name | : File to remove

Returns:
  Server response to the request

Definition at line 340 of file Ftp.cpp.

Ftp::Response sf::Ftp::Disconnect | ( |  | ) |

Close the connection with FTP server.

Returns:
  Server response to the request

Definition at line 231 of file Ftp.cpp.

Ftp::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

Definition at line 349 of file Ftp.cpp.

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

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

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

Definition at line 264 of file Ftp.cpp.

Ftp::DirectoryResponse sf::Ftp::GetWorkingDirectory | ( |  | ) |

Get the current working directory.

Returns:
  Server response to the request

Definition at line 254 of file Ftp.cpp.

Ftp::Response sf::Ftp::KeepAlive | ( |  | ) |

Send a null command just to prevent from being disconnected.

Returns:
  Server response to the request

Definition at line 245 of file Ftp.cpp.

Ftp::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

Definition at line 218 of file Ftp.cpp.

Ftp::Response sf::Ftp::Login | ( |  | ) |

Log in using anonymous account.

Returns:
  Server response to the request

Definition at line 209 of file Ftp.cpp.

Ftp::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

Definition at line 309 of file Ftp.cpp.

Ftp::Response sf::Ftp::ParentDirectory | ( |  | ) |

Go to the parent directory of the current one.

Returns:
  Server response to the request

Definition at line 300 of file Ftp.cpp.

Ftp::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

Definition at line 327 of file Ftp.cpp.

Ftp::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

Definition at line 396 of file Ftp.cpp.

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

- Ftp.hpp
- Ftp.cpp