#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() = 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() { … }
struct ProductMessagingController::RequiredNoticeData { … };
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 { … }
}