skia2/src/utils/SkOSPath.h
Ben Wagner bf111d7bc9 Move SkOSPath out of include/core.
It is moved to src/utils. It is almost a tool, but has two uses in
src/ports.

The existing SkOSFile.cpp is left empty for the time being since it is
mentioned in Chromium's BUILD.gn for Skia.

Change-Id: I3bb7f7c4214359eb6ab906bfe76737d20bf1d6c7
Reviewed-on: https://skia-review.googlesource.com/4536
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2016-11-08 20:20:15 +00:00

56 lines
1.7 KiB
C++

/*
* Copyright 2016 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkOSPath_DEFINED
#define SkOSPath_DEFINED
#include "SkString.h"
/**
* Functions for modifying SkStrings which represent paths on the filesystem.
*/
class SkOSPath {
public:
#ifdef _WIN32
const static char SEPARATOR = '\\';
#else
const static char SEPARATOR = '/';
#endif
/**
* Assembles rootPath and relativePath into a single path, like this:
* rootPath/relativePath.
* It is okay to call with a NULL rootPath and/or relativePath. A path
* separator will still be inserted.
*
* Uses SkPATH_SEPARATOR, to work on all platforms.
*/
static SkString Join(const char* rootPath, const char* relativePath);
/**
* Return the name of the file, ignoring the directory structure.
* Behaves like python's os.path.basename. If the fullPath is
* /dir/subdir/, an empty string is returned.
* @param fullPath Full path to the file.
* @return SkString The basename of the file - anything beyond the
* final slash, or the full name if there is no slash.
*/
static SkString Basename(const char* fullPath);
/**
* Given a qualified file name returns the directory.
* Behaves like python's os.path.dirname. If the fullPath is
* /dir/subdir/ the return will be /dir/subdir/
* @param fullPath Full path to the file.
* @return SkString The dir containing the file - anything preceding the
* final slash, or the full name if ending in a slash.
*/
static SkString Dirname(const char* fullPath);
};
#endif