1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file.
4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chromeos/dbus/audio_node.h"
6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/format_macros.h"
8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/strings/string_number_conversions.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/stringprintf.h"
10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace chromeos {
12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)AudioNode::AudioNode()
14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    : is_input(false),
15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      id(0),
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      active(false),
17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      plugged_time(0) {
18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
20558790d6acca3451cf3a6b497803a5f07d0bec58Ben MurdochAudioNode::AudioNode(bool is_input,
21558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch                     uint64 id,
22558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch                     std::string device_name,
23558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch                     std::string type,
24558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch                     std::string name,
25558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch                     bool active,
26558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch                     uint64 plugged_time)
27558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch    : is_input(is_input),
28558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch      id(id),
29558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch      device_name(device_name),
30558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch      type(type),
31558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch      name(name),
32558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch      active(active),
33558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch      plugged_time(plugged_time) {
34558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch}
35558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch
36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)std::string AudioNode::ToString() const {
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  std::string result;
38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  base::StringAppendF(&result,
39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      "is_input = %s ",
40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      is_input ? "true" : "false");
41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  base::StringAppendF(&result,
42a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)                      "id = 0x%" PRIx64 " ",
437dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch                      id);
44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  base::StringAppendF(&result,
45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      "device_name = %s ",
46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      device_name.c_str());
47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  base::StringAppendF(&result,
48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      "type = %s ",
49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      type.c_str());
50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  base::StringAppendF(&result,
51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      "name = %s ",
52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      name.c_str());
53c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  base::StringAppendF(&result,
54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      "active = %s ",
55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      active ? "true" : "false");
56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  base::StringAppendF(&result,
57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      "plugged_time= %s ",
58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                      base::Uint64ToString(plugged_time).c_str());
59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
60c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return result;
61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
63c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}  // namespace chromeos
64