ipc/chromium/src/base/scoped_temp_dir.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // Copyright (c) 2009 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.
     5 #ifndef BASE_SCOPED_TEMP_DIR_H_
     6 #define BASE_SCOPED_TEMP_DIR_H_
     8 // An object representing a temporary / scratch directory that should be cleaned
     9 // up (recursively) when this object goes out of scope.  Note that since
    10 // deletion occurs during the destructor, no further error handling is possible
    11 // if the directory fails to be deleted.  As a result, deletion is not
    12 // guaranteed by this class.
    14 #include "base/file_path.h"
    16 class ScopedTempDir {
    17  public:
    18   // No directory is owned/created initially.
    19   ScopedTempDir();
    21   // Recursively delete path_
    22   ~ScopedTempDir();
    24   // Creates a unique directory in TempPath, and takes ownership of it.
    25   // See file_util::CreateNewTemporaryDirectory.
    26   bool CreateUniqueTempDir();
    28   // Takes ownership of directory at |path|, creating it if necessary.
    29   // Don't call multiple times unless Take() has been called first.
    30   bool Set(const FilePath& path);
    32   // Caller takes ownership of the temporary directory so it won't be destroyed
    33   // when this object goes out of scope.
    34   FilePath Take();
    36   const FilePath& path() const { return path_; }
    38   // Returns true if path_ is non-empty and exists.
    39   bool IsValid() const;
    41  private:
    42   FilePath path_;
    44   DISALLOW_COPY_AND_ASSIGN(ScopedTempDir);
    45 };
    47 #endif  // BASE_SCOPED_TEMP_DIR_H_

mercurial