blob: c19bb925ece6111371c740ef563f3af81c3cd9fc [file] [log] [blame]
// 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.
#ifndef COMPONENTS_SEGMENTATION_PLATFORM_INTERNAL_DUMMY_UKM_DATA_MANAGER_H_
#define COMPONENTS_SEGMENTATION_PLATFORM_INTERNAL_DUMMY_UKM_DATA_MANAGER_H_
#include "components/segmentation_platform/internal/ukm_data_manager.h"
namespace segmentation_platform {
// This class is used by the segmentation services when UKM engine is disabled,
// in the production code.
class DummyUkmDataManager : public UkmDataManager {
public:
DummyUkmDataManager();
~DummyUkmDataManager() override;
DummyUkmDataManager(const DummyUkmDataManager&) = delete;
DummyUkmDataManager& operator=(const DummyUkmDataManager&) = delete;
// UkmDataManager implementation:
void Initialize(const base::FilePath& database_path, bool in_memory) override;
void StartObservation(UkmObserver* ukm_observer) override;
bool IsUkmEngineEnabled() override;
void StartObservingUkm(const UkmConfig& config) override;
void PauseOrResumeObservation(bool pause) override;
UrlSignalHandler* GetOrCreateUrlHandler() override;
UkmDatabase* GetUkmDatabase() override;
bool HasUkmDatabase() override;
void OnEntryAdded(ukm::mojom::UkmEntryPtr entry) override;
void OnUkmSourceUpdated(ukm::SourceId source_id,
const std::vector<GURL>& urls) override;
void AddRef() override;
void RemoveRef() override;
};
} // namespace segmentation_platform
#endif // COMPONENTS_SEGMENTATION_PLATFORM_INTERNAL_DUMMY_UKM_DATA_MANAGER_H_