// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROMEOS_CONSTANTS_CHROMEOS_PREF_NAMES_H_
#define CHROMEOS_CONSTANTS_CHROMEOS_PREF_NAMES_H_

#include "chromeos/chromeos_export.h"

namespace chromeos {
namespace prefs {

CHROMEOS_EXPORT extern const char kAudioDevicesMute[];
CHROMEOS_EXPORT extern const char kAudioDevicesVolumePercent[];
CHROMEOS_EXPORT extern const char kAudioMute[];
CHROMEOS_EXPORT extern const char kAudioOutputAllowed[];
CHROMEOS_EXPORT extern const char kAudioVolumePercent[];
CHROMEOS_EXPORT extern const char kAudioDevicesState[];
CHROMEOS_EXPORT extern const char kQuirksClientLastServerCheck[];
CHROMEOS_EXPORT extern const char kDeviceWiFiFastTransitionEnabled[];

}  // namespace prefs
}  // namespace chromeos

#endif  // CHROMEOS_CONSTANTS_CHROMEOS_PREF_NAMES_H_
