Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Unified Diff: chrome/browser/renderer_host/file_system_accessor.h

Issue 338065: Add the ability for objects which derive from RefCountedThreadSafe to specify... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chrome_thread_unittest.cc ('k') | chrome/browser/renderer_host/file_system_accessor.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/renderer_host/file_system_accessor.h
===================================================================
--- chrome/browser/renderer_host/file_system_accessor.h (revision 30647)
+++ chrome/browser/renderer_host/file_system_accessor.h (working copy)
@@ -1,74 +0,0 @@
-// Copyright (c) 2006-2009 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.
-//
-// FileSystemAccessor provides functions so consumers can do file access
-// asynchronously. It would PostTask to FILE thread to access file info, then on
-// completion PostTask back to the caller thread and pass the result back.
-// Here is an example on how to use it to get file size:
-// 1. Define a callback function so FileSystemAccessor could run it after the
-// task has been completed:
-// void Foo::GetFileSizeCallback(int64 result, void* param) {
-// }
-// 2. Call static function FileSystemAccessor::RequestFileSize, provide file
-// path, param (any object you want to pass back to the callback function)
-// and callback:
-// FileSystemAccessor::RequestFileSize(
-// path,
-// param,
-// NewCallback(this, &Foo::GetFileSizeCallback));
-// 3. FileSystemAceessor would PostTask to FILE thread to get file size, then
-// on completion it would PostTask back to the current thread and run
-// Foo::GetFileSizeCallback.
-//
-
-#ifndef CHROME_BROWSER_RENDERER_HOST_FILE_SYSTEM_ACCESSOR_H_
-#define CHROME_BROWSER_RENDERER_HOST_FILE_SYSTEM_ACCESSOR_H_
-
-#include "base/scoped_ptr.h"
-#include "base/ref_counted.h"
-#include "base/task.h"
-
-class FilePath;
-class MessageLoop;
-
-class FileSystemAccessor
- : public base::RefCountedThreadSafe<FileSystemAccessor> {
- public:
- typedef Callback2<int64, void*>::Type FileSizeCallback;
-
- virtual ~FileSystemAccessor();
-
- // Request to get file size.
- //
- // param is an object that is owned by the caller and needs to pass back to
- // the caller by FileSystemAccessor through the callback function.
- // It can be set to NULL if no object needs to pass back.
- //
- // FileSizeCallback function is defined as:
- // void f(int64 result, void* param);
- // Variable result has the file size. If the file does not exist or there is
- // error accessing the file, result is set to -1. If the given path is a
- // directory, result is set to 0.
- static void RequestFileSize(const FilePath& path,
- void* param,
- FileSizeCallback* callback);
-
- private:
- FileSystemAccessor(void* param, FileSizeCallback* callback);
-
- // Get file size on the worker thread and pass result back to the caller
- // thread.
- void GetFileSize(const FilePath& path);
-
- // Getting file size completed, callback to reply message.
- void GetFileSizeCompleted(int64 result);
-
- MessageLoop* caller_loop_;
- void* param_;
- scoped_ptr<FileSizeCallback> callback_;
-
- DISALLOW_COPY_AND_ASSIGN(FileSystemAccessor);
-};
-
-#endif // CHROME_BROWSER_RENDERER_HOST_FILE_SYSTEM_ACCESSOR_H_
« no previous file with comments | « chrome/browser/chrome_thread_unittest.cc ('k') | chrome/browser/renderer_host/file_system_accessor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698