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

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

Issue 9378039: dbus: add ObjectPath type (Closed) Base URL: http://git.chromium.org/git/chromium/src@master
Patch Set: add patch for cryptohome_client Created 8 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
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 "chrome/browser/chromeos/dbus/bluetooth_manager_client.h" 5 #include "chrome/browser/chromeos/dbus/bluetooth_manager_client.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "chrome/browser/chromeos/system/runtime_environment.h" 9 #include "chrome/browser/chromeos/system/runtime_environment.h"
10 #include "dbus/bus.h" 10 #include "dbus/bus.h"
11 #include "dbus/message.h" 11 #include "dbus/message.h"
12 #include "dbus/object_path.h"
12 #include "dbus/object_proxy.h" 13 #include "dbus/object_proxy.h"
13 #include "third_party/cros_system_api/dbus/service_constants.h" 14 #include "third_party/cros_system_api/dbus/service_constants.h"
14 15
15 namespace chromeos { 16 namespace chromeos {
16 17
17 // The BluetoothManagerClient implementation used in production. 18 // The BluetoothManagerClient implementation used in production.
18 class BluetoothManagerClientImpl : public BluetoothManagerClient { 19 class BluetoothManagerClientImpl : public BluetoothManagerClient {
19 public: 20 public:
20 explicit BluetoothManagerClientImpl(dbus::Bus* bus) 21 explicit BluetoothManagerClientImpl(dbus::Bus* bus)
21 : weak_ptr_factory_(this), 22 : weak_ptr_factory_(this),
22 bluetooth_manager_proxy_(NULL) { 23 bluetooth_manager_proxy_(NULL) {
23 VLOG(1) << "Creating BluetoothManagerClientImpl"; 24 VLOG(1) << "Creating BluetoothManagerClientImpl";
24 25
25 DCHECK(bus); 26 DCHECK(bus);
26 27
27 bluetooth_manager_proxy_ = bus->GetObjectProxy( 28 bluetooth_manager_proxy_ = bus->GetObjectProxy(
28 bluetooth_manager::kBluetoothManagerServiceName, 29 bluetooth_manager::kBluetoothManagerServiceName,
29 bluetooth_manager::kBluetoothManagerServicePath); 30 dbus::ObjectPath(bluetooth_manager::kBluetoothManagerServicePath));
30 31
31 bluetooth_manager_proxy_->ConnectToSignal( 32 bluetooth_manager_proxy_->ConnectToSignal(
32 bluetooth_manager::kBluetoothManagerInterface, 33 bluetooth_manager::kBluetoothManagerInterface,
33 bluetooth_manager::kAdapterAddedSignal, 34 bluetooth_manager::kAdapterAddedSignal,
34 base::Bind(&BluetoothManagerClientImpl::AdapterAddedReceived, 35 base::Bind(&BluetoothManagerClientImpl::AdapterAddedReceived,
35 weak_ptr_factory_.GetWeakPtr()), 36 weak_ptr_factory_.GetWeakPtr()),
36 base::Bind(&BluetoothManagerClientImpl::AdapterAddedConnected, 37 base::Bind(&BluetoothManagerClientImpl::AdapterAddedConnected,
37 weak_ptr_factory_.GetWeakPtr())); 38 weak_ptr_factory_.GetWeakPtr()));
38 39
39 bluetooth_manager_proxy_->ConnectToSignal( 40 bluetooth_manager_proxy_->ConnectToSignal(
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 85 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
85 base::Bind(&BluetoothManagerClientImpl::OnDefaultAdapter, 86 base::Bind(&BluetoothManagerClientImpl::OnDefaultAdapter,
86 weak_ptr_factory_.GetWeakPtr(), callback)); 87 weak_ptr_factory_.GetWeakPtr(), callback));
87 } 88 }
88 89
89 private: 90 private:
90 // Called by dbus:: when an AdapterAdded signal is received. 91 // Called by dbus:: when an AdapterAdded signal is received.
91 void AdapterAddedReceived(dbus::Signal* signal) { 92 void AdapterAddedReceived(dbus::Signal* signal) {
92 DCHECK(signal); 93 DCHECK(signal);
93 dbus::MessageReader reader(signal); 94 dbus::MessageReader reader(signal);
94 std::string object_path; 95 dbus::ObjectPath object_path;
95 if (!reader.PopObjectPath(&object_path)) { 96 if (!reader.PopObjectPath(&object_path)) {
96 LOG(ERROR) << "AdapterAdded signal has incorrect parameters: " 97 LOG(ERROR) << "AdapterAdded signal has incorrect parameters: "
97 << signal->ToString(); 98 << signal->ToString();
98 return; 99 return;
99 } 100 }
100 VLOG(1) << "Adapter added: " << object_path; 101 VLOG(1) << "Adapter added: " << object_path.value();
101 FOR_EACH_OBSERVER(Observer, observers_, AdapterAdded(object_path)); 102 FOR_EACH_OBSERVER(Observer, observers_, AdapterAdded(object_path));
102 } 103 }
103 104
104 // Called by dbus:: when the AdapterAdded signal is initially connected. 105 // Called by dbus:: when the AdapterAdded signal is initially connected.
105 void AdapterAddedConnected(const std::string& interface_name, 106 void AdapterAddedConnected(const std::string& interface_name,
106 const std::string& signal_name, 107 const std::string& signal_name,
107 bool success) { 108 bool success) {
108 LOG_IF(WARNING, !success) << "Failed to connect to AdapterAdded signal."; 109 LOG_IF(WARNING, !success) << "Failed to connect to AdapterAdded signal.";
109 } 110 }
110 111
111 // Called by dbus:: when an AdapterRemoved signal is received. 112 // Called by dbus:: when an AdapterRemoved signal is received.
112 void AdapterRemovedReceived(dbus::Signal* signal) { 113 void AdapterRemovedReceived(dbus::Signal* signal) {
113 DCHECK(signal); 114 DCHECK(signal);
114 dbus::MessageReader reader(signal); 115 dbus::MessageReader reader(signal);
115 std::string object_path; 116 dbus::ObjectPath object_path;
116 if (!reader.PopObjectPath(&object_path)) { 117 if (!reader.PopObjectPath(&object_path)) {
117 LOG(ERROR) << "AdapterRemoved signal has incorrect parameters: " 118 LOG(ERROR) << "AdapterRemoved signal has incorrect parameters: "
118 << signal->ToString(); 119 << signal->ToString();
119 return; 120 return;
120 } 121 }
121 VLOG(1) << "Adapter removed: " << object_path; 122 VLOG(1) << "Adapter removed: " << object_path.value();
122 FOR_EACH_OBSERVER(Observer, observers_, AdapterRemoved(object_path)); 123 FOR_EACH_OBSERVER(Observer, observers_, AdapterRemoved(object_path));
123 } 124 }
124 125
125 // Called by dbus:: when the AdapterRemoved signal is initially connected. 126 // Called by dbus:: when the AdapterRemoved signal is initially connected.
126 void AdapterRemovedConnected(const std::string& interface_name, 127 void AdapterRemovedConnected(const std::string& interface_name,
127 const std::string& signal_name, 128 const std::string& signal_name,
128 bool success) { 129 bool success) {
129 LOG_IF(WARNING, !success) << "Failed to connect to AdapterRemoved signal."; 130 LOG_IF(WARNING, !success) << "Failed to connect to AdapterRemoved signal.";
130 } 131 }
131 132
132 // Called by dbus:: when a DefaultAdapterChanged signal is received. 133 // Called by dbus:: when a DefaultAdapterChanged signal is received.
133 void DefaultAdapterChangedReceived(dbus::Signal* signal) { 134 void DefaultAdapterChangedReceived(dbus::Signal* signal) {
134 DCHECK(signal); 135 DCHECK(signal);
135 dbus::MessageReader reader(signal); 136 dbus::MessageReader reader(signal);
136 std::string adapter; 137 dbus::ObjectPath object_path;
137 if (!reader.PopObjectPath(&adapter)) { 138 if (!reader.PopObjectPath(&object_path)) {
138 LOG(ERROR) << "DefaultAdapterChanged signal has incorrect parameters: " 139 LOG(ERROR) << "DefaultAdapterChanged signal has incorrect parameters: "
139 << signal->ToString(); 140 << signal->ToString();
140 return; 141 return;
141 } 142 }
142 VLOG(1) << "Default adapter changed: " << adapter; 143 VLOG(1) << "Default adapter changed: " << object_path.value();
143 FOR_EACH_OBSERVER(Observer, observers_, DefaultAdapterChanged(adapter)); 144 FOR_EACH_OBSERVER(Observer, observers_, DefaultAdapterChanged(object_path));
144 } 145 }
145 146
146 // Called by dbus:: when the DefaultAdapterChanged signal is initially 147 // Called by dbus:: when the DefaultAdapterChanged signal is initially
147 // connected. 148 // connected.
148 void DefaultAdapterChangedConnected(const std::string& interface_name, 149 void DefaultAdapterChangedConnected(const std::string& interface_name,
149 const std::string& signal_name, 150 const std::string& signal_name,
150 bool success) { 151 bool success) {
151 LOG_IF(WARNING, !success) 152 LOG_IF(WARNING, !success)
152 << "Failed to connect to DefaultAdapterChanged signal."; 153 << "Failed to connect to DefaultAdapterChanged signal.";
153 } 154 }
154 155
155 // Called when a response for DefaultAdapter() is received. 156 // Called when a response for DefaultAdapter() is received.
156 void OnDefaultAdapter(const DefaultAdapterCallback& callback, 157 void OnDefaultAdapter(const DefaultAdapterCallback& callback,
157 dbus::Response* response) { 158 dbus::Response* response) {
158 // Parse response. 159 // Parse response.
159 bool success = false; 160 bool success = false;
160 std::string adapter; 161 dbus::ObjectPath adapter;
161 if (response != NULL) { 162 if (response != NULL) {
162 dbus::MessageReader reader(response); 163 dbus::MessageReader reader(response);
163 if (!reader.PopObjectPath(&adapter)) { 164 if (!reader.PopObjectPath(&adapter)) {
164 LOG(ERROR) << "DefaultAdapter response has incorrect parameters: " 165 LOG(ERROR) << "DefaultAdapter response has incorrect parameters: "
165 << response->ToString(); 166 << response->ToString();
166 } else { 167 } else {
167 success = true; 168 success = true;
168 LOG(INFO) << "OnDefaultAdapter: " << adapter; 169 LOG(INFO) << "OnDefaultAdapter: " << adapter.value();
169 } 170 }
170 } else { 171 } else {
171 LOG(ERROR) << "Failed to get default adapter."; 172 LOG(ERROR) << "Failed to get default adapter.";
172 } 173 }
173 174
174 // Notify client. 175 // Notify client.
175 callback.Run(adapter, success); 176 callback.Run(adapter, success);
176 } 177 }
177 178
178 // Weak pointer factory for generating 'this' pointers that might live longer 179 // Weak pointer factory for generating 'this' pointers that might live longer
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 215
215 BluetoothManagerClient* BluetoothManagerClient::Create(dbus::Bus* bus) { 216 BluetoothManagerClient* BluetoothManagerClient::Create(dbus::Bus* bus) {
216 if (system::runtime_environment::IsRunningOnChromeOS()) { 217 if (system::runtime_environment::IsRunningOnChromeOS()) {
217 return new BluetoothManagerClientImpl(bus); 218 return new BluetoothManagerClientImpl(bus);
218 } else { 219 } else {
219 return new BluetoothManagerClientStubImpl(); 220 return new BluetoothManagerClientStubImpl();
220 } 221 }
221 } 222 }
222 223
223 } // namespace chromeos 224 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/dbus/bluetooth_manager_client.h ('k') | chrome/browser/chromeos/dbus/cros_dbus_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698