Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/cmd/cmd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ void sync(const SyncCTX &ctx, const QUrl &spaceUrl)
selectiveSyncFixup(db, selectiveSyncList);
}

SyncOptions opt{QSharedPointer<Vfs>(VfsPluginManager::instance().createVfsFromPlugin(Vfs::Off).release())};
SyncOptions opt{QSharedPointer<Vfs>(VfsPluginManager::instance().createVfsFromPlugin(Vfs::Mode::Off).release())};
auto engine = new SyncEngine(ctx.account, spaceUrl, ctx.options.source_dir, ctx.options.remoteFolder, db);
engine->setSyncOptions(opt);
engine->setParent(db);
Expand Down
2 changes: 1 addition & 1 deletion src/gui/application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ Application::Application(const QString &displayLanguage, bool debugMode)
qCInfo(lcApplication) << u"Plugin search paths:" << qApp->libraryPaths();

// Check vfs plugins
if (VfsPluginManager::instance().bestAvailableVfsMode() == Vfs::Off) {
if (VfsPluginManager::instance().bestAvailableVfsMode() == Vfs::Mode::Off) {
qCWarning(lcApplication) << u"Theme wants to show vfs mode, but no vfs plugins are available";
}
qCInfo(lcApplication) << VfsPluginManager::instance().bestAvailableVfsMode() << u"plugin is available";
Expand Down
10 changes: 5 additions & 5 deletions src/gui/folder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -544,7 +544,7 @@ void Folder::startVfs()
_vfs->fileStatusChanged(stateDbFile + QStringLiteral("-shm"), SyncFileStatus::StatusExcluded);
_engine->setSyncOptions(loadSyncOptions());

if (_vfs->mode() != Vfs::Off) {
if (_vfs->mode() != Vfs::Mode::Off) {
// diable ignorelist with vfs
_engine->journal()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList, {});
}
Expand Down Expand Up @@ -668,10 +668,10 @@ void Folder::slotWatchedPathsChanged(const QSet<QString> &paths, ChangeReason re
void Folder::setVirtualFilesEnabled(bool enabled)
{
Vfs::Mode newMode = _definition.virtualFilesMode;
if (enabled && _definition.virtualFilesMode == Vfs::Off) {
if (enabled && _definition.virtualFilesMode == Vfs::Mode::Off) {
newMode = VfsPluginManager::instance().bestAvailableVfsMode();
} else if (!enabled && _definition.virtualFilesMode != Vfs::Off) {
newMode = Vfs::Off;
} else if (!enabled && _definition.virtualFilesMode != Vfs::Mode::Off) {
newMode = Vfs::Mode::Off;
}

if (newMode != _definition.virtualFilesMode) {
Expand Down Expand Up @@ -1113,7 +1113,7 @@ void Folder::registerFolderWatcher()

bool Folder::virtualFilesEnabled() const
{
return _definition.virtualFilesMode != Vfs::Off;
return _definition.virtualFilesMode != Vfs::Mode::Off;
}

} // namespace OCC
4 changes: 2 additions & 2 deletions src/gui/folderdefinition.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,11 +101,11 @@ FolderDefinition FolderDefinition::load(QSettings &settings)
folder._deployed = settings.value(deployedC(), false).toBool();
folder._priority = settings.value(priorityC(), 0).toUInt();

folder.virtualFilesMode = Vfs::Off;
folder.virtualFilesMode = Vfs::Mode::Off;

QString vfsModeString = settings.value("virtualFilesMode").toString();

const auto vfs = Utility::isWindows() ? Vfs::WindowsCfApi : Vfs::XAttr;
const auto vfs = Utility::isWindows() ? Vfs::Mode::WindowsCfApi : Vfs::Mode::XAttr;
if (auto result = Vfs::checkAvailability(folder.localPath(), vfs); result) {
vfsModeString = Utility::enumToString(vfs);
} else {
Expand Down
2 changes: 1 addition & 1 deletion src/gui/folderdefinition.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class OPENCLOUD_GUI_EXPORT FolderDefinition
/// whether the folder syncs hidden files
bool ignoreHiddenFiles = true;
/// Which virtual files setting the folder uses
Vfs::Mode virtualFilesMode = Vfs::Off;
Vfs::Mode virtualFilesMode = Vfs::Mode::Off;

/// Saves the folder definition into the current settings.
static void save(QSettings &settings, const FolderDefinition &folder);
Expand Down
4 changes: 2 additions & 2 deletions src/gui/folderwizard/folderwizard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ FolderWizardPrivate::FolderWizardPrivate(FolderWizard *q, const AccountStatePtr

q->setPage(FolderWizard::Page_Space, _spacesPage);

if (VfsPluginManager::instance().bestAvailableVfsMode() == Vfs::Off) {
if (VfsPluginManager::instance().bestAvailableVfsMode() == Vfs::Mode::Off) {
_folderWizardSelectiveSyncPage = new FolderWizardSelectiveSync(this);
q->setPage(FolderWizard::Page_SelectiveSync, _folderWizardSelectiveSyncPage);
}
Expand Down Expand Up @@ -121,7 +121,7 @@ const AccountStatePtr &FolderWizardPrivate::accountState()

bool FolderWizardPrivate::useVirtualFiles() const
{
return VfsPluginManager::instance().bestAvailableVfsMode() != Vfs::Off;
return VfsPluginManager::instance().bestAvailableVfsMode() != Vfs::Mode::Off;
}

FolderWizard::FolderWizard(const AccountStatePtr &account, QWidget *parent)
Expand Down
2 changes: 1 addition & 1 deletion src/gui/newwizard/pages/accountconfiguredwizardpage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ QString AccountConfiguredWizardPage::syncTargetDir() const
SyncMode AccountConfiguredWizardPage::syncMode() const
{
if (_ui->syncEverythingRadioButton->isChecked()) {
if (VfsPluginManager::instance().bestAvailableVfsMode() != Vfs::Off) {
if (VfsPluginManager::instance().bestAvailableVfsMode() != Vfs::Mode::Off) {
return SyncMode::UseVfs;
}
return SyncMode::SyncEverything;
Expand Down
7 changes: 2 additions & 5 deletions src/libsync/discovery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,7 @@ void ProcessDirectoryJob::processFileAnalyzeRemoteInfo(
item->_size = serverEntry.size();
if (dbEntry.isDirectory()) {
// TODO: move the decision to the backend
if (_discoveryData->_syncOptions._vfs->mode() != Vfs::Off && _pinState != PinState::AlwaysLocal) {
if (_discoveryData->_syncOptions._vfs->mode() != Vfs::Mode::Off && _pinState != PinState::AlwaysLocal) {
item->_type = ItemTypeVirtualFile;
}
}
Expand Down Expand Up @@ -391,10 +391,7 @@ void ProcessDirectoryJob::processFileAnalyzeRemoteInfo(
// Turn new remote files into virtual files if the option is enabled.
// TODO: move the decision to the backend
const auto &opts = _discoveryData->_syncOptions;
if (!localEntry.isValid()
&& item->_type == ItemTypeFile
&& opts._vfs->mode() != Vfs::Off
&& _pinState != PinState::AlwaysLocal) {
if (!localEntry.isValid() && item->_type == ItemTypeFile && opts._vfs->mode() != Vfs::Mode::Off && _pinState != PinState::AlwaysLocal) {
item->_type = ItemTypeVirtualFile;
}
processFileAnalyzeLocalInfo(item, path, localEntry, serverEntry, dbEntry, _queryServer);
Expand Down
2 changes: 1 addition & 1 deletion src/libsync/propagatedownload.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ void PropagateDownloadFile::start()
updateMetadata(false);
return;
}
if (vfs->mode() == Vfs::Off && _item->_type == ItemTypeVirtualFile) {
if (vfs->mode() == Vfs::Mode::Off && _item->_type == ItemTypeVirtualFile) {
qCWarning(lcPropagateDownload) << u"ignored virtual file type of" << _item->localName();
_item->_type = ItemTypeFile;
}
Expand Down
18 changes: 9 additions & 9 deletions src/libsync/vfs/vfs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ Optional<Vfs::Mode> Vfs::modeFromString(const QString &str)
// Note: Strings are used for config and must be stable
// keep in sync with: QString Utility::enumToString(Vfs::Mode mode)
if (str == QLatin1String("off")) {
return Off;
return Mode::Off;
} else if (str == QLatin1String("cfapi")) {
return WindowsCfApi;
return Mode::WindowsCfApi;
} else if (str == QLatin1String("xattr")) {
return XAttr;
return Mode::XAttr;
}
return {};
}
Expand Down Expand Up @@ -209,12 +209,12 @@ bool OCC::VfsPluginManager::isVfsPluginAvailable(Vfs::Mode mode) const

Vfs::Mode OCC::VfsPluginManager::bestAvailableVfsMode() const
{
if (isVfsPluginAvailable(Vfs::WindowsCfApi)) {
return Vfs::WindowsCfApi;
} else if (isVfsPluginAvailable(Vfs::XAttr)) {
return Vfs::XAttr;
} else if (isVfsPluginAvailable(Vfs::Off)) {
return Vfs::Off;
if (isVfsPluginAvailable(Vfs::Mode::WindowsCfApi)) {
return Vfs::Mode::WindowsCfApi;
} else if (isVfsPluginAvailable(Vfs::Mode::XAttr)) {
return Vfs::Mode::XAttr;
} else if (isVfsPluginAvailable(Vfs::Mode::Off)) {
return Vfs::Mode::Off;
}
Q_UNREACHABLE();
}
Expand Down
2 changes: 1 addition & 1 deletion src/libsync/vfs/vfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class OPENCLOUD_SYNC_EXPORT Vfs : public QObject
* Currently plugins and modes are one-to-one but that's not required.
* The raw integer values are used in Qml
*/
enum Mode : uint8_t { Off = 0, WindowsCfApi = 1, XAttr = 2 };
enum class Mode : uint8_t { Off = 0, WindowsCfApi = 1, XAttr = 2 };
Q_ENUM(Mode)
enum class ConvertToPlaceholderResult : uint8_t { Ok, Locked };
Q_ENUM(ConvertToPlaceholderResult)
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/vfs/cfapi/vfs_cfapi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ VfsCfApi::~VfsCfApi() = default;

Vfs::Mode VfsCfApi::mode() const
{
return WindowsCfApi;
return Vfs::Mode::WindowsCfApi;
}

void VfsCfApi::startImpl(const VfsSetupParams &params)
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/vfs/off/vfs_off.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ VfsOff::~VfsOff() = default;

Vfs::Mode VfsOff::mode() const
{
return Vfs::Off;
return Vfs::Mode::Off;
}

void VfsOff::stop() { }
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/vfs/xattr/vfs_xattr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ VfsXAttr::~VfsXAttr() = default;

Vfs::Mode VfsXAttr::mode() const
{
return XAttr;
return Mode::XAttr;
}

QString VfsXAttr::xattrOwnerString() const
Expand Down
12 changes: 6 additions & 6 deletions test/testblacklist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ private Q_SLOTS:
QTest::addColumn<Vfs::Mode>("vfsMode");
QTest::addColumn<bool>("filesAreDehydrated");

QTest::newRow("Vfs::Off") << Vfs::Off << false;
QTest::newRow("Vfs::Mode::Off") << Vfs::Mode::Off << false;

if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::WindowsCfApi)) {
QTest::newRow("Vfs::WindowsCfApi dehydrated") << Vfs::WindowsCfApi << true;
if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::Mode::WindowsCfApi)) {
QTest::newRow("Vfs::Mode::WindowsCfApi dehydrated") << Vfs::Mode::WindowsCfApi << true;

// TODO: the hydrated version will fail due to an issue in the winvfs plugin, so leave it disabled for now.
// QTest::newRow("Vfs::WindowsCfApi hydrated") << Vfs::WindowsCfApi << false;
// QTest::newRow("Vfs::Mode::WindowsCfApi hydrated") << Vfs::Mode::WindowsCfApi << false;
} else if (Utility::isWindows()) {
qWarning("Skipping Vfs::WindowsCfApi");
qWarning("Skipping Vfs::Mode::WindowsCfApi");
}
}

Expand Down Expand Up @@ -82,7 +82,7 @@ private Q_SLOTS:
modifier.insert(testFileName);
fakeFolder.serverErrorPaths().append(testFileName, 500); // will be blacklisted
const bool syncResult = fakeFolder.applyLocalModificationsAndSync();
if (vfsMode == Vfs::WindowsCfApi && filesAreDehydrated && remote) {
if (vfsMode == Vfs::Mode::WindowsCfApi && filesAreDehydrated && remote) {
// With dehydrated files, only a PROPFIND is done, but not a GET request.
// And it is the GET request that fails, and causes a blacklist entry, all "syncs" will succeed.
QVERIFY(syncResult);
Expand Down
12 changes: 6 additions & 6 deletions test/testdatabaseerror.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ private Q_SLOTS:
QTest::addColumn<Vfs::Mode>("vfsMode");
QTest::addColumn<bool>("filesAreDehydrated");

QTest::newRow("Vfs::Off") << Vfs::Off << false;
QTest::newRow("Vfs::Mode::Off") << Vfs::Mode::Off << false;

if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::WindowsCfApi)) {
QTest::newRow("Vfs::WindowsCfApi dehydrated") << Vfs::WindowsCfApi << true;
if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::Mode::WindowsCfApi)) {
QTest::newRow("Vfs::Mode::WindowsCfApi dehydrated") << Vfs::Mode::WindowsCfApi << true;

// TODO: the hydrated version will fail due to an issue in the winvfs plugin, so leave it disabled for now.
// QTest::newRow("Vfs::WindowsCfApi hydrated") << Vfs::WindowsCfApi << false;
// QTest::newRow("Vfs::Mode::WindowsCfApi hydrated") << Vfs::Mode::WindowsCfApi << false;
} else if (Utility::isWindows()) {
qWarning("Skipping Vfs::WindowsCfApi");
qWarning("Skipping Vfs::Mode::WindowsCfApi");
}
}

Expand All @@ -43,7 +43,7 @@ private Q_SLOTS:
QFETCH_GLOBAL(Vfs::Mode, vfsMode);
QFETCH_GLOBAL(bool, filesAreDehydrated);

if (vfsMode == Vfs::WindowsCfApi) {
if (vfsMode == Vfs::Mode::WindowsCfApi) {
QSKIP("Known to be broken, see https://github.com/owncloud/client-desktop-vfs-win/issues/22");
}

Expand Down
10 changes: 5 additions & 5 deletions test/testdownload.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,15 @@ private Q_SLOTS:
QTest::addColumn<Vfs::Mode>("vfsMode");
QTest::addColumn<bool>("filesAreDehydrated");

QTest::newRow("Vfs::Off") << Vfs::Off << false;
QTest::newRow("Vfs::Mode::Off") << Vfs::Mode::Off << false;

if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::WindowsCfApi)) {
QTest::newRow("Vfs::WindowsCfApi dehydrated") << Vfs::WindowsCfApi << true;
if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::Mode::WindowsCfApi)) {
QTest::newRow("Vfs::Mode::WindowsCfApi dehydrated") << Vfs::Mode::WindowsCfApi << true;

// TODO: the hydrated version will fail due to an issue in the winvfs plugin, so leave it disabled for now.
// QTest::newRow("Vfs::WindowsCfApi hydrated") << Vfs::WindowsCfApi << false;
// QTest::newRow("Vfs::Mode::WindowsCfApi hydrated") << Vfs::Mode::WindowsCfApi << false;
} else if (Utility::isWindows()) {
qWarning("Skipping Vfs::WindowsCfApi");
qWarning("Skipping Vfs::Mode::WindowsCfApi");
}
}

Expand Down
10 changes: 5 additions & 5 deletions test/testlocaldiscovery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ private Q_SLOTS:
QTest::addColumn<Vfs::Mode>("vfsMode");
QTest::addColumn<bool>("filesAreDehydrated");

QTest::newRow("Vfs::Off") << Vfs::Off << false;
QTest::newRow("Vfs::Mode::Off") << Vfs::Mode::Off << false;

if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::WindowsCfApi)) {
QTest::newRow("Vfs::WindowsCfApi dehydrated") << Vfs::WindowsCfApi << true;
if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::Mode::WindowsCfApi)) {
QTest::newRow("Vfs::Mode::WindowsCfApi dehydrated") << Vfs::Mode::WindowsCfApi << true;

// TODO: the hydrated version will fail due to an issue in the winvfs plugin, so leave it disabled for now.
// QTest::newRow("Vfs::WindowsCfApi hydrated") << Vfs::WindowsCfApi << false;
// QTest::newRow("Vfs::Mode::WindowsCfApi hydrated") << Vfs::Mode::WindowsCfApi << false;
} else if (Utility::isWindows()) {
qWarning("Skipping Vfs::WindowsCfApi");
qWarning("Skipping Vfs::Mode::WindowsCfApi");
}
}

Expand Down
10 changes: 5 additions & 5 deletions test/testlockedfiles.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ private Q_SLOTS:
QTest::addColumn<Vfs::Mode>("vfsMode");
QTest::addColumn<bool>("filesAreDehydrated");

QTest::newRow("Vfs::Off") << Vfs::Off << false;
QTest::newRow("Vfs::Mode::Off") << Vfs::Mode::Off << false;

if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::WindowsCfApi)) {
QTest::newRow("Vfs::WindowsCfApi dehydrated") << Vfs::WindowsCfApi << true;
if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::Mode::WindowsCfApi)) {
QTest::newRow("Vfs::Mode::WindowsCfApi dehydrated") << Vfs::Mode::WindowsCfApi << true;

// TODO: the hydrated version will fail due to an issue in the winvfs plugin, so leave it disabled for now.
// QTest::newRow("Vfs::WindowsCfApi hydrated") << Vfs::WindowsCfApi << false;
// QTest::newRow("Vfs::Mode::WindowsCfApi hydrated") << Vfs::Mode::WindowsCfApi << false;
} else if (Utility::isWindows()) {
qWarning("Skipping Vfs::WindowsCfApi");
qWarning("Skipping Vfs::Mode::WindowsCfApi");
}
}

