@@ -52,6 +52,10 @@ Optional<Vfs::Mode> Vfs::modeFromString(const QString &str)
5252 return WithSuffix;
5353 } else if (str == QLatin1String (" wincfapi" )) {
5454 return WindowsCfApi;
55+ } else if (str == QLatin1String (" xattr" )) {
56+ return XAttr;
57+ } else if (str == QLatin1String (" openvfs" )) {
58+ return OpenVFS;
5559 }
5660 return {};
5761}
@@ -136,13 +140,20 @@ VfsOff::~VfsOff() = default;
136140
137141static QString modeToPluginName (Vfs::Mode mode)
138142{
139- if (mode == Vfs::WithSuffix)
143+ switch (mode) {
144+ case Vfs::Off:
145+ return {};
146+ case Vfs::WithSuffix:
140147 return QStringLiteral (" suffix" );
141- if (mode == Vfs::WindowsCfApi)
148+ case Vfs::WindowsCfApi:
142149 return QStringLiteral (" cfapi" );
143- if (mode == Vfs::XAttr)
150+ case Vfs::XAttr:
144151 return QStringLiteral (" xattr" );
145- return QString ();
152+ case Vfs::OpenVFS:
153+ return QStringLiteral (" openvfs" );
154+ }
155+
156+ return {};
146157}
147158
148159Q_LOGGING_CATEGORY (lcPlugin, " plugins" , QtInfoMsg)
@@ -197,6 +208,10 @@ Vfs::Mode OCC::bestAvailableVfsMode()
197208 return Vfs::WindowsCfApi;
198209 }
199210
211+ if (isVfsPluginAvailable (Vfs::OpenVFS)) {
212+ return Vfs::OpenVFS;
213+ }
214+
200215 if (isVfsPluginAvailable (Vfs::WithSuffix)) {
201216 return Vfs::WithSuffix;
202217 }
@@ -267,3 +282,8 @@ std::unique_ptr<Vfs> OCC::createVfsFromPlugin(Vfs::Mode mode)
267282 qCInfo (lcPlugin) << " Created VFS instance from plugin" << pluginPath;
268283 return vfs;
269284}
285+
286+ const FileSystem::Path &VfsSetupParams::root () const
287+ {
288+ return rootPath;
289+ }
0 commit comments