indexed_db_key_range.h revision 90dce4d38c5ff5333bea97d859d4e484e27edf0c
1// Copyright (c) 2012 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_COMMON_INDEXED_DB_INDEXED_DB_KEY_RANGE_H_ 6#define CONTENT_COMMON_INDEXED_DB_INDEXED_DB_KEY_RANGE_H_ 7 8#include "base/basictypes.h" 9#include "content/common/content_export.h" 10#include "content/common/indexed_db/indexed_db_key.h" 11#include "third_party/WebKit/Source/Platform/chromium/public/WebIDBKeyRange.h" 12 13namespace content { 14 15class CONTENT_EXPORT IndexedDBKeyRange { 16 public: 17 IndexedDBKeyRange(); 18 explicit IndexedDBKeyRange(const WebKit::WebIDBKeyRange& key_range); 19 explicit IndexedDBKeyRange(const IndexedDBKey& onlyKey); 20 IndexedDBKeyRange(const IndexedDBKey& lower, 21 const IndexedDBKey& upper, 22 bool lower_open, 23 bool upper_open); 24 ~IndexedDBKeyRange(); 25 26 const IndexedDBKey& lower() const { return lower_; } 27 const IndexedDBKey& upper() const { return upper_; } 28 bool lowerOpen() const { return lower_open_; } 29 bool upperOpen() const { return upper_open_; } 30 31 bool IsOnlyKey() const; 32 33 operator WebKit::WebIDBKeyRange() const; 34 35 private: 36 IndexedDBKey lower_; 37 IndexedDBKey upper_; 38 bool lower_open_; 39 bool upper_open_; 40}; 41 42} // namespace content 43 44#endif // CONTENT_COMMON_INDEXED_DB_INDEXED_DB_KEY_RANGE_H_ 45