Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(523)

Side by Side Diff: device/media_transfer_protocol/media_transfer_protocol_manager.cc

Issue 14016002: Storage Monitor: Make StorageMonitorLinux own the MediaTransferProtocolManager. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix browser_tests Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « device/media_transfer_protocol/media_transfer_protocol_manager.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "device/media_transfer_protocol/media_transfer_protocol_manager.h" 5 #include "device/media_transfer_protocol/media_transfer_protocol_manager.h"
6 6
7 #include <map> 7 #include <map>
8 #include <queue> 8 #include <queue>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 17 matching lines...) Expand all
28 28
29 namespace device { 29 namespace device {
30 30
31 namespace { 31 namespace {
32 32
33 MediaTransferProtocolManager* g_media_transfer_protocol_manager = NULL; 33 MediaTransferProtocolManager* g_media_transfer_protocol_manager = NULL;
34 34
35 // The MediaTransferProtocolManager implementation. 35 // The MediaTransferProtocolManager implementation.
36 class MediaTransferProtocolManagerImpl : public MediaTransferProtocolManager { 36 class MediaTransferProtocolManagerImpl : public MediaTransferProtocolManager {
37 public: 37 public:
38 MediaTransferProtocolManagerImpl( 38 explicit MediaTransferProtocolManagerImpl(
39 scoped_refptr<base::MessageLoopProxy> loop_proxy) 39 scoped_refptr<base::MessageLoopProxy> loop_proxy)
40 : weak_ptr_factory_(this) { 40 : weak_ptr_factory_(this) {
41 dbus::Bus* bus = NULL; 41 dbus::Bus* bus = NULL;
42 #if defined(OS_CHROMEOS) 42 #if defined(OS_CHROMEOS)
43 DCHECK(!loop_proxy.get()); 43 DCHECK(!loop_proxy.get());
44 chromeos::DBusThreadManager* dbus_thread_manager = 44 chromeos::DBusThreadManager* dbus_thread_manager =
45 chromeos::DBusThreadManager::Get(); 45 chromeos::DBusThreadManager::Get();
46 bus = dbus_thread_manager->GetSystemBus(); 46 bus = dbus_thread_manager->GetSystemBus();
47 if (!bus) 47 if (!bus)
48 return; 48 return;
(...skipping 15 matching lines...) Expand all
64 mtp_client_->SetUpConnections( 64 mtp_client_->SetUpConnections(
65 base::Bind(&MediaTransferProtocolManagerImpl::OnStorageChanged, 65 base::Bind(&MediaTransferProtocolManagerImpl::OnStorageChanged,
66 weak_ptr_factory_.GetWeakPtr())); 66 weak_ptr_factory_.GetWeakPtr()));
67 mtp_client_->EnumerateStorages( 67 mtp_client_->EnumerateStorages(
68 base::Bind(&MediaTransferProtocolManagerImpl::OnEnumerateStorages, 68 base::Bind(&MediaTransferProtocolManagerImpl::OnEnumerateStorages,
69 weak_ptr_factory_.GetWeakPtr()), 69 weak_ptr_factory_.GetWeakPtr()),
70 base::Bind(&base::DoNothing)); 70 base::Bind(&base::DoNothing));
71 } 71 }
72 72
73 virtual ~MediaTransferProtocolManagerImpl() { 73 virtual ~MediaTransferProtocolManagerImpl() {
74 DCHECK(g_media_transfer_protocol_manager);
75 g_media_transfer_protocol_manager = NULL;
76 VLOG(1) << "MediaTransferProtocolManager Shutdown completed";
74 } 77 }
75 78
76 // MediaTransferProtocolManager override. 79 // MediaTransferProtocolManager override.
77 virtual void AddObserver(Observer* observer) OVERRIDE { 80 virtual void AddObserver(Observer* observer) OVERRIDE {
78 observers_.AddObserver(observer); 81 observers_.AddObserver(observer);
79 } 82 }
80 83
81 // MediaTransferProtocolManager override. 84 // MediaTransferProtocolManager override.
82 virtual void RemoveObserver(Observer* observer) OVERRIDE { 85 virtual void RemoveObserver(Observer* observer) OVERRIDE {
83 observers_.RemoveObserver(observer); 86 observers_.RemoveObserver(observer);
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 GetFileInfoCallbackQueue get_file_info_callbacks_; 430 GetFileInfoCallbackQueue get_file_info_callbacks_;
428 431
429 base::ThreadChecker thread_checker_; 432 base::ThreadChecker thread_checker_;
430 433
431 DISALLOW_COPY_AND_ASSIGN(MediaTransferProtocolManagerImpl); 434 DISALLOW_COPY_AND_ASSIGN(MediaTransferProtocolManagerImpl);
432 }; 435 };
433 436
434 } // namespace 437 } // namespace
435 438
436 // static 439 // static
437 void MediaTransferProtocolManager::Initialize( 440 MediaTransferProtocolManager* MediaTransferProtocolManager::Initialize(
438 scoped_refptr<base::MessageLoopProxy> loop_proxy) { 441 scoped_refptr<base::MessageLoopProxy> loop_proxy) {
439 if (g_media_transfer_protocol_manager) { 442 DCHECK(!g_media_transfer_protocol_manager);
440 LOG(WARNING) << "MediaTransferProtocolManager was already initialized"; 443
441 return;
442 }
443 g_media_transfer_protocol_manager = 444 g_media_transfer_protocol_manager =
444 new MediaTransferProtocolManagerImpl(loop_proxy); 445 new MediaTransferProtocolManagerImpl(loop_proxy);
445 VLOG(1) << "MediaTransferProtocolManager initialized"; 446 VLOG(1) << "MediaTransferProtocolManager initialized";
446 }
447 447
448 // static
449 void MediaTransferProtocolManager::Shutdown() {
450 if (!g_media_transfer_protocol_manager) {
451 LOG(WARNING) << "MediaTransferProtocolManager::Shutdown() called with "
452 << "NULL manager";
453 return;
454 }
455 delete g_media_transfer_protocol_manager;
456 g_media_transfer_protocol_manager = NULL;
457 VLOG(1) << "MediaTransferProtocolManager Shutdown completed";
458 }
459
460 // static
461 MediaTransferProtocolManager* MediaTransferProtocolManager::GetInstance() {
462 return g_media_transfer_protocol_manager; 448 return g_media_transfer_protocol_manager;
463 } 449 }
464 450
465 } // namespace device 451 } // namespace device
OLDNEW
« no previous file with comments | « device/media_transfer_protocol/media_transfer_protocol_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698