chromium/components/offline_pages/core/offline_event_logger.h

// Copyright 2016 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_OFFLINE_PAGES_CORE_OFFLINE_EVENT_LOGGER_H_
#define COMPONENTS_OFFLINE_PAGES_CORE_OFFLINE_EVENT_LOGGER_H_

#include <string>
#include <vector>

#include "base/containers/circular_deque.h"
#include "base/memory/raw_ptr.h"

namespace offline_pages {

// Maximum number of recorded Logs to keep track of at any moment.
constexpr size_t kMaxLogCount =;

// Facilitates the logging of events. Subclasses should create methods that
// call RecordActivity to write into the log. |SetIsLogging|, |GetLogs|, and
// |Clear| are called from the chrome://offline-internals page.
//
// Logging should be done by calling the corresponding subclass methods when
// a loggable event occurs (i.e. when status has changed for a save request
// or when an offlined page has been accessed/saved).
//
// This log only keeps track of the last |kMaxLogCount| events.
class OfflineEventLogger {};
}  // namespace offline_pages

#endif  // COMPONENTS_OFFLINE_PAGES_CORE_OFFLINE_EVENT_LOGGER_H_