Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / content / child / indexed_db / indexed_db_key_builders.h
blobfb299c0dd789483357b7dbf5c851bbf5f0213204
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.
5 #ifndef CONTENT_CHILD_INDEXED_DB_INDEXED_DB_KEY_BUILDERS_H_
6 #define CONTENT_CHILD_INDEXED_DB_INDEXED_DB_KEY_BUILDERS_H_
8 #include "content/common/content_export.h"
9 #include "content/common/indexed_db/indexed_db_key.h"
10 #include "content/common/indexed_db/indexed_db_key_path.h"
11 #include "content/common/indexed_db/indexed_db_key_range.h"
12 #include "third_party/WebKit/public/platform/WebIDBKey.h"
13 #include "third_party/WebKit/public/platform/WebIDBKeyPath.h"
14 #include "third_party/WebKit/public/platform/WebIDBKeyRange.h"
16 namespace blink {
17 class WebIDBKey;
20 namespace content {
22 class CONTENT_EXPORT IndexedDBKeyBuilder {
23 public:
24 static IndexedDBKey Build(const blink::WebIDBKey& key);
26 private:
27 DISALLOW_COPY_AND_ASSIGN(IndexedDBKeyBuilder);
30 class CONTENT_EXPORT WebIDBKeyBuilder {
31 public:
32 static blink::WebIDBKey Build(const content::IndexedDBKey& key);
34 private:
35 DISALLOW_COPY_AND_ASSIGN(WebIDBKeyBuilder);
38 class CONTENT_EXPORT IndexedDBKeyRangeBuilder {
39 public:
40 static IndexedDBKeyRange Build(const blink::WebIDBKeyRange& key_range);
42 private:
43 DISALLOW_COPY_AND_ASSIGN(IndexedDBKeyRangeBuilder);
46 class CONTENT_EXPORT IndexedDBKeyPathBuilder {
47 public:
48 static IndexedDBKeyPath Build(const blink::WebIDBKeyPath& key_path);
50 private:
51 DISALLOW_COPY_AND_ASSIGN(IndexedDBKeyPathBuilder);
54 class CONTENT_EXPORT WebIDBKeyPathBuilder {
55 public:
56 static blink::WebIDBKeyPath Build(const IndexedDBKeyPath& key_path);
58 private:
59 DISALLOW_COPY_AND_ASSIGN(WebIDBKeyPathBuilder);
62 } // namespace content
64 #endif // CONTENT_CHILD_INDEXED_DB_INDEXED_DB_KEY_BUILDERS_H_