Home | History | Annotate | Download | only in dbus
      1 // Copyright (c) 2013 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 "chromeos/dbus/fake_cros_disks_client.h"
      6 
      7 #include "base/bind.h"
      8 #include "base/logging.h"
      9 #include "base/message_loop/message_loop.h"
     10 
     11 namespace chromeos {
     12 
     13 FakeCrosDisksClient::FakeCrosDisksClient()
     14     : unmount_call_count_(0),
     15       unmount_success_(true),
     16       format_call_count_(0),
     17       format_success_(true) {
     18 }
     19 
     20 FakeCrosDisksClient::~FakeCrosDisksClient() {
     21 }
     22 
     23 void FakeCrosDisksClient::Init(dbus::Bus* bus) {
     24 }
     25 
     26 void FakeCrosDisksClient::Mount(const std::string& source_path,
     27                                 const std::string& source_format,
     28                                 const std::string& mount_label,
     29                                 const base::Closure& callback,
     30                                 const base::Closure& error_callback) {
     31 }
     32 
     33 void FakeCrosDisksClient::Unmount(const std::string& device_path,
     34                                   UnmountOptions options,
     35                                   const base::Closure& callback,
     36                                   const base::Closure& error_callback) {
     37   DCHECK(!callback.is_null());
     38   DCHECK(!error_callback.is_null());
     39 
     40   unmount_call_count_++;
     41   last_unmount_device_path_ = device_path;
     42   last_unmount_options_ = options;
     43   base::MessageLoopProxy::current()->PostTask(
     44       FROM_HERE, unmount_success_ ? callback : error_callback);
     45   if (!unmount_listener_.is_null())
     46     unmount_listener_.Run();
     47 }
     48 
     49 void FakeCrosDisksClient::EnumerateAutoMountableDevices(
     50     const EnumerateAutoMountableDevicesCallback& callback,
     51     const base::Closure& error_callback) {
     52 }
     53 
     54 void FakeCrosDisksClient::EnumerateMountEntries(
     55     const EnumerateMountEntriesCallback& callback,
     56     const base::Closure& error_callback) {
     57 }
     58 
     59 void FakeCrosDisksClient::Format(const std::string& device_path,
     60                                  const std::string& filesystem,
     61                                  const base::Closure& callback,
     62                                  const base::Closure& error_callback) {
     63   DCHECK(!callback.is_null());
     64   DCHECK(!error_callback.is_null());
     65 
     66   format_call_count_++;
     67   last_format_device_path_ = device_path;
     68   last_format_filesystem_ = filesystem;
     69   if (format_success_) {
     70     base::MessageLoopProxy::current()->PostTask(FROM_HERE, callback);
     71   } else {
     72     base::MessageLoopProxy::current()->PostTask(FROM_HERE, error_callback);
     73   }
     74 }
     75 
     76 void FakeCrosDisksClient::GetDeviceProperties(
     77     const std::string& device_path,
     78     const GetDevicePropertiesCallback& callback,
     79     const base::Closure& error_callback) {
     80 }
     81 
     82 void FakeCrosDisksClient::SetMountEventHandler(
     83     const MountEventHandler& mount_event_handler) {
     84   mount_event_handler_ = mount_event_handler;
     85 }
     86 
     87 void FakeCrosDisksClient::SetMountCompletedHandler(
     88     const MountCompletedHandler& mount_completed_handler) {
     89   mount_completed_handler_ = mount_completed_handler;
     90 }
     91 
     92 void FakeCrosDisksClient::SetFormatCompletedHandler(
     93     const FormatCompletedHandler& format_completed_handler) {
     94   format_completed_handler_ = format_completed_handler;
     95 }
     96 
     97 bool FakeCrosDisksClient::SendMountEvent(MountEventType event,
     98                                          const std::string& path) {
     99   if (mount_event_handler_.is_null())
    100     return false;
    101   mount_event_handler_.Run(event, path);
    102   return true;
    103 }
    104 
    105 bool FakeCrosDisksClient::SendMountCompletedEvent(
    106     MountError error_code,
    107     const std::string& source_path,
    108     MountType mount_type,
    109     const std::string& mount_path) {
    110   if (mount_completed_handler_.is_null())
    111     return false;
    112   mount_completed_handler_.Run(
    113       MountEntry(error_code, source_path, mount_type, mount_path));
    114   return true;
    115 }
    116 
    117 bool FakeCrosDisksClient::SendFormatCompletedEvent(
    118     FormatError error_code,
    119     const std::string& device_path) {
    120   if (format_completed_handler_.is_null())
    121     return false;
    122   format_completed_handler_.Run(error_code, device_path);
    123   return true;
    124 }
    125 
    126 }  // namespace chromeos
    127