1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
// *****************************************************************************
// * 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);
}
|