本文整理汇总了C++中FilePath::makeCurrentPath方法的典型用法代码示例。如果您正苦于以下问题:C++ FilePath::makeCurrentPath方法的具体用法?C++ FilePath::makeCurrentPath怎么用?C++ FilePath::makeCurrentPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FilePath
的用法示例。
在下文中一共展示了FilePath::makeCurrentPath方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: safeCurrentPath
FilePath FilePath::safeCurrentPath(const FilePath& revertToPath)
{
try
{
#ifdef _WIN32
return FilePath(boost::filesystem::current_path().wstring()) ;
#elif defined(BOOST_FILESYSTEM_VERSION) && BOOST_FILESYSTEM_VERSION != 2
return FilePath(boost::filesystem::current_path().string()) ;
#else
return FilePath(boost::filesystem::current_path<path_t>().string()) ;
#endif
}
catch(const boost::filesystem::filesystem_error& e)
{
if (e.code() != boost::system::errc::no_such_file_or_directory)
LOG_ERROR(Error(e.code(), ERROR_LOCATION));
}
CATCH_UNEXPECTED_EXCEPTION
// revert to the specified path if it exists, otherwise
// take the user home path from the system
FilePath safePath = revertToPath;
if (!safePath.exists())
safePath = core::system::userHomePath();
Error error = safePath.makeCurrentPath();
if (error)
LOG_ERROR(error);
return safePath;
}
示例2: setWorkingDirectory
Error setWorkingDirectory(const json::JsonRpcRequest& request,
json::JsonRpcResponse*)
{
// get the path
std::string path;
Error error = json::readParam(request.params, 0, &path);
if (error)
return error;
// set current path
FilePath filePath = module_context::resolveAliasedPath(path);
return filePath.makeCurrentPath();
}
示例3: restoreWorkingDirectory
Error restoreWorkingDirectory(const FilePath& userHomePath,
const std::string& workingDirectory)
{
// resolve working dir
FilePath workingDirPath = FilePath::resolveAliasedPath(workingDirectory,
userHomePath);
// restore working path if it exists (else revert to home)
if (workingDirPath.exists())
return workingDirPath.makeCurrentPath() ;
else
return utils::userHomePath().makeCurrentPath();
}