chromium/components/segmentation_platform/internal/execution/processing/feature_list_query_processor.cc

// Copyright 2022 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/processing/feature_list_query_processor.h"

#include "base/functional/bind.h"
#include "base/location.h"
#include "base/memory/weak_ptr.h"
#include "components/segmentation_platform/internal/database/storage_service.h"
#include "components/segmentation_platform/internal/database/ukm_types.h"
#include "components/segmentation_platform/internal/execution/processing/custom_input_processor.h"
#include "components/segmentation_platform/internal/execution/processing/feature_processor_state.h"
#include "components/segmentation_platform/internal/execution/processing/query_processor.h"
#include "components/segmentation_platform/internal/execution/processing/sql_feature_processor.h"
#include "components/segmentation_platform/internal/execution/processing/uma_feature_processor.h"
#include "components/segmentation_platform/internal/metadata/metadata_utils.h"
#include "components/segmentation_platform/internal/stats.h"
#include "components/segmentation_platform/internal/ukm_data_manager.h"
#include "components/segmentation_platform/public/input_delegate.h"
#include "components/segmentation_platform/public/proto/model_metadata.pb.h"

namespace segmentation_platform::processing {

Data::Data(proto::InputFeature input) {}

Data::Data(proto::TrainingOutput output)
    :{}

Data::Data(Data&& other)
    :{}

Data::~Data() = default;

bool Data::IsInput() const {}

FeatureListQueryProcessor::FeatureListQueryProcessor(
    StorageService* storage_service,
    std::unique_ptr<InputDelegateHolder> input_delegate_holder,
    std::unique_ptr<FeatureAggregator> feature_aggregator)
    :{}

FeatureListQueryProcessor::~FeatureListQueryProcessor() = default;

void FeatureListQueryProcessor::ProcessFeatureList(
    const proto::SegmentationModelMetadata& model_metadata,
    scoped_refptr<InputContext> input_context,
    SegmentId segment_id,
    base::Time prediction_time,
    base::Time observation_time,
    ProcessOption process_option,
    FeatureProcessorCallback callback) {}

void FeatureListQueryProcessor::CreateProcessors(
    FeatureProcessorState& feature_processor_state,
    std::map<Data::DataType,
             base::flat_map<QueryProcessor::FeatureIndex, Data>>&&
        data_to_process) {}

void FeatureListQueryProcessor::Process(
    FeatureProcessorState& feature_processor_state) {}

void FeatureListQueryProcessor::OnFeatureBatchProcessed(
    std::unique_ptr<QueryProcessor> feature_processor,
    bool is_input,
    base::WeakPtr<FeatureProcessorState> feature_processor_state,
    QueryProcessor::IndexedTensors result) {}

std::unique_ptr<UmaFeatureProcessor>
FeatureListQueryProcessor::GetUmaFeatureProcessor(
    UkmDataManager* ukm_data_manager,
    base::flat_map<FeatureIndex, Data>&& uma_features,
    FeatureProcessorState& feature_processor_state,
    bool is_output) {}

void FeatureListQueryProcessor::FinishProcessingAndCleanup(
    FeatureProcessorState& feature_processor_state) {}

}  // namespace segmentation_platform::processing