OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/chromeos/dbus/session_manager_client.h" | 5 #include "chrome/browser/chromeos/dbus/session_manager_client.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
10 #include "chrome/browser/chromeos/system/runtime_environment.h" | 10 #include "chrome/browser/chromeos/system/runtime_environment.h" |
11 #include "dbus/bus.h" | 11 #include "dbus/bus.h" |
12 #include "dbus/message.h" | 12 #include "dbus/message.h" |
13 #include "dbus/object_path.h" | |
14 #include "dbus/object_proxy.h" | 13 #include "dbus/object_proxy.h" |
15 #include "third_party/cros_system_api/dbus/service_constants.h" | 14 #include "third_party/cros_system_api/dbus/service_constants.h" |
16 | 15 |
17 namespace chromeos { | 16 namespace chromeos { |
18 | 17 |
19 // The SessionManagerClient implementation used in production. | 18 // The SessionManagerClient implementation used in production. |
20 class SessionManagerClientImpl : public SessionManagerClient { | 19 class SessionManagerClientImpl : public SessionManagerClient { |
21 public: | 20 public: |
22 explicit SessionManagerClientImpl(dbus::Bus* bus) | 21 explicit SessionManagerClientImpl(dbus::Bus* bus) |
23 : session_manager_proxy_(NULL), | 22 : session_manager_proxy_(NULL), |
24 weak_ptr_factory_(this) { | 23 weak_ptr_factory_(this) { |
25 session_manager_proxy_ = bus->GetObjectProxy( | 24 session_manager_proxy_ = bus->GetObjectProxy( |
26 login_manager::kSessionManagerServiceName, | 25 login_manager::kSessionManagerServiceName, |
27 dbus::ObjectPath(login_manager::kSessionManagerServicePath)); | 26 login_manager::kSessionManagerServicePath); |
28 | 27 |
29 // Monitor the D-Bus signal for owner key changes. | 28 // Monitor the D-Bus signal for owner key changes. |
30 session_manager_proxy_->ConnectToSignal( | 29 session_manager_proxy_->ConnectToSignal( |
31 chromium::kChromiumInterface, | 30 chromium::kChromiumInterface, |
32 chromium::kOwnerKeySetSignal, | 31 chromium::kOwnerKeySetSignal, |
33 base::Bind(&SessionManagerClientImpl::OwnerKeySetReceived, | 32 base::Bind(&SessionManagerClientImpl::OwnerKeySetReceived, |
34 weak_ptr_factory_.GetWeakPtr()), | 33 weak_ptr_factory_.GetWeakPtr()), |
35 base::Bind(&SessionManagerClientImpl::SignalConnected, | 34 base::Bind(&SessionManagerClientImpl::SignalConnected, |
36 weak_ptr_factory_.GetWeakPtr())); | 35 weak_ptr_factory_.GetWeakPtr())); |
37 | 36 |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 | 311 |
313 SessionManagerClient* SessionManagerClient::Create(dbus::Bus* bus) { | 312 SessionManagerClient* SessionManagerClient::Create(dbus::Bus* bus) { |
314 if (system::runtime_environment::IsRunningOnChromeOS()) { | 313 if (system::runtime_environment::IsRunningOnChromeOS()) { |
315 return new SessionManagerClientImpl(bus); | 314 return new SessionManagerClientImpl(bus); |
316 } else { | 315 } else { |
317 return new SessionManagerClientStubImpl(); | 316 return new SessionManagerClientStubImpl(); |
318 } | 317 } |
319 } | 318 } |
320 | 319 |
321 } // namespace chromeos | 320 } // namespace chromeos |
OLD | NEW |