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/unmount.h"
      6 
      7 #include "base/values.h"
      8 #include "chrome/common/extensions/api/file_system_provider.h"
      9 
     10 namespace chromeos {
     11 namespace file_system_provider {
     12 namespace operations {
     13 
     14 Unmount::Unmount(extensions::EventRouter* event_router,
     15                  const ProvidedFileSystemInfo& file_system_info,
     16                  const fileapi::AsyncFileUtil::StatusCallback& callback)
     17     : Operation(event_router, file_system_info), callback_(callback) {
     18 }
     19 
     20 Unmount::~Unmount() {
     21 }
     22 
     23 bool Unmount::Execute(int request_id) {
     24   scoped_ptr<base::DictionaryValue> values(new base::DictionaryValue);
     25   return SendEvent(
     26       request_id,
     27       extensions::api::file_system_provider::OnUnmountRequested::kEventName,
     28       values.Pass());
     29 }
     30 
     31 void Unmount::OnSuccess(int /* request_id */,
     32                         scoped_ptr<RequestValue> /* result */,
     33                         bool /* has_more */) {
     34   callback_.Run(base::File::FILE_OK);
     35 }
     36 
     37 void Unmount::OnError(int /* request_id */, base::File::Error error) {
     38   callback_.Run(error);
     39 }
     40 
     41 }  // namespace operations
     42 }  // namespace file_system_provider
     43 }  // namespace chromeos
     44