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

Side by Side Diff: chrome/browser/chromeos/dbus/console_service_provider.cc

Issue 697493002: Support transition between chrome and user mode console (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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
OLDNEW
(Empty)
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
Daniel Erat 2014/11/01 13:57:44 nit: remove "(c) "
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/chromeos/dbus/console_service_provider.h"
6 #include "third_party/cros_system_api/dbus/service_constants.h"
7
8 namespace chromeos {
9
10 ConsoleServiceProvider::ConsoleServiceProvider() : weak_ptr_factory_(this) {
11 }
12
13 ConsoleServiceProvider::~ConsoleServiceProvider() {
14 }
15
16 void ConsoleServiceProvider::AddObserver(Observer* observer) {
17 observers_.AddObserver(observer);
18 }
19
20 void ConsoleServiceProvider::RemoveObserver(Observer* observer) {
21 observers_.RemoveObserver(observer);
22 }
23
24 bool ConsoleServiceProvider::HasObserver(Observer* observer) {
25 return observers_.HasObserver(observer);
26 }
27
28 void ConsoleServiceProvider::Start(
29 scoped_refptr<dbus::ExportedObject> exported_object) {
30 exported_object->ExportMethod(
31 kLibCrosServiceInterface,
32 kActivateConsole,
33 base::Bind(&ConsoleServiceProvider::ActivateConsole,
34 weak_ptr_factory_.GetWeakPtr()),
35 base::Bind(&ConsoleServiceProvider::OnExported,
36 weak_ptr_factory_.GetWeakPtr()));
37 }
38
39 void ConsoleServiceProvider::ActivateConsole(
40 dbus::MethodCall* method_call,
41 dbus::ExportedObject::ResponseSender response_sender) {
42 dbus::MessageReader reader(method_call);
43 int console_id = 0;
44 if (reader.PopInt32(&console_id)) {
45 FOR_EACH_OBSERVER(Observer, observers_, OnActivateConsole(console_id));
46 } else {
47 LOG(ERROR) << "Unable to parse " << kActivateConsole << " request";
48 }
49
50 response_sender.Run(dbus::Response::FromMethodCall(method_call));
51 }
52
53 void ConsoleServiceProvider::OnExported(const std::string& interface_name,
54 const std::string& method_name,
55 bool success) {
56 if (!success) {
Daniel Erat 2014/11/01 13:57:44 nit: omit curly brackets since the statement is a
57 LOG(ERROR) << "failed to export " << interface_name << "." << method_name;
58 }
59 }
60
61 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698