Home | History | Annotate | Download | only in operations
      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