// Copyright 2017 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.

// This file defines all the public base::FeatureList features for the
// services/device module.

#ifndef SERVICES_DEVICE_PUBLIC_CPP_DEVICE_FEATURES_H_
#define SERVICES_DEVICE_PUBLIC_CPP_DEVICE_FEATURES_H_

#include "base/feature_list.h"
#include "services/device/public/cpp/device_features_export.h"

namespace features {

// The features should be documented alongside the definition of their values
// in the .cc file.
DEVICE_FEATURES_EXPORT extern const base::Feature kGenericSensor;
DEVICE_FEATURES_EXPORT extern const base::Feature kGenericSensorExtraClasses;
DEVICE_FEATURES_EXPORT extern const base::Feature kSensorContentSetting;
DEVICE_FEATURES_EXPORT extern const base::Feature kWinrtSensorsImplementation;

}  // namespace features

#endif  // SERVICES_DEVICE_PUBLIC_CPP_DEVICE_FEATURES_H_
