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. 4 5 #include "chrome/browser/chromeos/file_system_provider/operations/abort.h" 6 7 #include <string> 8 9 #include "chrome/common/extensions/api/file_system_provider.h" 10 #include "chrome/common/extensions/api/file_system_provider_internal.h" 11 12 namespace chromeos { 13 namespace file_system_provider { 14 namespace operations { 15 16 Abort::Abort(extensions::EventRouter* event_router, 17 const ProvidedFileSystemInfo& file_system_info, 18 int operation_request_id, 19 const storage::AsyncFileUtil::StatusCallback& callback) 20 : Operation(event_router, file_system_info), 21 operation_request_id_(operation_request_id), 22 callback_(callback) { 23 } 24 25 Abort::~Abort() { 26 } 27 28 bool Abort::Execute(int request_id) { 29 using extensions::api::file_system_provider::AbortRequestedOptions; 30 31 AbortRequestedOptions options; 32 options.file_system_id = file_system_info_.file_system_id(); 33 options.request_id = request_id; 34 options.operation_request_id = operation_request_id_; 35 36 return SendEvent( 37 request_id, 38 extensions::api::file_system_provider::OnAbortRequested::kEventName, 39 extensions::api::file_system_provider::OnAbortRequested::Create(options)); 40 } 41 42 void Abort::OnSuccess(int /* request_id */, 43 scoped_ptr<RequestValue> /* result */, 44 bool has_more) { 45 callback_.Run(base::File::FILE_OK); 46 } 47 48 void Abort::OnError(int /* request_id */, 49 scoped_ptr<RequestValue> /* result */, 50 base::File::Error error) { 51 callback_.Run(error); 52 } 53 54 } // namespace operations 55 } // namespace file_system_provider 56 } // namespace chromeos 57