bf111d7bc9
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>
56 lines
1.7 KiB
C++
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
|