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

Side by Side Diff: chromeos/dbus/dbus_thread_manager.cc

Issue 919183002: Move chromeos::device_event_log into components. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Shut down in PostDestroyThreads. Created 5 years, 10 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
« no previous file with comments | « chromeos/chromeos.gyp ('k') | chromeos/dbus/power_manager_client.cc » ('j') | 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 "chromeos/dbus/dbus_thread_manager.h" 5 #include "chromeos/dbus/dbus_thread_manager.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/sys_info.h" 8 #include "base/sys_info.h"
9 #include "base/threading/thread.h" 9 #include "base/threading/thread.h"
10 #include "chromeos/chromeos_switches.h" 10 #include "chromeos/chromeos_switches.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 #include "chromeos/dbus/session_manager_client.h" 44 #include "chromeos/dbus/session_manager_client.h"
45 #include "chromeos/dbus/shill_device_client.h" 45 #include "chromeos/dbus/shill_device_client.h"
46 #include "chromeos/dbus/shill_ipconfig_client.h" 46 #include "chromeos/dbus/shill_ipconfig_client.h"
47 #include "chromeos/dbus/shill_manager_client.h" 47 #include "chromeos/dbus/shill_manager_client.h"
48 #include "chromeos/dbus/shill_profile_client.h" 48 #include "chromeos/dbus/shill_profile_client.h"
49 #include "chromeos/dbus/shill_service_client.h" 49 #include "chromeos/dbus/shill_service_client.h"
50 #include "chromeos/dbus/shill_third_party_vpn_driver_client.h" 50 #include "chromeos/dbus/shill_third_party_vpn_driver_client.h"
51 #include "chromeos/dbus/sms_client.h" 51 #include "chromeos/dbus/sms_client.h"
52 #include "chromeos/dbus/system_clock_client.h" 52 #include "chromeos/dbus/system_clock_client.h"
53 #include "chromeos/dbus/update_engine_client.h" 53 #include "chromeos/dbus/update_engine_client.h"
54 #include "chromeos/device_event_log.h"
55 #include "dbus/bus.h" 54 #include "dbus/bus.h"
56 #include "dbus/dbus_statistics.h" 55 #include "dbus/dbus_statistics.h"
57 56
58 namespace chromeos { 57 namespace chromeos {
59 58
60 static DBusThreadManager* g_dbus_thread_manager = NULL; 59 static DBusThreadManager* g_dbus_thread_manager = NULL;
61 static bool g_using_dbus_thread_manager_for_testing = false; 60 static bool g_using_dbus_thread_manager_for_testing = false;
62 61
63 DBusThreadManager::DBusThreadManager(scoped_ptr<DBusClientBundle> client_bundle) 62 DBusThreadManager::DBusThreadManager(scoped_ptr<DBusClientBundle> client_bundle)
64 : client_bundle_(client_bundle.Pass()) { 63 : client_bundle_(client_bundle.Pass()) {
65 device_event_log::Initialize(0 /* default max entries */);
66 dbus::statistics::Initialize(); 64 dbus::statistics::Initialize();
67 65
68 if (client_bundle_->IsUsingAnyRealClient()) { 66 if (client_bundle_->IsUsingAnyRealClient()) {
69 // At least one real DBusClient is used. 67 // At least one real DBusClient is used.
70 // Create the D-Bus thread. 68 // Create the D-Bus thread.
71 base::Thread::Options thread_options; 69 base::Thread::Options thread_options;
72 thread_options.message_loop_type = base::MessageLoop::TYPE_IO; 70 thread_options.message_loop_type = base::MessageLoop::TYPE_IO;
73 dbus_thread_.reset(new base::Thread("D-Bus thread")); 71 dbus_thread_.reset(new base::Thread("D-Bus thread"));
74 dbus_thread_->StartWithOptions(thread_options); 72 dbus_thread_->StartWithOptions(thread_options);
75 73
(...skipping 13 matching lines...) Expand all
89 // Shut down the bus. During the browser shutdown, it's ok to shut down 87 // Shut down the bus. During the browser shutdown, it's ok to shut down
90 // the bus synchronously. 88 // the bus synchronously.
91 if (system_bus_.get()) 89 if (system_bus_.get())
92 system_bus_->ShutdownOnDBusThreadAndBlock(); 90 system_bus_->ShutdownOnDBusThreadAndBlock();
93 91
94 // Stop the D-Bus thread. 92 // Stop the D-Bus thread.
95 if (dbus_thread_) 93 if (dbus_thread_)
96 dbus_thread_->Stop(); 94 dbus_thread_->Stop();
97 95
98 dbus::statistics::Shutdown(); 96 dbus::statistics::Shutdown();
99 device_event_log::Shutdown();
100 97
101 if (!g_dbus_thread_manager) 98 if (!g_dbus_thread_manager)
102 return; // Called form Shutdown() or local test instance. 99 return; // Called form Shutdown() or local test instance.
103 100
104 // There should never be both a global instance and a local instance. 101 // There should never be both a global instance and a local instance.
105 CHECK(this == g_dbus_thread_manager); 102 CHECK(this == g_dbus_thread_manager);
106 if (g_using_dbus_thread_manager_for_testing) { 103 if (g_using_dbus_thread_manager_for_testing) {
107 g_dbus_thread_manager = NULL; 104 g_dbus_thread_manager = NULL;
108 g_using_dbus_thread_manager_for_testing = false; 105 g_using_dbus_thread_manager_for_testing = false;
109 VLOG(1) << "DBusThreadManager destroyed"; 106 VLOG(1) << "DBusThreadManager destroyed";
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 client.Pass(); 671 client.Pass();
675 } 672 }
676 673
677 void DBusThreadManagerSetter::SetUpdateEngineClient( 674 void DBusThreadManagerSetter::SetUpdateEngineClient(
678 scoped_ptr<UpdateEngineClient> client) { 675 scoped_ptr<UpdateEngineClient> client) {
679 DBusThreadManager::Get()->client_bundle_->update_engine_client_ = 676 DBusThreadManager::Get()->client_bundle_->update_engine_client_ =
680 client.Pass(); 677 client.Pass();
681 } 678 }
682 679
683 } // namespace chromeos 680 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/chromeos.gyp ('k') | chromeos/dbus/power_manager_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698