OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chromeos/dbus/cros_disks_client.h" | 5 #include "chromeos/dbus/cros_disks_client.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
9 #include "dbus/bus.h" | 9 #include "dbus/bus.h" |
10 #include "dbus/message.h" | 10 #include "dbus/message.h" |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 public: | 106 public: |
107 explicit CrosDisksClientImpl(dbus::Bus* bus) | 107 explicit CrosDisksClientImpl(dbus::Bus* bus) |
108 : proxy_(bus->GetObjectProxy( | 108 : proxy_(bus->GetObjectProxy( |
109 cros_disks::kCrosDisksServiceName, | 109 cros_disks::kCrosDisksServiceName, |
110 dbus::ObjectPath(cros_disks::kCrosDisksServicePath))), | 110 dbus::ObjectPath(cros_disks::kCrosDisksServicePath))), |
111 weak_ptr_factory_(this) { | 111 weak_ptr_factory_(this) { |
112 } | 112 } |
113 | 113 |
114 // CrosDisksClient override. | 114 // CrosDisksClient override. |
115 virtual void Mount(const std::string& source_path, | 115 virtual void Mount(const std::string& source_path, |
| 116 const std::string& source_format, |
116 MountType type, | 117 MountType type, |
117 const MountCallback& callback, | 118 const MountCallback& callback, |
118 const ErrorCallback& error_callback) OVERRIDE { | 119 const ErrorCallback& error_callback) OVERRIDE { |
119 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, | 120 dbus::MethodCall method_call(cros_disks::kCrosDisksInterface, |
120 cros_disks::kMount); | 121 cros_disks::kMount); |
121 dbus::MessageWriter writer(&method_call); | 122 dbus::MessageWriter writer(&method_call); |
122 writer.AppendString(source_path); | 123 writer.AppendString(source_path); |
123 writer.AppendString(""); // auto detect filesystem. | 124 writer.AppendString(source_format); |
124 std::vector<std::string> mount_options(kDefaultMountOptions, | 125 std::vector<std::string> mount_options(kDefaultMountOptions, |
125 kDefaultMountOptions + | 126 kDefaultMountOptions + |
126 arraysize(kDefaultMountOptions)); | 127 arraysize(kDefaultMountOptions)); |
127 writer.AppendArrayOfStrings(mount_options); | 128 writer.AppendArrayOfStrings(mount_options); |
128 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 129 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
129 base::Bind(&CrosDisksClientImpl::OnMount, | 130 base::Bind(&CrosDisksClientImpl::OnMount, |
130 weak_ptr_factory_.GetWeakPtr(), | 131 weak_ptr_factory_.GetWeakPtr(), |
131 callback, | 132 callback, |
132 error_callback)); | 133 error_callback)); |
133 } | 134 } |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 DISALLOW_COPY_AND_ASSIGN(CrosDisksClientImpl); | 369 DISALLOW_COPY_AND_ASSIGN(CrosDisksClientImpl); |
369 }; | 370 }; |
370 | 371 |
371 // A stub implementaion of CrosDisksClient. | 372 // A stub implementaion of CrosDisksClient. |
372 class CrosDisksClientStubImpl : public CrosDisksClient { | 373 class CrosDisksClientStubImpl : public CrosDisksClient { |
373 public: | 374 public: |
374 CrosDisksClientStubImpl() {} | 375 CrosDisksClientStubImpl() {} |
375 virtual ~CrosDisksClientStubImpl() {} | 376 virtual ~CrosDisksClientStubImpl() {} |
376 | 377 |
377 virtual void Mount(const std::string& source_path, | 378 virtual void Mount(const std::string& source_path, |
| 379 const std::string& source_format, |
378 MountType type, | 380 MountType type, |
379 const MountCallback& callback, | 381 const MountCallback& callback, |
380 const ErrorCallback& error_callback) OVERRIDE {} | 382 const ErrorCallback& error_callback) OVERRIDE {} |
381 virtual void Unmount(const std::string& device_path, | 383 virtual void Unmount(const std::string& device_path, |
382 const UnmountCallback& callback, | 384 const UnmountCallback& callback, |
383 const ErrorCallback& error_callback) OVERRIDE {} | 385 const ErrorCallback& error_callback) OVERRIDE {} |
384 virtual void EnumerateAutoMountableDevices( | 386 virtual void EnumerateAutoMountableDevices( |
385 const EnumerateAutoMountableDevicesCallback& callback, | 387 const EnumerateAutoMountableDevicesCallback& callback, |
386 const ErrorCallback& error_callback) OVERRIDE {} | 388 const ErrorCallback& error_callback) OVERRIDE {} |
387 virtual void FormatDevice(const std::string& device_path, | 389 virtual void FormatDevice(const std::string& device_path, |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
559 // static | 561 // static |
560 CrosDisksClient* CrosDisksClient::Create(DBusClientImplementationType type, | 562 CrosDisksClient* CrosDisksClient::Create(DBusClientImplementationType type, |
561 dbus::Bus* bus) { | 563 dbus::Bus* bus) { |
562 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) | 564 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) |
563 return new CrosDisksClientImpl(bus); | 565 return new CrosDisksClientImpl(bus); |
564 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); | 566 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); |
565 return new CrosDisksClientStubImpl(); | 567 return new CrosDisksClientStubImpl(); |
566 } | 568 } |
567 | 569 |
568 } // namespace chromeos | 570 } // namespace chromeos |
OLD | NEW |