#ifndef CHROME_BROWSER_SESSIONS_SESSION_SERVICE_LOG_H_
#define CHROME_BROWSER_SESSIONS_SESSION_SERVICE_LOG_H_
#include <list>
#include "base/time/time.h"
class Profile;
namespace user_prefs {
class PrefRegistrySyncable;
}
enum class SessionServiceEventLogType { … };
struct StartData { … };
struct RestoreData { … };
struct ExitData { … };
struct WriteErrorData { … };
struct RestoreInitiatedData { … };
EventData;
struct SessionServiceEvent { … };
std::list<SessionServiceEvent> GetSessionServiceEvents(Profile* profile);
void LogSessionServiceStartEvent(Profile* profile, bool after_crash);
void LogSessionServiceExitEvent(Profile* profile,
int window_count,
int tab_count,
bool is_first_session_service,
bool did_schedule_command);
void LogSessionServiceRestoreInitiatedEvent(Profile* profile,
bool synchronous,
bool restore_browser);
void LogSessionServiceRestoreEvent(Profile* profile,
int window_count,
int tab_count,
bool encountered_error_reading);
void LogSessionServiceRestoreCanceledEvent(Profile* profile);
void LogSessionServiceWriteErrorEvent(Profile* profile,
bool unrecoverable_write_error);
void RemoveLastSessionServiceEventOfType(Profile* profile,
SessionServiceEventLogType type);
void RegisterSessionServiceLogProfilePrefs(
user_prefs::PrefRegistrySyncable* registry);
void LogSessionServiceEvent(Profile* profile, const SessionServiceEvent& event);
#endif