chromium/components/user_education/common/product_messaging_controller.cc

// Copyright 2023 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/user_education/common/product_messaging_controller.h"

#include <sstream>
#include <utility>
#include <vector>

#include "base/containers/contains.h"
#include "base/functional/callback.h"
#include "base/logging.h"
#include "base/notreached.h"
#include "base/task/single_thread_task_runner.h"

namespace user_education {

namespace internal {
DEFINE_REQUIRED_NOTICE_IDENTIFIER(kShowAfterAllNotices);
}

// RequiredNoticePriorityHandle

RequiredNoticePriorityHandle::RequiredNoticePriorityHandle() = default;

RequiredNoticePriorityHandle::RequiredNoticePriorityHandle(
    RequiredNoticeId notice_id,
    base::WeakPtr<ProductMessagingController> controller)
    :{}

RequiredNoticePriorityHandle::RequiredNoticePriorityHandle(
    RequiredNoticePriorityHandle&& other) noexcept
    :{}

RequiredNoticePriorityHandle& RequiredNoticePriorityHandle::operator=(
    RequiredNoticePriorityHandle&& other) noexcept {}

RequiredNoticePriorityHandle::~RequiredNoticePriorityHandle() {}

operator bool()

bool RequiredNoticePriorityHandle::operator!() const {}

void RequiredNoticePriorityHandle::Release() {}

// ProductMessagingController::RequiredNoticeData

struct ProductMessagingController::RequiredNoticeData {};

// ProductMessagingController

ProductMessagingController::ProductMessagingController() = default;
ProductMessagingController::~ProductMessagingController() = default;

bool ProductMessagingController::IsNoticeQueued(
    RequiredNoticeId notice_id) const {}

void ProductMessagingController::QueueRequiredNotice(
    RequiredNoticeId notice_id,
    RequiredNoticeShowCallback ready_to_start_callback,
    std::initializer_list<RequiredNoticeId> always_show_after) {}

void ProductMessagingController::UnqueueRequiredNotice(
    RequiredNoticeId notice_id) {}

void ProductMessagingController::ReleaseHandle(RequiredNoticeId notice_id) {}

void ProductMessagingController::MaybeShowNextRequiredNotice() {}

void ProductMessagingController::MaybeShowNextRequiredNoticeImpl() {}

std::string ProductMessagingController::DumpData() const {}

}  // namespace user_education