// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chromeos/dbus/fake_cros_disks_client.h" #include "base/bind.h" #include "base/logging.h" #include "base/message_loop/message_loop.h" namespace chromeos { FakeCrosDisksClient::FakeCrosDisksClient() : unmount_call_count_(0), unmount_success_(true), format_call_count_(0), format_success_(true) { } FakeCrosDisksClient::~FakeCrosDisksClient() { } void FakeCrosDisksClient::Init(dbus::Bus* bus) { } void FakeCrosDisksClient::Mount(const std::string& source_path, const std::string& source_format, const std::string& mount_label, const base::Closure& callback, const base::Closure& error_callback) { } void FakeCrosDisksClient::Unmount(const std::string& device_path, UnmountOptions options, const base::Closure& callback, const base::Closure& error_callback) { DCHECK(!callback.is_null()); DCHECK(!error_callback.is_null()); unmount_call_count_++; last_unmount_device_path_ = device_path; last_unmount_options_ = options; base::MessageLoopProxy::current()->PostTask( FROM_HERE, unmount_success_ ? callback : error_callback); if (!unmount_listener_.is_null()) unmount_listener_.Run(); } void FakeCrosDisksClient::EnumerateAutoMountableDevices( const EnumerateAutoMountableDevicesCallback& callback, const base::Closure& error_callback) { } void FakeCrosDisksClient::EnumerateMountEntries( const EnumerateMountEntriesCallback& callback, const base::Closure& error_callback) { } void FakeCrosDisksClient::Format(const std::string& device_path, const std::string& filesystem, const base::Closure& callback, const base::Closure& error_callback) { DCHECK(!callback.is_null()); DCHECK(!error_callback.is_null()); format_call_count_++; last_format_device_path_ = device_path; last_format_filesystem_ = filesystem; if (format_success_) { base::MessageLoopProxy::current()->PostTask(FROM_HERE, callback); } else { base::MessageLoopProxy::current()->PostTask(FROM_HERE, error_callback); } } void FakeCrosDisksClient::GetDeviceProperties( const std::string& device_path, const GetDevicePropertiesCallback& callback, const base::Closure& error_callback) { } void FakeCrosDisksClient::SetMountEventHandler( const MountEventHandler& mount_event_handler) { mount_event_handler_ = mount_event_handler; } void FakeCrosDisksClient::SetMountCompletedHandler( const MountCompletedHandler& mount_completed_handler) { mount_completed_handler_ = mount_completed_handler; } void FakeCrosDisksClient::SetFormatCompletedHandler( const FormatCompletedHandler& format_completed_handler) { format_completed_handler_ = format_completed_handler; } bool FakeCrosDisksClient::SendMountEvent(MountEventType event, const std::string& path) { if (mount_event_handler_.is_null()) return false; mount_event_handler_.Run(event, path); return true; } bool FakeCrosDisksClient::SendMountCompletedEvent( MountError error_code, const std::string& source_path, MountType mount_type, const std::string& mount_path) { if (mount_completed_handler_.is_null()) return false; mount_completed_handler_.Run( MountEntry(error_code, source_path, mount_type, mount_path)); return true; } bool FakeCrosDisksClient::SendFormatCompletedEvent( FormatError error_code, const std::string& device_path) { if (format_completed_handler_.is_null()) return false; format_completed_handler_.Run(error_code, device_path); return true; } } // namespace chromeos