blob: 69408317a24b5e68c4568d6c50f19c6ff9961212 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef FLUTTER_FML_PATHS_H_
#define FLUTTER_FML_PATHS_H_
#include <string>
#include <utility>
#include "flutter/fml/unique_fd.h"
namespace fml {
namespace paths {
std::pair<bool, std::string> GetExecutableDirectoryPath();
// Get the directory to the application's caches directory.
fml::UniqueFD GetCachesDirectory();
std::string JoinPaths(std::initializer_list<std::string> components);
// Returns the absolute path of a possibly relative path.
// It doesn't consult the filesystem or simplify the path.
std::string AbsolutePath(const std::string& path);
// Returns the directory name component of the given path.
std::string GetDirectoryName(const std::string& path);
// Decodes a URI encoded string.
std::string SanitizeURIEscapedCharacters(const std::string& str);
// Converts a file URI to a path.
std::string FromURI(const std::string& uri);
} // namespace paths
} // namespace fml
#endif // FLUTTER_FML_PATHS_H_