#include "components/segmentation_platform/internal/execution/optimization_guide/optimization_guide_segmentation_model_handler.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/optimization_guide/proto/models.pb.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"
namespace segmentation_platform {
OptimizationGuideSegmentationModelHandler::
OptimizationGuideSegmentationModelHandler(
optimization_guide::OptimizationGuideModelProvider* model_provider,
scoped_refptr<base::SequencedTaskRunner> background_task_runner,
optimization_guide::proto::OptimizationTarget segment_id,
const ModelUpdatedCallback& model_updated_callback,
std::optional<optimization_guide::proto::Any>&& model_metadata)
: … { … }
OptimizationGuideSegmentationModelHandler::
~OptimizationGuideSegmentationModelHandler() = default;
void OptimizationGuideSegmentationModelHandler::OnModelUpdated(
optimization_guide::proto::OptimizationTarget optimization_target,
base::optional_ref<const optimization_guide::ModelInfo> model_info) { … }
}