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