Expand Down
16 changes: 8 additions & 8 deletions test/testpermissions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,15 +74,15 @@ private Q_SLOTS:
QTest::addColumn<Vfs::Mode>("vfsMode");
QTest::addColumn<bool>("filesAreDehydrated");

QTest::newRow("Vfs::Off") << Vfs::Off << false;
QTest::newRow("Vfs::Mode::Off") << Vfs::Mode::Off << false;

if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::WindowsCfApi)) {
QTest::newRow("Vfs::WindowsCfApi dehydrated") << Vfs::WindowsCfApi << true;
if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::Mode::WindowsCfApi)) {
QTest::newRow("Vfs::Mode::WindowsCfApi dehydrated") << Vfs::Mode::WindowsCfApi << true;

// TODO: the hydrated version will fail due to an issue in the winvfs plugin, so leave it disabled for now.
// QTest::newRow("Vfs::WindowsCfApi hydrated") << Vfs::WindowsCfApi << false;
// QTest::newRow("Vfs::Mode::WindowsCfApi hydrated") << Vfs::Mode::WindowsCfApi << false;
} else if (Utility::isWindows()) {
qWarning("Skipping Vfs::WindowsCfApi");
qWarning("Skipping Vfs::Mode::WindowsCfApi");
}
}

Expand All @@ -91,7 +91,7 @@ private Q_SLOTS:
QFETCH_GLOBAL(Vfs::Mode, vfsMode);
QFETCH_GLOBAL(bool, filesAreDehydrated);

