diff options
author | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-05 19:38:11 +0000 |
---|---|---|
committer | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-05 19:38:11 +0000 |
commit | 58d9ba32439e33c9a81285bab0e4cac347898a39 (patch) | |
tree | 60ef4377dd54c442160168268e6d7e02fafb1f4d /device/media_transfer_protocol | |
parent | b2442da1bf265e509b790ce45fcaf1922d0d5c84 (diff) | |
download | chromium_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')
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( |