sometime it can be called with a path that is already deleted
ensure we always go to the correct code path
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
cmake distinct runtime and library
on unix dynamic shared libraries are library kind of objects
on windows they are runtime kind of objects
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
This makes the code a bit nicer to read and maybe a bit more robust.
Set the relevant OUTPUT_NAME target properties to keep the ability to
customize the names of the installed binaries.
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
for a reason a mac os platform specific file is missing and before xattr
plugin was compiled only for linux
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
_com_error(cfExecuteresult).ErrorMessage() calls should be translated to
QString before use with qDebug and related logging facilities
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
files that get downloaded not through an hydration request need to be
converted to placeholder
sets the expected state when converting them to placeholder files
#3082
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
when using Cloud Filter API with enabled VFS on Windows, a progress bar
stays visible for some time after hydration is completed. Not updating a
last time the progress bar prevents that.
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
sets a reasonable size of the StructSize members in the struct passed to
CfRegisterSyncRoot function
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
This would only happen if the parent of the newly created folder would
be explicitly set to online only, hence why it went under the radar
previously.
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
The OS might request the same file again if we take too much time to
fulfill a request. So in case it's queueing the same one again instead
of bailing out just fail the second one and let the first one finish
properly.
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
In case we'd been to slow to fullfill or we're still processing a
cancelled request better not just crash. We still log the issue though.
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
MSVC having so useless error messages it didn't quite point to the root
cause of the issue... it turns out that through the maze of macros
defined in the windows API, there's one which impacted the function
pointer definition of CfCloseHandle which would then not convert to
FileHandle::Deleter as expected. So I end up wrapping it in a lambda to
help... luckily this kind of lambdas decay into a simple function
pointer so there's likely no overhead it's just to coerce the compiler
into doing the right thing.
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>