chromium/components/optimization_guide/core/model_validator.h

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

#ifndef COMPONENTS_OPTIMIZATION_GUIDE_CORE_MODEL_VALIDATOR_H_
#define COMPONENTS_OPTIMIZATION_GUIDE_CORE_MODEL_VALIDATOR_H_

#include "base/task/sequenced_task_runner.h"
#include "components/optimization_guide/core/base_model_executor.h"
#include "components/optimization_guide/core/model_executor.h"
#include "components/optimization_guide/core/model_handler.h"
#include "components/optimization_guide/core/optimization_guide_model_provider.h"
#include "components/optimization_guide/proto/models.pb.h"

namespace optimization_guide {

// Handler for loading and validating a model.
class ModelValidatorHandler
    : public ModelHandler<float, const std::vector<float>&> {};

// Executor where the model loading and validation happens in the background
// thread. This is owned by ModelValidatorHandler.
class ModelValidatorExecutor
    : public BaseModelExecutor<float, const std::vector<float>&> {};

}  // namespace optimization_guide

#endif  // COMPONENTS_OPTIMIZATION_GUIDE_CORE_MODEL_VALIDATOR_H_