blob: 2adb0d81cdcdf7a1cb5207cb8f2eecfcf8ee5d8e [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_NOTIFICATIONS_SCHEDULER_NOTIFICATION_ENTRY_H_
#define CHROME_BROWSER_NOTIFICATIONS_SCHEDULER_NOTIFICATION_ENTRY_H_
#include <string>
#include "base/time/time.h"
#include "chrome/browser/notifications/scheduler/notification_data.h"
#include "chrome/browser/notifications/scheduler/notification_scheduler_types.h"
#include "chrome/browser/notifications/scheduler/schedule_params.h"
namespace notifications {
// Represents the in-memory counterpart of scheduled notification database
// record.
struct NotificationEntry {
NotificationEntry(SchedulerClientType type, const std::string& guid);
NotificationEntry(const NotificationEntry& other);
~NotificationEntry();
// The type of the notification.
SchedulerClientType type;
// The unique id of the notification database entry.
std::string guid;
// Creation timestamp.
base::Time create_time;
// Contains information to construct the notification.
NotificationData notification_data;
// Scheduling details.
ScheduleParams schedule_params;
};
} // namespace notifications
#endif // CHROME_BROWSER_NOTIFICATIONS_SCHEDULER_NOTIFICATION_ENTRY_H_