FtpServer Class Reference
Provides FTP server. More...
#include <FtpServer.h>
Inheritance diagram for FtpServer:
Collaboration diagram for FtpServer:
Public Member Functions | |
| void | addUser (const String &login, const String &pass, IFS::UserRole userRole=IFS::UserRole::Admin) |
| IFS::UserRole | validateUser (const char *login, const char *pass) override |
| Validate user. More... | |
Public Member Functions inherited from CustomFtpServer | |
| CustomFtpServer (IFS::FileSystem *fileSystem=nullptr) | |
Public Member Functions inherited from TcpServer | |
| TcpServer () | |
| TcpServer (TcpClientConnectDelegate onClientHandler, TcpClientDataDelegate clientReceiveDataHandler, TcpClientCompleteDelegate clientCompleteHandler) | |
| TcpServer (TcpClientDataDelegate clientReceiveDataHandler, TcpClientCompleteDelegate clientCompleteHandler) | |
| TcpServer (TcpClientDataDelegate clientReceiveDataHandler) | |
| void | setClientReceiveHandler (TcpClientDataDelegate clientReceiveDataHandler) |
| ~TcpServer () | |
| virtual bool | listen (int port, bool useSsl=false) |
| void | setKeepAlive (uint16_t seconds) |
| void | shutdown () |
| const Vector< TcpConnection * > & | getConnections () const |
Public Member Functions inherited from TcpConnection | |
| TcpConnection (bool autoDestruct) | |
| TcpConnection (tcp_pcb *connection, bool autoDestruct) | |
| virtual | ~TcpConnection () |
| virtual bool | connect (const String &server, int port, bool useSsl=false) |
| virtual bool | connect (IpAddress addr, uint16_t port, bool useSsl=false) |
| virtual void | close () |
| int | writeString (const char *data, uint8_t apiflags=TCP_WRITE_FLAG_COPY) |
| Writes string data directly to the TCP buffer. More... | |
| int | writeString (const String &data, uint8_t apiflags=TCP_WRITE_FLAG_COPY) |
| Writes string data directly to the TCP buffer. More... | |
| virtual int | write (const char *data, int len, uint8_t apiflags=TCP_WRITE_FLAG_COPY) |
| Base write operation. More... | |
| int | write (IDataSourceStream *stream) |
| Writes stream data directly to the TCP buffer. More... | |
| uint16_t | getAvailableWriteSize () |
| void | flush () |
| void | setTimeOut (uint16_t waitTimeOut) |
| IpAddress | getRemoteIp () const |
| uint16_t | getRemotePort () const |
| void | setDestroyedDelegate (TcpConnectionDestroyedDelegate destroyedDelegate) |
| Sets a callback to be called when the object instance is destroyed. More... | |
| void | setSslInitHandler (Ssl::Session::InitDelegate handler) |
| Set the SSL session initialisation callback. More... | |
| bool | setSslConnection (Ssl::Connection *connection) |
| Ssl::Session * | getSsl () |
| Get a pointer to the current SSL session object. More... | |
Public Member Functions inherited from IpConnection | |
| bool | joinMulticastGroup (IpAddress localIp, IpAddress multicastIp) |
| Uses IGMP to add a local network interface to multicast group. More... | |
| bool | joinMulticastGroup (IpAddress multicastIp) |
| Uses IGMP to add all local network interfaces to multicast group. More... | |
| bool | leaveMulticastGroup (IpAddress localIp, IpAddress multicastIp) |
| Uses IGMP to remove a local network interface from multicast group. More... | |
| bool | leaveMulticastGroup (IpAddress multicastIp) |
| Uses IGMP to remove all local network interfaces from multicast group. More... | |
Protected Member Functions | |
| bool | onCommand (String cmd, String data, FtpServerConnection &connection) override |
| Handle an incoming command. More... | |
Protected Member Functions inherited from CustomFtpServer | |
| TcpConnection * | createClient (tcp_pcb *clientTcp) override |
| IFS::FileSystem * | getFileSystem () const |
Protected Member Functions inherited from TcpServer | |
| virtual err_t | onAccept (tcp_pcb *clientTcp, err_t err) |
| virtual void | onClient (TcpClient *client) |
| virtual bool | onClientReceive (TcpClient &client, char *data, int size) |
| virtual void | onClientComplete (TcpClient &client, bool successful) |
| virtual void | onClientDestroy (TcpConnection &connection) |
Protected Member Functions inherited from TcpConnection | |
| void | initialize (tcp_pcb *pcb) |
| bool | internalConnect (IpAddress addr, uint16_t port) |
| bool | sslCreateSession () |
| virtual void | sslInitSession (Ssl::Session &session) |
| Override in inherited classes to perform custom session initialisation. More... | |
| virtual err_t | onConnected (err_t err) |
| virtual err_t | onReceive (pbuf *buf) |
| virtual err_t | onSent (uint16_t len) |
| virtual err_t | onPoll () |
| virtual void | onError (err_t err) |
| virtual void | onReadyToSendData (TcpConnectionEvent sourceEvent) |
| virtual void | onClosed () |
| Gets called when there is/was a tcp connection, the latter does not have to be established, that is closed due to error or normal disconnect. More... | |
| void | trySend (TcpConnectionEvent event) |
| err_t | internalOnConnected (err_t err) |
| err_t | internalOnReceive (pbuf *p, err_t err) |
| err_t | internalOnSent (uint16_t len) |
| err_t | internalOnPoll () |
| void | internalOnError (err_t err) |
| void | internalOnDnsResponse (const char *name, LWIP_IP_ADDR_T *ipaddr, int port) |
Additional Inherited Members | |
Public Attributes inherited from TcpServer | |
| uint16_t | activeClients = 0 |
Protected Attributes inherited from TcpServer | |
| size_t | minHeapSize = 16384 |
| uint16_t | maxConnections = 0 |
| By default, don't limit connection count. More... | |
| bool | active = true |
| Vector< TcpConnection * > | connections |
Protected Attributes inherited from TcpConnection | |
| tcp_pcb * | tcp = nullptr |
| uint16_t | sleep = 0 |
| uint16_t | timeOut = USHRT_MAX |
| By default a TCP connection does not have a time out. More... | |
| bool | canSend = true |
| bool | autoSelfDestruct = true |
| Ssl::Session * | ssl = nullptr |
| Ssl::Session::InitDelegate | sslInit |
| bool | useSsl = false |
Detailed Description
Provides FTP server.
Member Function Documentation
◆ addUser()
| void FtpServer::addUser | ( | const String & | login, |
| const String & | pass, | ||
| IFS::UserRole | userRole = IFS::UserRole::Admin |
||
| ) |
◆ onCommand()
|
overrideprotectedvirtual |
Handle an incoming command.
- Parameters
-
cmd The command identifier, e.g. LIST data Any command arguments connection The associated TCP connection to receive any response
- Return values
-
bool true if command handled and response sent
Reimplemented from CustomFtpServer.
◆ validateUser()
|
overridevirtual |
Validate user.
- Parameters
-
login User name pass User password
- Return values
-
IFS::UserRole Returns assigned user role, None if user not validated
Implements CustomFtpServer.
The documentation for this class was generated from the following file:
Public Member Functions inherited from
1.8.17