// Copyright 2019 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 MEDIA_LEARNING_COMMON_FEATURE_LIBRARY_H_
#define MEDIA_LEARNING_COMMON_FEATURE_LIBRARY_H_

#include "base/component_export.h"
#include "base/macros.h"
#include "media/learning/common/learning_task.h"

namespace media {
namespace learning {

// This class provides feature descriptions for common features provided by the
// learning framework.  When creating a LearningTask, one may choose to include
// these in the feature descriptions:
//
//   LearningTask my_task;
//   my_task.feature_descriptions.push_back(FeatureLibrary::NetworkType());
struct COMPONENT_EXPORT(LEARNING_COMMON) FeatureLibrary {
  // Common browser features
  // Current network connection type (wired, 3G, etc.).
  static LearningTask::ValueDescription NetworkType();

  // Is the device on battery power?
  static LearningTask::ValueDescription BatteryPower();

  // TODO(liberato): add CpuLoad, ConcurrentMediaPlayers, NetworkUsage, Battery.

  // Common renderer features
  // TODO(liberato): Add Element{Type, Path, Id, Name}, visibility, size, other
  // DOM structure features.
};

}  // namespace learning
}  // namespace media

#endif  // MEDIA_LEARNING_COMMON_FEATURE_LIBRARY_H_
