// Copyright (c) 2012 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 EXTENSIONS_BROWSER_API_IDLE_IDLE_API_CONSTANTS_H_
#define EXTENSIONS_BROWSER_API_IDLE_IDLE_API_CONSTANTS_H_

namespace extensions {
namespace idle_api_constants {

// Events.
extern const char kOnStateChanged[];

// States.
extern const char kStateActive[];
extern const char kStateIdle[];
extern const char kStateLocked[];

}  // namespace idle_api_constants
}  // namespace extensions

#endif  // EXTENSIONS_BROWSER_API_IDLE_IDLE_API_CONSTANTS_H_
