| Index: base/file_path.h
|
| ===================================================================
|
| --- base/file_path.h (revision 7805)
|
| +++ base/file_path.h (working copy)
|
| @@ -109,6 +109,9 @@
|
| // A special path component meaning "the parent directory."
|
| static const CharType kParentDirectory[];
|
|
|
| + // The character used to identify a file extension.
|
| + static const CharType kExtensionSeparator;
|
| +
|
| FilePath() {}
|
| FilePath(const FilePath& that) : path_(that.path_) {}
|
| explicit FilePath(const StringType& path) : path_(path) {}
|
| @@ -147,6 +150,36 @@
|
| // this is the only situation in which BaseName will return an absolute path.
|
| FilePath BaseName() const;
|
|
|
| + // Returns ".jpg" for path "C:\pics\jojo.jpg", or an empty string if
|
| + // the file has no extension. If non-empty, Extension() will always start
|
| + // with precisely one ".". The following code should always work regardless
|
| + // of the value of path.
|
| + // new_path = path.RemoveExtension().value().append(path.Extension());
|
| + // ASSERT(new_path == path.value());
|
| + // NOTE: this is different from the original file_util implementation which
|
| + // returned the extension without a leading "." ("jpg" instead of ".jpg")
|
| + StringType Extension() const;
|
| +
|
| + // Returns "C:\pics\jojo" for path "C:\pics\jojo.jpg"
|
| + // NOTE: this is slightly different from the similar file_util implementation
|
| + // which returned simply 'jojo'.
|
| + FilePath RemoveExtension() const;
|
| +
|
| + // Inserts |suffix| after the file name portion of |path| but before the
|
| + // extension. Returns "" if BaseName() == "." or "..".
|
| + // Examples:
|
| + // path == "C:\pics\jojo.jpg" suffix == " (1)", returns "C:\pics\jojo (1).jpg"
|
| + // path == "jojo.jpg" suffix == " (1)", returns "jojo (1).jpg"
|
| + // path == "C:\pics\jojo" suffix == " (1)", returns "C:\pics\jojo (1)"
|
| + // path == "C:\pics.old\jojo" suffix == " (1)", returns "C:\pics.old\jojo (1)"
|
| + FilePath InsertBeforeExtension(const StringType& suffix) const;
|
| +
|
| + // Replaces the extension of |file_name| with |extension|. If |file_name|
|
| + // does not have an extension, them |extension| is added. If |extension| is
|
| + // empty, then the extension is removed from |file_name|.
|
| + // Returns "" if BaseName() == "." or "..".
|
| + FilePath ReplaceExtension(const StringType& extension) const;
|
| +
|
| // Returns a FilePath by appending a separator and the supplied path
|
| // component to this object's path. Append takes care to avoid adding
|
| // excessive separators if this object's path already ends with a separator.
|
|
|