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