summaryrefslogtreecommitdiffstats
path: root/device/media_transfer_protocol
diff options
context:
space:
mode:
authorpneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-05 19:38:11 +0000
committerpneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-05 19:38:11 +0000
commit58d9ba32439e33c9a81285bab0e4cac347898a39 (patch)
tree60ef4377dd54c442160168268e6d7e02fafb1f4d /device/media_transfer_protocol
parentb2442da1bf265e509b790ce45fcaf1922d0d5c84 (diff)
downloadchromium_src-58d9ba32439e33c9a81285bab0e4cac347898a39.zip
chromium_src-58d9ba32439e33c9a81285bab0e4cac347898a39.tar.gz
chromium_src-58d9ba32439e33c9a81285bab0e4cac347898a39.tar.bz2
ChromeOS: Accept NULL SystemBus in MediaTransferProtocolManager.
DBusThreadManager's GetSystemBus returns NULL if Chrome built for ChromeOS runs on Linux or in tests. BUG=275286 Review URL: https://codereview.chromium.org/57333002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233056 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'device/media_transfer_protocol')
-rw-r--r--device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc67
-rw-r--r--device/media_transfer_protocol/media_transfer_protocol_daemon_client.h4
-rw-r--r--device/media_transfer_protocol/media_transfer_protocol_manager.cc32
3 files changed, 20 insertions, 83 deletions
diff --git a/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc b/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc
index 52e8e63..a65bf81 100644
--- a/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc
+++ b/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc
@@ -408,67 +408,6 @@ class MediaTransferProtocolDaemonClientImpl
DISALLOW_COPY_AND_ASSIGN(MediaTransferProtocolDaemonClientImpl);
};
-// A stub implementaion of MediaTransferProtocolDaemonClient.
-class MediaTransferProtocolDaemonClientStubImpl
- : public MediaTransferProtocolDaemonClient {
- public:
- MediaTransferProtocolDaemonClientStubImpl() {}
- virtual ~MediaTransferProtocolDaemonClientStubImpl() {}
-
- virtual void EnumerateStorages(
- const EnumerateStoragesCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {}
- virtual void GetStorageInfo(
- const std::string& storage_name,
- const GetStorageInfoCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {}
- virtual void OpenStorage(const std::string& storage_name,
- const std::string& mode,
- const OpenStorageCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {}
- virtual void CloseStorage(const std::string& handle,
- const CloseStorageCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {}
- virtual void ReadDirectoryByPath(
- const std::string& handle,
- const std::string& path,
- const ReadDirectoryCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {}
- virtual void ReadDirectoryById(
- const std::string& handle,
- uint32 file_id,
- const ReadDirectoryCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {}
- virtual void ReadFileChunkByPath(
- const std::string& handle,
- const std::string& path,
- uint32 offset,
- uint32 length,
- const ReadFileCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {}
- virtual void ReadFileChunkById(
- const std::string& handle,
- uint32 file_id,
- uint32 offset,
- uint32 length,
- const ReadFileCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {}
- virtual void GetFileInfoByPath(
- const std::string& handle,
- const std::string& path,
- const GetFileInfoCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {}
- virtual void GetFileInfoById(const std::string& handle,
- uint32 file_id,
- const GetFileInfoCallback& callback,
- const ErrorCallback& error_callback) OVERRIDE {}
- virtual void SetUpConnections(
- const MTPStorageEventHandler& handler) OVERRIDE {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(MediaTransferProtocolDaemonClientStubImpl);
-};
-
} // namespace
////////////////////////////////////////////////////////////////////////////////
@@ -479,10 +418,8 @@ MediaTransferProtocolDaemonClient::MediaTransferProtocolDaemonClient() {}
MediaTransferProtocolDaemonClient::~MediaTransferProtocolDaemonClient() {}
// static
-MediaTransferProtocolDaemonClient*
-MediaTransferProtocolDaemonClient::Create(dbus::Bus* bus, bool is_stub) {
- if (is_stub)
- return new MediaTransferProtocolDaemonClientStubImpl();
+MediaTransferProtocolDaemonClient* MediaTransferProtocolDaemonClient::Create(
+ dbus::Bus* bus) {
return new MediaTransferProtocolDaemonClientImpl(bus);
}
diff --git a/device/media_transfer_protocol/media_transfer_protocol_daemon_client.h b/device/media_transfer_protocol/media_transfer_protocol_daemon_client.h
index bba9794..54400e1 100644
--- a/device/media_transfer_protocol/media_transfer_protocol_daemon_client.h
+++ b/device/media_transfer_protocol/media_transfer_protocol_daemon_client.h
@@ -163,9 +163,7 @@ class MediaTransferProtocolDaemonClient {
virtual void SetUpConnections(const MTPStorageEventHandler& handler) = 0;
// Factory function, creates a new instance and returns ownership.
- // For normal usage, set |is_stub| to false.
- static MediaTransferProtocolDaemonClient* Create(dbus::Bus* bus,
- bool is_stub);
+ static MediaTransferProtocolDaemonClient* Create(dbus::Bus* bus);
protected:
// Create() should be used instead.
diff --git a/device/media_transfer_protocol/media_transfer_protocol_manager.cc b/device/media_transfer_protocol/media_transfer_protocol_manager.cc
index 6c0210a..222dd10 100644
--- a/device/media_transfer_protocol/media_transfer_protocol_manager.cc
+++ b/device/media_transfer_protocol/media_transfer_protocol_manager.cc
@@ -50,23 +50,27 @@ class MediaTransferProtocolManagerImpl : public MediaTransferProtocolManager {
session_bus_ = new dbus::Bus(options);
#endif
- // Listen for future mtpd service owner changes, in case it is not
- // available right now. There is no guarantee on Linux or ChromeOS that
- // mtpd is running already.
- mtpd_owner_changed_callback_ =
- base::Bind(&MediaTransferProtocolManagerImpl::FinishSetupOnOriginThread,
- weak_ptr_factory_.GetWeakPtr());
- GetBus()->ListenForServiceOwnerChange(mtpd::kMtpdServiceName,
- mtpd_owner_changed_callback_);
- GetBus()->GetServiceOwner(mtpd::kMtpdServiceName,
- mtpd_owner_changed_callback_);
+ if (GetBus()) {
+ // Listen for future mtpd service owner changes, in case it is not
+ // available right now. There is no guarantee on Linux or ChromeOS that
+ // mtpd is running already.
+ mtpd_owner_changed_callback_ = base::Bind(
+ &MediaTransferProtocolManagerImpl::FinishSetupOnOriginThread,
+ weak_ptr_factory_.GetWeakPtr());
+ GetBus()->ListenForServiceOwnerChange(mtpd::kMtpdServiceName,
+ mtpd_owner_changed_callback_);
+ GetBus()->GetServiceOwner(mtpd::kMtpdServiceName,
+ mtpd_owner_changed_callback_);
+ }
}
virtual ~MediaTransferProtocolManagerImpl() {
DCHECK(g_media_transfer_protocol_manager);
g_media_transfer_protocol_manager = NULL;
- GetBus()->UnlistenForServiceOwnerChange(mtpd::kMtpdServiceName,
- mtpd_owner_changed_callback_);
+ if (GetBus()) {
+ GetBus()->UnlistenForServiceOwnerChange(mtpd::kMtpdServiceName,
+ mtpd_owner_changed_callback_);
+ }
#if !defined(OS_CHROMEOS)
session_bus_->GetDBusTaskRunner()->PostTask(
@@ -428,9 +432,7 @@ class MediaTransferProtocolManagerImpl : public MediaTransferProtocolManager {
current_mtpd_owner_ = mtpd_service_owner;
- mtp_client_.reset(
- MediaTransferProtocolDaemonClient::Create(GetBus(),
- false /* not stub */));
+ mtp_client_.reset(MediaTransferProtocolDaemonClient::Create(GetBus()));
// Set up signals and start initializing |storage_info_map_|.
mtp_client_->SetUpConnections(