Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1266)

Side by Side Diff: content/browser/indexed_db/indexed_db_callbacks_wrapper.h

Issue 18241003: IndexedDB: Remove IndexedDBCallbacksWrapper (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Include/Forward Declare tidying Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2013 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_CALLBACKS_WRAPPER_H_
6 #define CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_CALLBACKS_WRAPPER_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "base/basictypes.h"
12 #include "base/logging.h"
13 #include "base/memory/ref_counted.h"
14 #include "base/memory/scoped_ptr.h"
15 #include "content/browser/indexed_db/indexed_db_database_callbacks.h"
16 #include "content/browser/indexed_db/indexed_db_database_error.h"
17 #include "content/common/indexed_db/indexed_db_key.h"
18 #include "content/common/indexed_db/indexed_db_key_path.h"
19 #include "third_party/WebKit/public/platform/WebIDBCallbacks.h"
20
21 namespace content {
22 class IndexedDBCallbacksBase;
23 class IndexedDBCursor;
24 class IndexedDBDatabase;
25 class WebIDBDatabaseImpl;
26 struct IndexedDBDatabaseMetadata;
27
28 class CONTENT_EXPORT IndexedDBCallbacksWrapper
29 : public base::RefCounted<IndexedDBCallbacksWrapper> {
30 public:
31 static scoped_refptr<IndexedDBCallbacksWrapper> Create(
32 IndexedDBCallbacksBase* callbacks) {
33 return make_scoped_refptr(new IndexedDBCallbacksWrapper(callbacks));
34 }
35
36 virtual void OnError(const IndexedDBDatabaseError& error);
37 // From IDBFactory.webkitGetDatabaseNames()
38 virtual void OnSuccess(const std::vector<string16>& string);
39 // From IDBObjectStore/IDBIndex.openCursor(),
40 // IDBIndex.openKeyCursor()
41 virtual void OnSuccess(scoped_refptr<IndexedDBCursor> cursor,
42 const IndexedDBKey& key,
43 const IndexedDBKey& primary_key,
44 std::vector<char>* value);
45 // From IDBObjectStore.add()/put(), IDBIndex.getKey()
46 virtual void OnSuccess(const IndexedDBKey& key);
47 // From IDBObjectStore/IDBIndex.get()/count(), and various methods
48 // that yield null/undefined.
49 virtual void OnSuccess(std::vector<char>* value);
50 // From IDBObjectStore/IDBIndex.get() (with key injection)
51 virtual void OnSuccess(std::vector<char>* data,
52 const IndexedDBKey& key,
53 const IndexedDBKeyPath& key_path);
54 // From IDBObjectStore/IDBIndex.count()
55 virtual void OnSuccess(int64 value);
56
57 // From IDBFactor.deleteDatabase(),
58 // IDBObjectStore/IDBIndex.get(), IDBObjectStore.delete(),
59 // IDBObjectStore.clear()
60 virtual void OnSuccess();
61
62 // From IDBCursor.advance()/continue()
63 virtual void OnSuccess(const IndexedDBKey& key,
64 const IndexedDBKey& primary_key,
65 std::vector<char>* value);
66 // From IDBCursor.advance()/continue()
67 virtual void OnSuccessWithPrefetch(
68 const std::vector<IndexedDBKey>& keys,
69 const std::vector<IndexedDBKey>& primary_keys,
70 const std::vector<std::vector<char> >& values);
71 // From IDBFactory.open()/deleteDatabase()
72 virtual void OnBlocked(int64 existing_version);
73 // From IDBFactory.open()
74 virtual void OnUpgradeNeeded(
75 int64 old_version,
76 scoped_refptr<IndexedDBDatabase> db,
77 const content::IndexedDBDatabaseMetadata& metadata,
78 WebKit::WebIDBCallbacks::DataLoss data_loss);
79 virtual void OnSuccess(scoped_refptr<IndexedDBDatabase> db,
80 const content::IndexedDBDatabaseMetadata& metadata);
81 virtual void SetDatabaseCallbacks(
82 scoped_refptr<IndexedDBDatabaseCallbacks> database_callbacks);
83
84 protected:
85 virtual ~IndexedDBCallbacksWrapper();
86 explicit IndexedDBCallbacksWrapper(IndexedDBCallbacksBase* callbacks);
87
88 private:
89 friend class base::RefCounted<IndexedDBCallbacksWrapper>;
90 scoped_ptr<WebIDBDatabaseImpl> web_database_impl_;
91 scoped_ptr<IndexedDBCallbacksBase> callbacks_;
92 scoped_refptr<IndexedDBDatabaseCallbacks> database_callbacks_;
93 bool did_complete_;
94 bool did_create_proxy_;
95 };
96
97 } // namespace content
98
99 #endif // CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_CALLBACKS_WRAPPER_H_
OLDNEW
« no previous file with comments | « content/browser/indexed_db/indexed_db_callbacks.cc ('k') | content/browser/indexed_db/indexed_db_callbacks_wrapper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698