2012-05-13 213 views
5

有没有人遇到过符合这些要求的优秀文件系统虚拟化库?便携式VFS库C++

  • 跨平台:至少Win32和Linux上,最好也OSX
  • 支持协议:
    • SMB
    • FTP
    • SFTP
    • 本地FS
  • 摘要基于URL的客户端工厂的C++接口:
    • SMB:// [用户[:密码] @]主机/共享/路径...
    • 的ftp:// [用户[:密码] @]主机/路径...
    • SFTP: // [用户[:密码] @]主机/路径...
    • 文件:// ...路径
  • 提供方法:
    • 清单的目录中,优选返回与结构条目类似stat的属性
    • 移动
    • 复制
    • 删除
    • 统计
    • 奖励:低级别的文件访问接口(打开,读,写,关闭...)

我已经看到了一些好的库满足这些要求的一部分(curl for FTP,用于SFTP的libssh,仅举几例),但还没有完成。 DIY有强烈的冲动,但我无法想象它已经不存在了。

+1

你要求了很多...特别是。当涉及到跨平台的东西。 –

回答

3

它在C中实现,而不是C++,但我很肯定GIO支持大部分。这是GNOME项目的一部分,被大多数GNOME应用程序用作文件系统抽象。

+0

谢谢Celada。你认为GIO能在Windows上完全运行,尤其是gvfs部分吗? – Pat

+0

我对我们是否设法实现虚拟文件系统在真实文件系统中的安装部分存在怀疑,但我认为您应该至少能够充分使用本机GIO高级接口(其中文件由URL标识)。但我不能确定,我没有在Windows中使用它。无论是哪种方式,无论是哪个人都能做到,我怀疑其他人做得更好。 – Celada