| Index: chrome/browser/chromeos/drive/file_system/remove_operation.h
|
| diff --git a/chrome/browser/chromeos/drive/file_system/remove_operation.h b/chrome/browser/chromeos/drive/file_system/remove_operation.h
|
| index d8c29ee9fda07604d07c27d79066c169382b0d7f..679becd735483d9530cea756887de2ea18c5a3e7 100644
|
| --- a/chrome/browser/chromeos/drive/file_system/remove_operation.h
|
| +++ b/chrome/browser/chromeos/drive/file_system/remove_operation.h
|
| @@ -9,6 +9,7 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "chrome/browser/chromeos/drive/file_errors.h"
|
| +#include "chrome/browser/chromeos/drive/file_system_interface.h"
|
| #include "chrome/browser/google_apis/gdata_errorcode.h"
|
|
|
| namespace base {
|
| @@ -40,27 +41,38 @@ class RemoveOperation {
|
| internal::FileCache* cache);
|
| ~RemoveOperation();
|
|
|
| - // Perform the remove operation on the file at drive path |file_path|.
|
| - // Invokes |callback| when finished with the result of the operation.
|
| + // Removes the resource at |path|. If |path| is a directory and |is_recursive|
|
| + // is set, it recursively removes all the descendants. If |is_recursive| is
|
| + // not set, it succeeds only when the directory is empty.
|
| + //
|
| // |callback| must not be null.
|
| - void Remove(const base::FilePath& file_path,
|
| + void Remove(const base::FilePath& path,
|
| bool is_recursive,
|
| const FileOperationCallback& callback);
|
|
|
| private:
|
| // Part of Remove(). Called after GetResourceEntryByPath() is complete.
|
| - void RemoveAfterGetResourceEntry(const FileOperationCallback& callback,
|
| + void RemoveAfterGetResourceEntry(const base::FilePath& path,
|
| + bool is_recursive,
|
| + const FileOperationCallback& callback,
|
| FileError error,
|
| scoped_ptr<ResourceEntry> entry);
|
|
|
| - // Callback for DriveServiceInterface::DeleteResource. Removes the entry with
|
| - // |resource_id| from the local snapshot of the filesystem and the cache.
|
| + // Part of Remove(). Called when is_recursive = false and trying to remove
|
| + // a directory. In this case the emptiness of directory must be checked.
|
| + void RemoveAfterReadDirectory(const std::string& resource_id,
|
| + const FileOperationCallback& callback,
|
| + FileError error,
|
| + scoped_ptr<ResourceEntryVector> entries);
|
| +
|
| + // Part of Remove(). Called after server-side removal is done. Removes the
|
| + // entry with |resource_id| from the resource metadata and the cache.
|
| void RemoveResourceLocally(const FileOperationCallback& callback,
|
| const std::string& resource_id,
|
| google_apis::GDataErrorCode status);
|
|
|
| - // Sends notification for directory changes. Notifies of directory changes,
|
| - // and runs |callback| with |error|.
|
| + // Part of Remove(). Sends notification for directory changes, and runs
|
| + // |callback| with |error|.
|
| void NotifyDirectoryChanged(const FileOperationCallback& callback,
|
| FileError error,
|
| const base::FilePath& directory_path);
|
|
|