// Copyright 2013 The Chromium 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 PPAPI_SHARED_IMPL_FILE_REF_UTIL_H_
#define PPAPI_SHARED_IMPL_FILE_REF_UTIL_H_

#include <string>

#include "ppapi/shared_impl/ppapi_shared_export.h"

namespace base {
class FilePath;
}

namespace ppapi {

// Routines to generate display names for internal and external file paths.
PPAPI_SHARED_EXPORT std::string GetNameForInternalFilePath(
    const std::string& path);
PPAPI_SHARED_EXPORT std::string GetNameForExternalFilePath(
    const base::FilePath& path);

// Determines whether an internal file path is valid.
PPAPI_SHARED_EXPORT bool IsValidInternalPath(const std::string& path);

// Determines whether an external file path is valid.
PPAPI_SHARED_EXPORT bool IsValidExternalPath(const base::FilePath& path);

// If path ends with a slash, normalize it away unless it's the root path.
PPAPI_SHARED_EXPORT void NormalizeInternalPath(std::string* path);

}  // namespace ppapi

#endif  // PPAPI_SHARED_IMPL_FILE_REF_UTIL_H_