60 lines
1.6 KiB
C++
60 lines
1.6 KiB
C++
// *****************************************************************************
|
|
// * This file is part of the FreeFileSync project. It is distributed under *
|
|
// * GNU General Public License: https://www.gnu.org/licenses/gpl-3.0 *
|
|
// * Copyright (C) Zenju (zenju AT freefilesync DOT org) - All Rights Reserved *
|
|
// *****************************************************************************
|
|
|
|
#include "concrete.h"
|
|
#include "native.h"
|
|
#include "ftp.h"
|
|
#include "sftp.h"
|
|
#include "gdrive.h"
|
|
|
|
using namespace fff;
|
|
using namespace zen;
|
|
|
|
|
|
void fff::initAfs(const AfsConfig& cfg)
|
|
{
|
|
ftpInit();
|
|
sftpInit();
|
|
gdriveInit(appendPath(cfg.configDirPath, Zstr("GoogleDrive")),
|
|
appendPath(cfg.resourceDirPath, Zstr("cacert.pem")));
|
|
}
|
|
|
|
|
|
void fff::teardownAfs()
|
|
{
|
|
gdriveTeardown();
|
|
sftpTeardown();
|
|
ftpTeardown();
|
|
}
|
|
|
|
|
|
AbstractPath fff::getNullPath()
|
|
{
|
|
return createItemPathNativeNoFormatting(Zstring());
|
|
}
|
|
|
|
|
|
AbstractPath fff::createAbstractPath(const Zstring& itemPathPhrase) //noexcept
|
|
{
|
|
//greedy: try native evaluation first
|
|
if (acceptsItemPathPhraseNative(itemPathPhrase)) //noexcept
|
|
return createItemPathNative(itemPathPhrase); //noexcept
|
|
|
|
//then the rest:
|
|
if (acceptsItemPathPhraseFtp(itemPathPhrase)) //noexcept
|
|
return createItemPathFtp(itemPathPhrase); //noexcept
|
|
|
|
if (acceptsItemPathPhraseSftp(itemPathPhrase)) //noexcept
|
|
return createItemPathSftp(itemPathPhrase); //noexcept
|
|
|
|
if (acceptsItemPathPhraseGdrive(itemPathPhrase)) //noexcept
|
|
return createItemPathGdrive(itemPathPhrase); //noexcept
|
|
|
|
|
|
//no idea? => native!
|
|
return createItemPathNative(itemPathPhrase);
|
|
}
|