if (vfsMode == Vfs::WindowsCfApi) {
if (vfsMode == Vfs::Mode::WindowsCfApi) {
QSKIP("Known issue: the winvfs plug-in fails to set file permissions");
}

Expand Down Expand Up @@ -382,7 +382,7 @@ private Q_SLOTS:
QFETCH_GLOBAL(Vfs::Mode, vfsMode);
QFETCH_GLOBAL(bool, filesAreDehydrated);

if (vfsMode == Vfs::WindowsCfApi) {
if (vfsMode == Vfs::Mode::WindowsCfApi) {
QSKIP("Known issue: the winvfs plug-in fails to set file permissions");
}

Expand Down Expand Up @@ -509,7 +509,7 @@ private Q_SLOTS:
QFETCH_GLOBAL(Vfs::Mode, vfsMode);
QFETCH_GLOBAL(bool, filesAreDehydrated);

if (vfsMode == Vfs::WindowsCfApi) {
if (vfsMode == Vfs::Mode::WindowsCfApi) {
QSKIP("Known issue: the winvfs plug-in fails to set file permissions");
}

Expand Down
10 changes: 5 additions & 5 deletions test/testremotediscovery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,15 +69,15 @@ private Q_SLOTS:
QTest::addColumn<Vfs::Mode>("vfsMode");
QTest::addColumn<bool>("filesAreDehydrated");

QTest::newRow("Vfs::Off") << Vfs::Off << false;
QTest::newRow("Vfs::Mode::Off") << Vfs::Mode::Off << false;

if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::WindowsCfApi)) {
QTest::newRow("Vfs::WindowsCfApi dehydrated") << Vfs::WindowsCfApi << true;
if (VfsPluginManager::instance().isVfsPluginAvailable(Vfs::Mode::WindowsCfApi)) {
QTest::newRow("Vfs::Mode::WindowsCfApi dehydrated") << Vfs::Mode::WindowsCfApi << true;

// TODO: the hydrated version will fail due to an issue in the winvfs plugin, so leave it disabled for now.
// QTest::newRow("Vfs::WindowsCfApi hydrated") << Vfs::WindowsCfApi << false;
// QTest::newRow("Vfs::Mode::WindowsCfApi hydrated") << Vfs::Mode::WindowsCfApi << false;
} else if (Utility::isWindows()) {
qWarning("Skipping Vfs::WindowsCfApi");
qWarning("Skipping Vfs::Mode::WindowsCfApi");
}
}

Expand Down
Loading