1 // Copyright 2014 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 CHROME_BROWSER_LOCAL_DISCOVERY_STORAGE_PRIVET_FILESYSTEM_ASYNC_UTIL_H_
6 #define CHROME_BROWSER_LOCAL_DISCOVERY_STORAGE_PRIVET_FILESYSTEM_ASYNC_UTIL_H_
8 #include "chrome/browser/local_discovery/storage/privet_filesystem_attribute_cache.h"
9 #include "chrome/browser/local_discovery/storage/privet_filesystem_operations.h"
10 #include "content/public/browser/browser_context.h"
11 #include "webkit/browser/fileapi/async_file_util.h"
13 namespace local_discovery
{
15 class PrivetFileSystemAsyncUtil
: public fileapi::AsyncFileUtil
{
17 explicit PrivetFileSystemAsyncUtil(content::BrowserContext
* browser_context
);
18 virtual ~PrivetFileSystemAsyncUtil();
20 virtual void CreateOrOpen(
21 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
22 const fileapi::FileSystemURL
& url
,
24 const CreateOrOpenCallback
& callback
) OVERRIDE
;
25 virtual void EnsureFileExists(
26 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
27 const fileapi::FileSystemURL
& url
,
28 const EnsureFileExistsCallback
& callback
) OVERRIDE
;
29 virtual void CreateDirectory(
30 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
31 const fileapi::FileSystemURL
& url
,
34 const StatusCallback
& callback
) OVERRIDE
;
35 virtual void GetFileInfo(
36 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
37 const fileapi::FileSystemURL
& url
,
38 const GetFileInfoCallback
& callback
) OVERRIDE
;
39 virtual void ReadDirectory(
40 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
41 const fileapi::FileSystemURL
& url
,
42 const ReadDirectoryCallback
& callback
) OVERRIDE
;
44 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
45 const fileapi::FileSystemURL
& url
,
46 const base::Time
& last_access_time
,
47 const base::Time
& last_modified_time
,
48 const StatusCallback
& callback
) OVERRIDE
;
49 virtual void Truncate(
50 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
51 const fileapi::FileSystemURL
& url
,
53 const StatusCallback
& callback
) OVERRIDE
;
54 virtual void CopyFileLocal(
55 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
56 const fileapi::FileSystemURL
& src_url
,
57 const fileapi::FileSystemURL
& dest_url
,
58 CopyOrMoveOption option
,
59 const CopyFileProgressCallback
& progress_callback
,
60 const StatusCallback
& callback
) OVERRIDE
;
61 virtual void MoveFileLocal(
62 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
63 const fileapi::FileSystemURL
& src_url
,
64 const fileapi::FileSystemURL
& dest_url
,
65 CopyOrMoveOption option
,
66 const StatusCallback
& callback
) OVERRIDE
;
67 virtual void CopyInForeignFile(
68 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
69 const base::FilePath
& src_file_path
,
70 const fileapi::FileSystemURL
& dest_url
,
71 const StatusCallback
& callback
) OVERRIDE
;
72 virtual void DeleteFile(
73 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
74 const fileapi::FileSystemURL
& url
,
75 const StatusCallback
& callback
) OVERRIDE
;
76 virtual void DeleteDirectory(
77 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
78 const fileapi::FileSystemURL
& url
,
79 const StatusCallback
& callback
) OVERRIDE
;
80 virtual void DeleteRecursively(
81 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
82 const fileapi::FileSystemURL
& url
,
83 const StatusCallback
& callback
) OVERRIDE
;
84 virtual void CreateSnapshotFile(
85 scoped_ptr
<fileapi::FileSystemOperationContext
> context
,
86 const fileapi::FileSystemURL
& url
,
87 const CreateSnapshotFileCallback
& callback
) OVERRIDE
;
90 PrivetFileSystemOperationFactory
* operation_factory_
;
93 } // namespace local_discovery
95 #endif // CHROME_BROWSER_LOCAL_DISCOVERY_STORAGE_PRIVET_FILESYSTEM_ASYNC_UTIL_H_