chromium/components/segmentation_platform/internal/execution/optimization_guide/optimization_guide_segmentation_model_provider.cc

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

#include "components/segmentation_platform/internal/execution/optimization_guide/optimization_guide_segmentation_model_provider.h"

#include <memory>
#include <vector>

#include "base/task/sequenced_task_runner.h"
#include "components/optimization_guide/core/model_executor.h"
#include "components/optimization_guide/proto/common_types.pb.h"
#include "components/segmentation_platform/internal/execution/optimization_guide/optimization_guide_segmentation_model_handler.h"
#include "components/segmentation_platform/internal/execution/optimization_guide/segmentation_model_executor.h"
#include "components/segmentation_platform/internal/segment_id_convertor.h"
#include "components/segmentation_platform/internal/stats.h"
#include "components/segmentation_platform/public/proto/model_metadata.pb.h"
#include "components/segmentation_platform/public/proto/segmentation_platform.pb.h"

namespace segmentation_platform {

namespace {

const char kSegmentationModelMetadataTypeUrl[] =;

std::optional<optimization_guide::proto::Any> GetModelFetchConfig() {}

}  // namespace

OptimizationGuideSegmentationModelProvider::
    OptimizationGuideSegmentationModelProvider(
        optimization_guide::OptimizationGuideModelProvider* model_provider,
        scoped_refptr<base::SequencedTaskRunner> background_task_runner,
        proto::SegmentId segment_id)
    :{}

OptimizationGuideSegmentationModelProvider::
    ~OptimizationGuideSegmentationModelProvider() = default;

void OptimizationGuideSegmentationModelProvider::InitAndFetchModel(
    const ModelUpdatedCallback& model_updated_callback) {}

void OptimizationGuideSegmentationModelProvider::ExecuteModelWithInput(
    const ModelProvider::Request& inputs,
    ExecutionCallback callback) {}

bool OptimizationGuideSegmentationModelProvider::ModelAvailable() {}

}  // namespace segmentation_platform