summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus/fake_cras_audio_client.cc
diff options
context:
space:
mode:
authormozartalouis <mozartalouis@google.com>2015-08-11 11:23:51 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-11 18:24:31 +0000
commita79e8ad477bb753fbed0bb2e00864419915b44e7 (patch)
tree89cbdba65226e38431c0bdab3f93a130cd649610 /chromeos/dbus/fake_cras_audio_client.cc
parent6a2d1066d7ab5bd4e6c1d3b5bf36a22c0aa95bfa (diff)
downloadchromium_src-a79e8ad477bb753fbed0bb2e00864419915b44e7.zip
chromium_src-a79e8ad477bb753fbed0bb2e00864419915b44e7.tar.gz
chromium_src-a79e8ad477bb753fbed0bb2e00864419915b44e7.tar.bz2
Implementation of Audio for the Chrome Os Device Emulator
BUG=516545 Review URL: https://codereview.chromium.org/1274403003 Cr-Commit-Position: refs/heads/master@{#342849}
Diffstat (limited to 'chromeos/dbus/fake_cras_audio_client.cc')
-rw-r--r--chromeos/dbus/fake_cras_audio_client.cc45
1 files changed, 29 insertions, 16 deletions
diff --git a/chromeos/dbus/fake_cras_audio_client.cc b/chromeos/dbus/fake_cras_audio_client.cc
index c59b3e5..e28852b 100644
--- a/chromeos/dbus/fake_cras_audio_client.cc
+++ b/chromeos/dbus/fake_cras_audio_client.cc
@@ -98,25 +98,19 @@ void FakeCrasAudioClient::GetNodes(const GetNodesCallback& callback,
callback.Run(node_list_, true);
}
-void FakeCrasAudioClient::SetOutputNodeVolume(uint64 node_id,
- int32 volume) {
-}
+void FakeCrasAudioClient::SetOutputNodeVolume(uint64 node_id, int32 volume) {}
void FakeCrasAudioClient::SetOutputUserMute(bool mute_on) {
volume_state_.output_user_mute = mute_on;
- FOR_EACH_OBSERVER(Observer,
- observers_,
+ FOR_EACH_OBSERVER(Observer, observers_,
OutputMuteChanged(volume_state_.output_user_mute));
}
-void FakeCrasAudioClient::SetInputNodeGain(uint64 node_id,
- int32 input_gain) {
-}
+void FakeCrasAudioClient::SetInputNodeGain(uint64 node_id, int32 input_gain) {}
void FakeCrasAudioClient::SetInputMute(bool mute_on) {
volume_state_.input_mute = mute_on;
- FOR_EACH_OBSERVER(Observer,
- observers_,
+ FOR_EACH_OBSERVER(Observer, observers_,
InputMuteChanged(volume_state_.input_mute));
}
@@ -131,9 +125,7 @@ void FakeCrasAudioClient::SetActiveOutputNode(uint64 node_id) {
node_list_[i].active = true;
}
active_output_node_id_ = node_id;
- FOR_EACH_OBSERVER(Observer,
- observers_,
- ActiveOutputNodeChanged(node_id));
+ FOR_EACH_OBSERVER(Observer, observers_, ActiveOutputNodeChanged(node_id));
}
void FakeCrasAudioClient::SetActiveInputNode(uint64 node_id) {
@@ -147,9 +139,7 @@ void FakeCrasAudioClient::SetActiveInputNode(uint64 node_id) {
node_list_[i].active = true;
}
active_input_node_id_ = node_id;
- FOR_EACH_OBSERVER(Observer,
- observers_,
- ActiveInputNodeChanged(node_id));
+ FOR_EACH_OBSERVER(Observer, observers_, ActiveInputNodeChanged(node_id));
}
void FakeCrasAudioClient::AddActiveInputNode(uint64 node_id) {
@@ -183,6 +173,23 @@ void FakeCrasAudioClient::RemoveActiveOutputNode(uint64 node_id) {
}
}
+void FakeCrasAudioClient::InsertAudioNodeToList(const AudioNode& audio_node) {
+ auto iter = FindNode(audio_node.id);
+ if (iter != node_list_.end())
+ (*iter) = audio_node;
+ else
+ node_list_.push_back(audio_node);
+ FOR_EACH_OBSERVER(Observer, observers_, NodesChanged());
+}
+
+void FakeCrasAudioClient::RemoveAudioNodeFromList(const uint64& node_id) {
+ auto iter = FindNode(node_id);
+ if (iter != node_list_.end()) {
+ node_list_.erase(iter);
+ FOR_EACH_OBSERVER(Observer, observers_, NodesChanged());
+ }
+}
+
void FakeCrasAudioClient::SetAudioNodesForTesting(
const AudioNodeList& audio_nodes) {
node_list_ = audio_nodes;
@@ -194,4 +201,10 @@ void FakeCrasAudioClient::SetAudioNodesAndNotifyObserversForTesting(
FOR_EACH_OBSERVER(Observer, observers_, NodesChanged());
}
+AudioNodeList::iterator FakeCrasAudioClient::FindNode(uint64 node_id) {
+ return std::find_if(
+ node_list_.begin(), node_list_.end(),
+ [node_id](const AudioNode& node) { return node_id == node.id; });
+}
+
} // namespace chromeos