WebIDBKeyRange.cpp [plain text]
#include "config.h"
#include "WebIDBKeyRange.h"
#if ENABLE(INDEXED_DATABASE)
#include "IDBKey.h"
#include "IDBKeyRange.h"
#include "WebIDBKey.h"
using namespace WebCore;
namespace WebKit {
void WebIDBKeyRange::assign(const WebIDBKeyRange& other)
{
m_private = other.m_private;
}
void WebIDBKeyRange::assign(const WebIDBKey& lower, const WebIDBKey& upper, bool lowerOpen, bool upperOpen)
{
if (lower.type() == WebIDBKey::InvalidType && upper.type() == WebIDBKey::InvalidType)
m_private = 0;
else
m_private = IDBKeyRange::create(lower, upper, lowerOpen ? IDBKeyRange::LowerBoundOpen : IDBKeyRange::LowerBoundClosed, upperOpen ? IDBKeyRange::UpperBoundOpen : IDBKeyRange::UpperBoundClosed);
}
void WebIDBKeyRange::reset()
{
m_private.reset();
}
WebIDBKey WebIDBKeyRange::lower() const
{
if (!m_private.get())
return WebIDBKey::createInvalid();
return m_private->lower();
}
WebIDBKey WebIDBKeyRange::upper() const
{
if (!m_private.get())
return WebIDBKey::createInvalid();
return m_private->upper();
}
bool WebIDBKeyRange::lowerOpen() const
{
return m_private.get() && m_private->lowerOpen();
}
bool WebIDBKeyRange::upperOpen() const
{
return m_private.get() && m_private->upperOpen();
}
WebIDBKeyRange::WebIDBKeyRange(const PassRefPtr<IDBKeyRange>& value)
: m_private(value)
{
}
WebIDBKeyRange& WebIDBKeyRange::operator=(const PassRefPtr<IDBKeyRange>& value)
{
m_private = value;
return *this;
}
WebIDBKeyRange::operator PassRefPtr<IDBKeyRange>() const
{
return m_private.get();
}
}
#endif // ENABLE(INDEXED_DATABASE)