// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_BROWSER_NOTIFICATIONS_NOTIFICATION_DATABASE_H_ #define CONTENT_BROWSER_NOTIFICATIONS_NOTIFICATION_DATABASE_H_ #include <stdint.h> #include <memory> #include <optional> #include <set> #include <vector> #include "base/files/file_path.h" #include "base/sequence_checker.h" #include "content/common/content_export.h" #include "content/public/browser/platform_notification_context.h" class GURL; namespace blink { struct NotificationResources; } // namespace blink namespace leveldb { class DB; class Env; class FilterPolicy; } // namespace leveldb namespace content { struct NotificationDatabaseData; // Implementation of the persistent notification database. // // The database is built on top of a LevelDB database, either in memory or on // the filesystem depending on the path passed to the constructor. When writing // a new notification, it will be assigned an id guaranteed to be unique for the // lifetime of the database. // // This class must only be used on a thread or sequenced task runner that allows // file I/O. The same thread or task runner must be used for all method calls. class CONTENT_EXPORT NotificationDatabase { … }; } // namespace content #endif // CONTENT_BROWSER_NOTIFICATIONS_NOTIFICATION_DATABASE_H_