Skip to content

How to develop your own file system backend

Mark Junker edited this page May 17, 2016 · 1 revision

Main steps

  • Implement IFileSystemClassFactory
    • This allows a custom instantiation of a IUnixFileSystem depending on the user credentials
  • Implement IUnixFileSystem
    • Everything that's not supported by your backend should throw an exception
    • When a specific command isn't supported, then you should provide the supported command handlers to the FtpServer constructor
  • The IUnixFileSystemEntry is the base for both file and directory entries
  • The implementation of IUnixFileEntry should inherit from your IUnixFileSystemEntry implementation
  • The implementation of IUnixDirectoryEntry should inherit from your IUnixFileSystemEntry implementation
  • When you don't support access permissions, you should use GenericUnixPermissions together with GenericAccessMode (for user, group, other) with rwx for directories and rw for files
Clone this wiki locally