chromium/components/segmentation_platform/embedder/home_modules/ephemeral_home_module_backend.cc

// Copyright 2024 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/embedder/home_modules/ephemeral_home_module_backend.h"

#include <memory>
#include <vector>

#include "base/command_line.h"
#include "base/task/sequenced_task_runner.h"
#include "components/segmentation_platform/embedder/home_modules/card_selection_info.h"
#include "components/segmentation_platform/embedder/home_modules/card_selection_signals.h"
#include "components/segmentation_platform/embedder/home_modules/constants.h"
#include "components/segmentation_platform/embedder/home_modules/home_modules_card_registry.h"
#include "components/segmentation_platform/internal/metadata/metadata_writer.h"
#include "components/segmentation_platform/public/config.h"
#include "components/segmentation_platform/public/model_provider.h"
#include "components/segmentation_platform/public/proto/aggregation.pb.h"
#include "components/segmentation_platform/public/proto/model_metadata.pb.h"

namespace segmentation_platform::home_modules {

BASE_FEATURE();

namespace {
SegmentId;

// Default parameters for EphemeralHomeModuleBackend model.
constexpr SegmentId kSegmentId =;
// Default parameters for TestEphemeralHomeModuleBackend model.
constexpr SegmentId kTestSegmentId =;
constexpr int64_t kModelVersion =;
// Store 28 buckets of input data (28 days).
constexpr int64_t kSignalStorageLength =;
// Wait until we have 7 days of data.
constexpr int64_t kMinSignalCollectionLength =;
// Refresh the result every 7 days.
constexpr int64_t kResultTTLDays =;
// Number of labels to return to the caller.
constexpr size_t kMaxOutputLabelsToRank =;

constexpr char kEphemeralHomeModuleBackendUmaName[] =;

}  // namespace

// static
std::unique_ptr<Config> EphemeralHomeModuleBackend::GetConfig(
    HomeModulesCardRegistry* home_modules_card_registry) {}

EphemeralHomeModuleBackend::EphemeralHomeModuleBackend(
    base::WeakPtr<HomeModulesCardRegistry> home_modules_card_registry)
    :{}
EphemeralHomeModuleBackend::~EphemeralHomeModuleBackend() = default;

std::unique_ptr<DefaultModelProvider::ModelConfig>
EphemeralHomeModuleBackend::GetModelConfig() {}

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

// static
std::unique_ptr<Config> TestEphemeralHomeModuleBackend::GetConfig() {}

TestEphemeralHomeModuleBackend::TestEphemeralHomeModuleBackend()
    :{}

std::unique_ptr<DefaultModelProvider::ModelConfig>
TestEphemeralHomeModuleBackend::GetModelConfig() {}

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

}  // namespace segmentation_platform::home_modules