| Index: webkit/blob/deletable_file_reference.h
|
| ===================================================================
|
| --- webkit/blob/deletable_file_reference.h (revision 0)
|
| +++ webkit/blob/deletable_file_reference.h (revision 0)
|
| @@ -0,0 +1,49 @@
|
| +// Copyright (c) 2010 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 WEBKIT_BLOB_DELETABLE_FILE_REFERENCE_H_
|
| +#define WEBKIT_BLOB_DELETABLE_FILE_REFERENCE_H_
|
| +#pragma once
|
| +
|
| +#include "base/file_path.h"
|
| +#include "base/ref_counted.h"
|
| +
|
| +namespace base {
|
| +class MessageLoopProxy;
|
| +}
|
| +
|
| +namespace webkit_blob {
|
| +
|
| +// A refcounted wrapper around a FilePath that schedules the file
|
| +// to be deleted upon final release.
|
| +class DeletableFileReference : public base::RefCounted<DeletableFileReference> {
|
| + public:
|
| + // Returns a DeletableFileReference for the given path, if no reference
|
| + // for this path exists returns NULL.
|
| + static scoped_refptr<DeletableFileReference> Get(const FilePath& path);
|
| +
|
| + // Returns a DeletableFileReference for the given path, creating a new
|
| + // reference if none yet exists.
|
| + static scoped_refptr<DeletableFileReference> GetOrCreate(
|
| + const FilePath& path, base::MessageLoopProxy* file_thread);
|
| +
|
| + // The full file path.
|
| + const FilePath& path() const { return path_; }
|
| +
|
| + private:
|
| + friend class base::RefCounted<DeletableFileReference>;
|
| +
|
| + DeletableFileReference(
|
| + const FilePath& path, base::MessageLoopProxy* file_thread);
|
| + ~DeletableFileReference();
|
| +
|
| + const FilePath path_;
|
| + scoped_refptr<base::MessageLoopProxy> file_thread_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(DeletableFileReference);
|
| +};
|
| +
|
| +} // namespace webkit_blob
|
| +
|
| +#endif // BASE_DELETABLE_FILE_REFERENCE_H_
|
|
|
| Property changes on: webkit\blob\deletable_file_reference.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|