• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_DATABASE_CALLBACKS_H_
6 #define CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_DATABASE_CALLBACKS_H_
7 
8 #include "base/basictypes.h"
9 #include "base/memory/ref_counted.h"
10 #include "content/common/content_export.h"
11 
12 namespace content {
13 class IndexedDBDatabaseError;
14 class IndexedDBDispatcherHost;
15 
16 class CONTENT_EXPORT IndexedDBDatabaseCallbacks
17     : public base::RefCounted<IndexedDBDatabaseCallbacks> {
18  public:
19   IndexedDBDatabaseCallbacks(IndexedDBDispatcherHost* dispatcher_host,
20                              int ipc_thread_id,
21                              int ipc_database_callbacks_id);
22 
23   virtual void OnForcedClose();
24   virtual void OnVersionChange(int64 old_version, int64 new_version);
25 
26   virtual void OnAbort(int64 host_transaction_id,
27                        const IndexedDBDatabaseError& error);
28   virtual void OnComplete(int64 host_transaction_id);
29 
30  protected:
31   virtual ~IndexedDBDatabaseCallbacks();
32 
33  private:
34   friend class base::RefCounted<IndexedDBDatabaseCallbacks>;
35 
36   scoped_refptr<IndexedDBDispatcherHost> dispatcher_host_;
37   int ipc_thread_id_;
38   int ipc_database_callbacks_id_;
39 };
40 
41 }  // namespace content
42 
43 #endif  // CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_DATABASE_CALLBACKS_H_
44