chromium/components/keyed_service/core/dependency_manager.cc

// Copyright 2014 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/keyed_service/core/dependency_manager.h"

#include <ostream>
#include <string>

#include "base/check.h"
#include "base/debug/crash_logging.h"
#include "base/debug/dump_without_crashing.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/memory/raw_ptr.h"
#include "base/notreached.h"
#include "base/supports_user_data.h"
#include "components/keyed_service/core/features_buildflags.h"
#include "components/keyed_service/core/keyed_service_base_factory.h"
#include "components/keyed_service/core/keyed_service_factory.h"
#include "components/keyed_service/core/refcounted_keyed_service_factory.h"

#ifndef NDEBUG
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#endif  // NDEBUG

namespace {

// An ordered container of pointers to DependencyNode. The order depends
// on the operation to perform (initialisation, destruction, ...).
OrderedDependencyNodes;

// Convert a vector of pointers to DependencyNode to a vector of pointers to
// KeyedServiceBaseFactory.
std::vector<raw_ptr<KeyedServiceBaseFactory, VectorExperimental>>
OrderedFactoriesFromOrderedDependencyNodes(
    const OrderedDependencyNodes& ordered_dependency_nodes) {}

}  // namespace

DependencyManager::DependencyManager() = default;

DependencyManager::~DependencyManager() = default;

void DependencyManager::AddComponent(KeyedServiceBaseFactory* component) {}

void DependencyManager::RemoveComponent(KeyedServiceBaseFactory* component) {}

void DependencyManager::AddEdge(KeyedServiceBaseFactory* depended,
                                KeyedServiceBaseFactory* dependee) {}

void DependencyManager::RegisterPrefsForServices(
    user_prefs::PrefRegistrySyncable* pref_registry) {}

void DependencyManager::CreateContextServices(void* context,
                                              bool is_testing_context) {}

void DependencyManager::DestroyContextServices(void* context) {}

// static
void DependencyManager::PerformInterlockedTwoPhaseShutdown(
    DependencyManager* dependency_manager1,
    void* context1,
    DependencyManager* dependency_manager2,
    void* context2) {}

DependencyManager::OrderedFactories DependencyManager::GetConstructionOrder() {}

DependencyManager::OrderedFactories DependencyManager::GetDestructionOrder() {}

void DependencyManager::ShutdownFactoriesInOrder(
    void* context,
    const OrderedFactories& factories) {}

void DependencyManager::DestroyFactoriesInOrder(
    void* context,
    const OrderedFactories& factories) {}

void DependencyManager::AssertContextWasntDestroyed(void* context) const {}

void DependencyManager::MarkContextLive(void* context) {}

void DependencyManager::MarkContextDead(void* context) {}

#ifndef NDEBUG
namespace {

std::string KeyedServiceBaseFactoryGetNodeName(DependencyNode* node) {}

}  // namespace

void DependencyManager::DumpDependenciesAsGraphviz(
    const std::string& top_level_name,
    const base::FilePath& dot_file) const {}
#endif  // NDEBUG

DependencyGraph& DependencyManager::GetDependencyGraphForTesting() {}

void DependencyManager::DisallowKeyedServiceFactoryRegistration(
    const std::string& registration_function_name_error_message) {}