summaryrefslogtreecommitdiffstats
path: root/chromium/components/webdata/common/web_database_service.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/webdata/common/web_database_service.h')
-rw-r--r--chromium/components/webdata/common/web_database_service.h155
1 files changed, 0 insertions, 155 deletions
diff --git a/chromium/components/webdata/common/web_database_service.h b/chromium/components/webdata/common/web_database_service.h
deleted file mode 100644
index 95ef5e2c7a1..00000000000
--- a/chromium/components/webdata/common/web_database_service.h
+++ /dev/null
@@ -1,155 +0,0 @@
-// Copyright 2013 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.
-
-// Chromium settings and storage represent user-selected preferences and
-// information and MUST not be extracted, overwritten or modified except
-// through Chromium defined APIs.
-
-#ifndef COMPONENTS_WEBDATA_COMMON_WEB_DATABASE_SERVICE_H_
-#define COMPONENTS_WEBDATA_COMMON_WEB_DATABASE_SERVICE_H_
-
-#include "base/basictypes.h"
-#include "base/callback_forward.h"
-#include "base/compiler_specific.h"
-#include "base/files/file_path.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/ref_counted_delete_on_message_loop.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "base/message_loop/message_loop_proxy.h"
-#include "base/observer_list.h"
-#include "components/webdata/common/web_data_service_base.h"
-#include "components/webdata/common/web_database.h"
-#include "components/webdata/common/webdata_export.h"
-
-class WebDataServiceBackend;
-class WebDataRequestManager;
-
-namespace content {
-class BrowserContext;
-}
-
-namespace tracked_objects {
-class Location;
-}
-
-class WDTypedResult;
-class WebDataServiceConsumer;
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// WebDatabaseService defines the interface to a generic data repository
-// responsible for controlling access to the web database (metadata associated
-// with web pages).
-//
-////////////////////////////////////////////////////////////////////////////////
-
-class WEBDATA_EXPORT WebDatabaseService
- : public base::RefCountedDeleteOnMessageLoop<WebDatabaseService> {
- public:
- typedef base::Callback<scoped_ptr<WDTypedResult>(WebDatabase*)> ReadTask;
- typedef base::Callback<WebDatabase::State(WebDatabase*)> WriteTask;
-
- // Types for managing DB loading callbacks.
- typedef base::Closure DBLoadedCallback;
- typedef base::Callback<void(sql::InitStatus)> DBLoadErrorCallback;
-
- // Takes the path to the WebDatabase file.
- // WebDatabaseService lives on |ui_thread| and posts tasks to |db_thread|.
- WebDatabaseService(const base::FilePath& path,
- const scoped_refptr<base::MessageLoopProxy>& ui_thread,
- const scoped_refptr<base::MessageLoopProxy>& db_thread);
-
- // Adds |table| as a WebDatabaseTable that will participate in
- // managing the database, transferring ownership. All calls to this
- // method must be made before |LoadDatabase| is called.
- virtual void AddTable(scoped_ptr<WebDatabaseTable> table);
-
- // Initializes the web database service.
- virtual void LoadDatabase();
-
- // Unloads the database without actually shutting down the service. This can
- // be used to temporarily reduce the browser process' memory footprint.
- virtual void UnloadDatabase();
-
- // Unloads database and will not reload.
- virtual void ShutdownDatabase();
-
- // Gets a pointer to the WebDatabase (owned by WebDatabaseService).
- // TODO(caitkp): remove this method once SyncServices no longer depend on it.
- virtual WebDatabase* GetDatabaseOnDB() const;
-
- // Returns a pointer to the WebDataServiceBackend.
- scoped_refptr<WebDataServiceBackend> GetBackend() const;
-
- // Schedule an update/write task on the DB thread.
- virtual void ScheduleDBTask(
- const tracked_objects::Location& from_here,
- const WriteTask& task);
-
- // Schedule a read task on the DB thread.
- virtual WebDataServiceBase::Handle ScheduleDBTaskWithResult(
- const tracked_objects::Location& from_here,
- const ReadTask& task,
- WebDataServiceConsumer* consumer);
-
- // Cancel an existing request for a task on the DB thread.
- // TODO(caitkp): Think about moving the definition of the Handle type to
- // somewhere else.
- virtual void CancelRequest(WebDataServiceBase::Handle h);
-
- // Register a callback to be notified that the database has loaded. Multiple
- // callbacks may be registered, and each will be called at most once
- // (following a successful database load), then cleared.
- // Note: if the database load is already complete, then the callback will NOT
- // be stored or called.
- void RegisterDBLoadedCallback(const DBLoadedCallback& callback);
-
- // Register a callback to be notified that the database has failed to load.
- // Multiple callbacks may be registered, and each will be called at most once
- // (following a database load failure), then cleared.
- // Note: if the database load is already complete, then the callback will NOT
- // be stored or called.
- void RegisterDBErrorCallback(const DBLoadErrorCallback& callback);
-
- bool db_loaded() const { return db_loaded_; };
-
- private:
- class BackendDelegate;
- friend class BackendDelegate;
- friend class base::RefCountedDeleteOnMessageLoop<WebDatabaseService>;
- friend class base::DeleteHelper<WebDatabaseService>;
-
- typedef std::vector<DBLoadedCallback> LoadedCallbacks;
- typedef std::vector<DBLoadErrorCallback> ErrorCallbacks;
-
- virtual ~WebDatabaseService();
-
- void OnDatabaseLoadDone(sql::InitStatus status);
-
- base::FilePath path_;
-
- // The primary owner is |WebDatabaseService| but is refcounted because
- // PostTask on DB thread may outlive us.
- scoped_refptr<WebDataServiceBackend> wds_backend_;
-
- // All vended weak pointers are invalidated in ShutdownDatabase().
- base::WeakPtrFactory<WebDatabaseService> weak_ptr_factory_;
-
- // Callbacks to be called once the DB has loaded.
- LoadedCallbacks loaded_callbacks_;
-
- // Callbacks to be called if the DB has failed to load.
- ErrorCallbacks error_callbacks_;
-
- // True if the WebDatabase has loaded.
- bool db_loaded_;
-
- scoped_refptr<base::MessageLoopProxy> db_thread_;
-
- DISALLOW_COPY_AND_ASSIGN(WebDatabaseService);
-};
-
-#endif // COMPONENTS_WEBDATA_COMMON_WEB_DATABASE_SERVICE_H_