• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_CHILD_INDEXED_DB_INDEXED_DB_KEY_BUILDERS_H_
6 #define CONTENT_CHILD_INDEXED_DB_INDEXED_DB_KEY_BUILDERS_H_
7 
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"
15 
16 namespace blink {
17 class WebIDBKey;
18 }
19 
20 namespace content {
21 
22 class CONTENT_EXPORT IndexedDBKeyBuilder {
23  public:
24   static IndexedDBKey Build(const blink::WebIDBKey& key);
25 
26  private:
27   DISALLOW_COPY_AND_ASSIGN(IndexedDBKeyBuilder);
28 };
29 
30 class CONTENT_EXPORT WebIDBKeyBuilder {
31  public:
32   static blink::WebIDBKey Build(const content::IndexedDBKey& key);
33 
34  private:
35   DISALLOW_COPY_AND_ASSIGN(WebIDBKeyBuilder);
36 };
37 
38 class CONTENT_EXPORT IndexedDBKeyRangeBuilder {
39  public:
40   static IndexedDBKeyRange Build(const blink::WebIDBKeyRange& key_range);
41 
42  private:
43   DISALLOW_COPY_AND_ASSIGN(IndexedDBKeyRangeBuilder);
44 };
45 
46 class CONTENT_EXPORT IndexedDBKeyPathBuilder {
47  public:
48   static IndexedDBKeyPath Build(const blink::WebIDBKeyPath& key_path);
49 
50  private:
51   DISALLOW_COPY_AND_ASSIGN(IndexedDBKeyPathBuilder);
52 };
53 
54 class CONTENT_EXPORT WebIDBKeyPathBuilder {
55  public:
56   static blink::WebIDBKeyPath Build(const IndexedDBKeyPath& key_path);
57 
58  private:
59   DISALLOW_COPY_AND_ASSIGN(WebIDBKeyPathBuilder);
60 };
61 
62 }  // namespace content
63 
64 #endif  // CONTENT_CHILD_INDEXED_DB_INDEXED_DB_KEY_BUILDERS_H_
65