OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/cras_audio_client.h" | 5 #include "chromeos/dbus/cras_audio_client.h" |
6 | 6 |
| 7 #include <stdint.h> |
| 8 |
7 #include "base/bind.h" | 9 #include "base/bind.h" |
8 #include "base/format_macros.h" | 10 #include "base/format_macros.h" |
| 11 #include "base/macros.h" |
9 #include "base/strings/stringprintf.h" | 12 #include "base/strings/stringprintf.h" |
10 #include "dbus/bus.h" | 13 #include "dbus/bus.h" |
11 #include "dbus/message.h" | 14 #include "dbus/message.h" |
12 #include "dbus/object_path.h" | 15 #include "dbus/object_path.h" |
13 #include "dbus/object_proxy.h" | 16 #include "dbus/object_proxy.h" |
14 #include "third_party/cros_system_api/dbus/service_constants.h" | 17 #include "third_party/cros_system_api/dbus/service_constants.h" |
15 | 18 |
16 namespace chromeos { | 19 namespace chromeos { |
17 | 20 |
18 // Error name if cras dbus call fails with empty ErrorResponse. | 21 // Error name if cras dbus call fails with empty ErrorResponse. |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 cras::kGetNodes); | 58 cras::kGetNodes); |
56 cras_proxy_->CallMethodWithErrorCallback( | 59 cras_proxy_->CallMethodWithErrorCallback( |
57 &method_call, | 60 &method_call, |
58 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 61 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
59 base::Bind(&CrasAudioClientImpl::OnGetNodes, | 62 base::Bind(&CrasAudioClientImpl::OnGetNodes, |
60 weak_ptr_factory_.GetWeakPtr(), callback), | 63 weak_ptr_factory_.GetWeakPtr(), callback), |
61 base::Bind(&CrasAudioClientImpl::OnError, | 64 base::Bind(&CrasAudioClientImpl::OnError, |
62 weak_ptr_factory_.GetWeakPtr(), error_callback)); | 65 weak_ptr_factory_.GetWeakPtr(), error_callback)); |
63 } | 66 } |
64 | 67 |
65 void SetOutputNodeVolume(uint64 node_id, int32 volume) override { | 68 void SetOutputNodeVolume(uint64_t node_id, int32_t volume) override { |
66 dbus::MethodCall method_call(cras::kCrasControlInterface, | 69 dbus::MethodCall method_call(cras::kCrasControlInterface, |
67 cras::kSetOutputNodeVolume); | 70 cras::kSetOutputNodeVolume); |
68 dbus::MessageWriter writer(&method_call); | 71 dbus::MessageWriter writer(&method_call); |
69 writer.AppendUint64(node_id); | 72 writer.AppendUint64(node_id); |
70 writer.AppendInt32(volume); | 73 writer.AppendInt32(volume); |
71 cras_proxy_->CallMethod( | 74 cras_proxy_->CallMethod( |
72 &method_call, | 75 &method_call, |
73 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 76 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
74 dbus::ObjectProxy::EmptyResponseCallback()); | 77 dbus::ObjectProxy::EmptyResponseCallback()); |
75 } | 78 } |
76 | 79 |
77 void SetOutputUserMute(bool mute_on) override { | 80 void SetOutputUserMute(bool mute_on) override { |
78 dbus::MethodCall method_call(cras::kCrasControlInterface, | 81 dbus::MethodCall method_call(cras::kCrasControlInterface, |
79 cras::kSetOutputUserMute); | 82 cras::kSetOutputUserMute); |
80 dbus::MessageWriter writer(&method_call); | 83 dbus::MessageWriter writer(&method_call); |
81 writer.AppendBool(mute_on); | 84 writer.AppendBool(mute_on); |
82 cras_proxy_->CallMethod( | 85 cras_proxy_->CallMethod( |
83 &method_call, | 86 &method_call, |
84 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 87 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
85 dbus::ObjectProxy::EmptyResponseCallback()); | 88 dbus::ObjectProxy::EmptyResponseCallback()); |
86 } | 89 } |
87 | 90 |
88 void SetInputNodeGain(uint64 node_id, int32 input_gain) override { | 91 void SetInputNodeGain(uint64_t node_id, int32_t input_gain) override { |
89 dbus::MethodCall method_call(cras::kCrasControlInterface, | 92 dbus::MethodCall method_call(cras::kCrasControlInterface, |
90 cras::kSetInputNodeGain); | 93 cras::kSetInputNodeGain); |
91 dbus::MessageWriter writer(&method_call); | 94 dbus::MessageWriter writer(&method_call); |
92 writer.AppendUint64(node_id); | 95 writer.AppendUint64(node_id); |
93 writer.AppendInt32(input_gain); | 96 writer.AppendInt32(input_gain); |
94 cras_proxy_->CallMethod( | 97 cras_proxy_->CallMethod( |
95 &method_call, | 98 &method_call, |
96 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 99 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
97 dbus::ObjectProxy::EmptyResponseCallback()); | 100 dbus::ObjectProxy::EmptyResponseCallback()); |
98 } | 101 } |
99 | 102 |
100 void SetInputMute(bool mute_on) override { | 103 void SetInputMute(bool mute_on) override { |
101 dbus::MethodCall method_call(cras::kCrasControlInterface, | 104 dbus::MethodCall method_call(cras::kCrasControlInterface, |
102 cras::kSetInputMute); | 105 cras::kSetInputMute); |
103 dbus::MessageWriter writer(&method_call); | 106 dbus::MessageWriter writer(&method_call); |
104 writer.AppendBool(mute_on); | 107 writer.AppendBool(mute_on); |
105 cras_proxy_->CallMethod( | 108 cras_proxy_->CallMethod( |
106 &method_call, | 109 &method_call, |
107 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 110 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
108 dbus::ObjectProxy::EmptyResponseCallback()); | 111 dbus::ObjectProxy::EmptyResponseCallback()); |
109 } | 112 } |
110 | 113 |
111 void SetActiveOutputNode(uint64 node_id) override { | 114 void SetActiveOutputNode(uint64_t node_id) override { |
112 dbus::MethodCall method_call(cras::kCrasControlInterface, | 115 dbus::MethodCall method_call(cras::kCrasControlInterface, |
113 cras::kSetActiveOutputNode); | 116 cras::kSetActiveOutputNode); |
114 dbus::MessageWriter writer(&method_call); | 117 dbus::MessageWriter writer(&method_call); |
115 writer.AppendUint64(node_id); | 118 writer.AppendUint64(node_id); |
116 cras_proxy_->CallMethod( | 119 cras_proxy_->CallMethod( |
117 &method_call, | 120 &method_call, |
118 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 121 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
119 dbus::ObjectProxy::EmptyResponseCallback()); | 122 dbus::ObjectProxy::EmptyResponseCallback()); |
120 } | 123 } |
121 | 124 |
122 void SetActiveInputNode(uint64 node_id) override { | 125 void SetActiveInputNode(uint64_t node_id) override { |
123 dbus::MethodCall method_call(cras::kCrasControlInterface, | 126 dbus::MethodCall method_call(cras::kCrasControlInterface, |
124 cras::kSetActiveInputNode); | 127 cras::kSetActiveInputNode); |
125 dbus::MessageWriter writer(&method_call); | 128 dbus::MessageWriter writer(&method_call); |
126 writer.AppendUint64(node_id); | 129 writer.AppendUint64(node_id); |
127 cras_proxy_->CallMethod( | 130 cras_proxy_->CallMethod( |
128 &method_call, | 131 &method_call, |
129 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 132 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
130 dbus::ObjectProxy::EmptyResponseCallback()); | 133 dbus::ObjectProxy::EmptyResponseCallback()); |
131 } | 134 } |
132 | 135 |
133 void AddActiveInputNode(uint64 node_id) override { | 136 void AddActiveInputNode(uint64_t node_id) override { |
134 dbus::MethodCall method_call(cras::kCrasControlInterface, | 137 dbus::MethodCall method_call(cras::kCrasControlInterface, |
135 cras::kAddActiveInputNode); | 138 cras::kAddActiveInputNode); |
136 dbus::MessageWriter writer(&method_call); | 139 dbus::MessageWriter writer(&method_call); |
137 writer.AppendUint64(node_id); | 140 writer.AppendUint64(node_id); |
138 cras_proxy_->CallMethod( | 141 cras_proxy_->CallMethod( |
139 &method_call, | 142 &method_call, |
140 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 143 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
141 dbus::ObjectProxy::EmptyResponseCallback()); | 144 dbus::ObjectProxy::EmptyResponseCallback()); |
142 } | 145 } |
143 | 146 |
144 void RemoveActiveInputNode(uint64 node_id) override { | 147 void RemoveActiveInputNode(uint64_t node_id) override { |
145 dbus::MethodCall method_call(cras::kCrasControlInterface, | 148 dbus::MethodCall method_call(cras::kCrasControlInterface, |
146 cras::kRemoveActiveInputNode); | 149 cras::kRemoveActiveInputNode); |
147 dbus::MessageWriter writer(&method_call); | 150 dbus::MessageWriter writer(&method_call); |
148 writer.AppendUint64(node_id); | 151 writer.AppendUint64(node_id); |
149 cras_proxy_->CallMethod( | 152 cras_proxy_->CallMethod( |
150 &method_call, | 153 &method_call, |
151 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 154 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
152 dbus::ObjectProxy::EmptyResponseCallback()); | 155 dbus::ObjectProxy::EmptyResponseCallback()); |
153 } | 156 } |
154 | 157 |
155 void AddActiveOutputNode(uint64 node_id) override { | 158 void AddActiveOutputNode(uint64_t node_id) override { |
156 dbus::MethodCall method_call(cras::kCrasControlInterface, | 159 dbus::MethodCall method_call(cras::kCrasControlInterface, |
157 cras::kAddActiveOutputNode); | 160 cras::kAddActiveOutputNode); |
158 dbus::MessageWriter writer(&method_call); | 161 dbus::MessageWriter writer(&method_call); |
159 writer.AppendUint64(node_id); | 162 writer.AppendUint64(node_id); |
160 cras_proxy_->CallMethod(&method_call, | 163 cras_proxy_->CallMethod(&method_call, |
161 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 164 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
162 dbus::ObjectProxy::EmptyResponseCallback()); | 165 dbus::ObjectProxy::EmptyResponseCallback()); |
163 } | 166 } |
164 | 167 |
165 void RemoveActiveOutputNode(uint64 node_id) override { | 168 void RemoveActiveOutputNode(uint64_t node_id) override { |
166 dbus::MethodCall method_call(cras::kCrasControlInterface, | 169 dbus::MethodCall method_call(cras::kCrasControlInterface, |
167 cras::kRemoveActiveOutputNode); | 170 cras::kRemoveActiveOutputNode); |
168 dbus::MessageWriter writer(&method_call); | 171 dbus::MessageWriter writer(&method_call); |
169 writer.AppendUint64(node_id); | 172 writer.AppendUint64(node_id); |
170 cras_proxy_->CallMethod(&method_call, | 173 cras_proxy_->CallMethod(&method_call, |
171 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 174 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
172 dbus::ObjectProxy::EmptyResponseCallback()); | 175 dbus::ObjectProxy::EmptyResponseCallback()); |
173 } | 176 } |
174 | 177 |
175 void SwapLeftRight(uint64 node_id, bool swap) override { | 178 void SwapLeftRight(uint64_t node_id, bool swap) override { |
176 dbus::MethodCall method_call(cras::kCrasControlInterface, | 179 dbus::MethodCall method_call(cras::kCrasControlInterface, |
177 cras::kSwapLeftRight); | 180 cras::kSwapLeftRight); |
178 dbus::MessageWriter writer(&method_call); | 181 dbus::MessageWriter writer(&method_call); |
179 writer.AppendUint64(node_id); | 182 writer.AppendUint64(node_id); |
180 writer.AppendBool(swap); | 183 writer.AppendBool(swap); |
181 cras_proxy_->CallMethod(&method_call, | 184 cras_proxy_->CallMethod(&method_call, |
182 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 185 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
183 dbus::ObjectProxy::EmptyResponseCallback()); | 186 dbus::ObjectProxy::EmptyResponseCallback()); |
184 } | 187 } |
185 | 188 |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 } | 279 } |
277 FOR_EACH_OBSERVER(Observer, observers_, InputMuteChanged(mute)); | 280 FOR_EACH_OBSERVER(Observer, observers_, InputMuteChanged(mute)); |
278 } | 281 } |
279 | 282 |
280 void NodesChangedReceived(dbus::Signal* signal) { | 283 void NodesChangedReceived(dbus::Signal* signal) { |
281 FOR_EACH_OBSERVER(Observer, observers_, NodesChanged()); | 284 FOR_EACH_OBSERVER(Observer, observers_, NodesChanged()); |
282 } | 285 } |
283 | 286 |
284 void ActiveOutputNodeChangedReceived(dbus::Signal* signal) { | 287 void ActiveOutputNodeChangedReceived(dbus::Signal* signal) { |
285 dbus::MessageReader reader(signal); | 288 dbus::MessageReader reader(signal); |
286 uint64 node_id; | 289 uint64_t node_id; |
287 if (!reader.PopUint64(&node_id)) { | 290 if (!reader.PopUint64(&node_id)) { |
288 LOG(ERROR) << "Error reading signal from cras:" | 291 LOG(ERROR) << "Error reading signal from cras:" |
289 << signal->ToString(); | 292 << signal->ToString(); |
290 } | 293 } |
291 FOR_EACH_OBSERVER(Observer, observers_, ActiveOutputNodeChanged(node_id)); | 294 FOR_EACH_OBSERVER(Observer, observers_, ActiveOutputNodeChanged(node_id)); |
292 } | 295 } |
293 | 296 |
294 void ActiveInputNodeChangedReceived(dbus::Signal* signal) { | 297 void ActiveInputNodeChangedReceived(dbus::Signal* signal) { |
295 dbus::MessageReader reader(signal); | 298 dbus::MessageReader reader(signal); |
296 uint64 node_id; | 299 uint64_t node_id; |
297 if (!reader.PopUint64(&node_id)) { | 300 if (!reader.PopUint64(&node_id)) { |
298 LOG(ERROR) << "Error reading signal from cras:" | 301 LOG(ERROR) << "Error reading signal from cras:" |
299 << signal->ToString(); | 302 << signal->ToString(); |
300 } | 303 } |
301 FOR_EACH_OBSERVER(Observer, observers_, ActiveInputNodeChanged(node_id)); | 304 FOR_EACH_OBSERVER(Observer, observers_, ActiveInputNodeChanged(node_id)); |
302 } | 305 } |
303 | 306 |
304 void OnGetVolumeState(const GetVolumeStateCallback& callback, | 307 void OnGetVolumeState(const GetVolumeStateCallback& callback, |
305 dbus::Response* response) { | 308 dbus::Response* response) { |
306 bool success = true; | 309 bool success = true; |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 | 438 |
436 void CrasAudioClient::Observer::OutputMuteChanged(bool mute_on) { | 439 void CrasAudioClient::Observer::OutputMuteChanged(bool mute_on) { |
437 } | 440 } |
438 | 441 |
439 void CrasAudioClient::Observer::InputMuteChanged(bool mute_on) { | 442 void CrasAudioClient::Observer::InputMuteChanged(bool mute_on) { |
440 } | 443 } |
441 | 444 |
442 void CrasAudioClient::Observer::NodesChanged() { | 445 void CrasAudioClient::Observer::NodesChanged() { |
443 } | 446 } |
444 | 447 |
445 void CrasAudioClient::Observer::ActiveOutputNodeChanged(uint64 node_id){ | 448 void CrasAudioClient::Observer::ActiveOutputNodeChanged(uint64_t node_id) {} |
446 } | |
447 | 449 |
448 void CrasAudioClient::Observer::ActiveInputNodeChanged(uint64 node_id) { | 450 void CrasAudioClient::Observer::ActiveInputNodeChanged(uint64_t node_id) {} |
449 } | |
450 | 451 |
451 CrasAudioClient::CrasAudioClient() { | 452 CrasAudioClient::CrasAudioClient() { |
452 } | 453 } |
453 | 454 |
454 CrasAudioClient::~CrasAudioClient() { | 455 CrasAudioClient::~CrasAudioClient() { |
455 } | 456 } |
456 | 457 |
457 // static | 458 // static |
458 CrasAudioClient* CrasAudioClient::Create() { | 459 CrasAudioClient* CrasAudioClient::Create() { |
459 return new CrasAudioClientImpl(); | 460 return new CrasAudioClientImpl(); |
460 } | 461 } |
461 | 462 |
462 } // namespace chromeos | 463 } // namespace chromeos |
OLD | NEW |