1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef PPAPI_SHARED_IMPL_FILE_REF_UTIL_H_
6#define PPAPI_SHARED_IMPL_FILE_REF_UTIL_H_
7
8#include <string>
9
10#include "ppapi/shared_impl/ppapi_shared_export.h"
11
12namespace base {
13class FilePath;
14}
15
16namespace ppapi {
17
18// Routines to generate display names for internal and external file paths.
19PPAPI_SHARED_EXPORT std::string GetNameForInternalFilePath(
20    const std::string& path);
21PPAPI_SHARED_EXPORT std::string GetNameForExternalFilePath(
22    const base::FilePath& path);
23
24// Determines whether an internal file path is valid.
25PPAPI_SHARED_EXPORT bool IsValidInternalPath(const std::string& path);
26
27// Determines whether an external file path is valid.
28PPAPI_SHARED_EXPORT bool IsValidExternalPath(const base::FilePath& path);
29
30// If path ends with a slash, normalize it away unless it's the root path.
31PPAPI_SHARED_EXPORT void NormalizeInternalPath(std::string* path);
32
33}  // namespace ppapi
34
35#endif  // PPAPI_SHARED_IMPL_FILE_REF_UTIL_H_
36