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
3// found in the LICENSE file.
4
5#ifndef CHROMEOS_DBUS_AUDIO_NODE_H_
6#define CHROMEOS_DBUS_AUDIO_NODE_H_
7
8#include <string>
9#include <vector>
10
11#include "base/basictypes.h"
12#include "chromeos/chromeos_export.h"
13
14namespace chromeos {
15
16// Structure to hold AudioNode data received from cras.
17struct CHROMEOS_EXPORT AudioNode {
18  bool is_input;
19  uint64 id;
20  std::string device_name;
21  std::string type;
22  std::string name;
23  bool active;
24  // Time that the node was plugged in.
25  uint64 plugged_time;
26
27  AudioNode();
28  AudioNode(bool is_input,
29            uint64 id,
30            std::string device_name,
31            std::string type,
32            std::string name,
33            bool active,
34            uint64 plugged_time);
35  std::string ToString() const;
36};
37
38typedef std::vector<AudioNode> AudioNodeList;
39
40}  // namespace chromeos
41
42#endif  // CHROMEOS_DBUS_AUDIO_NODE_H_
43