1ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch// found in the LICENSE file.
4ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
5ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#ifndef CONTENT_CHILD_INDEXED_DB_INDEXED_DB_KEY_BUILDERS_H_
6ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#define CONTENT_CHILD_INDEXED_DB_INDEXED_DB_KEY_BUILDERS_H_
7ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
8ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "content/common/content_export.h"
9ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "content/common/indexed_db/indexed_db_key.h"
10ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "content/common/indexed_db/indexed_db_key_path.h"
11ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "content/common/indexed_db/indexed_db_key_range.h"
12ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/WebKit/public/platform/WebIDBKey.h"
13ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/WebKit/public/platform/WebIDBKeyPath.h"
14ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/WebKit/public/platform/WebIDBKeyRange.h"
15ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace blink {
17ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochclass WebIDBKey;
18ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch}
19ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
20ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochnamespace content {
21ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
22ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochclass CONTENT_EXPORT IndexedDBKeyBuilder {
23ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch public:
24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  static IndexedDBKey Build(const blink::WebIDBKey& key);
25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) private:
27f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(IndexedDBKeyBuilder);
28ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch};
29ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
30ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochclass CONTENT_EXPORT WebIDBKeyBuilder {
31ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch public:
32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  static blink::WebIDBKey Build(const content::IndexedDBKey& key);
33f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
34f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) private:
35f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(WebIDBKeyBuilder);
36ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch};
37ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
38ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochclass CONTENT_EXPORT IndexedDBKeyRangeBuilder {
39ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch public:
40f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  static IndexedDBKeyRange Build(const blink::WebIDBKeyRange& key_range);
41f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
42f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) private:
43f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(IndexedDBKeyRangeBuilder);
44ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch};
45ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
46ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochclass CONTENT_EXPORT IndexedDBKeyPathBuilder {
47ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch public:
48f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  static IndexedDBKeyPath Build(const blink::WebIDBKeyPath& key_path);
49f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
50f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) private:
51f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(IndexedDBKeyPathBuilder);
52ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch};
53ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
54ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochclass CONTENT_EXPORT WebIDBKeyPathBuilder {
55ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch public:
56f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  static blink::WebIDBKeyPath Build(const IndexedDBKeyPath& key_path);
57f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
58f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) private:
59f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(WebIDBKeyPathBuilder);
60ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch};
61ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
62ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch}  // namespace content
63ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
64ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#endif  // CONTENT_CHILD_INDEXED_DB_INDEXED_DB_KEY_BUILDERS_H_
65