Files
Webcam/include/engine/import/import_interface.cpp

46 lines
1.2 KiB
C++

/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#include "import/import_interface.h"
#include "filesystem/filesystem.h"
#include "platform.h"
using GS::String;
using namespace GS::S3D;
//------------------------------------------------------------------------------
bool IImport::GetOutputPath(String &path, const String &base, const char *name, const char *dflt, const char *ext, Config::PathExistsPolicy exist_policy) const
{
if (base.IsEmpty())
return false;
if (!name)
name = dflt;
path = String::Format("%s/%s.%s", base.c_str(), name, ext);
switch (exist_policy)
{
case Config::Overwrite:
return true;
case Config::Skip:
if (Platform::Get().io->Exists(path))
return false;
break;
case Config::Rename:
for (uint n = 0; Platform::Get().io->Exists(path) && (n < 10000); ++n)
path = String::Format("%s/%s-%04d.%s", base.c_str(), name, n, ext);
break;
default: break;
}
return true;
}
//------------------------------------------------------------------------------