18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 22daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch * Copyright (C) 2011 Google Inc. All rights reserved. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met: 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer. 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * documentation and/or other materials provided with the distribution. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 255af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke 26dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#ifndef IDBCursorBackendProxy_h 27dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#define IDBCursorBackendProxy_h 28dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 29dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#if ENABLE(INDEXED_DATABASE) 30dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 31dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#include "IDBCursorBackendInterface.h" 32dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#include "WebIDBCursor.h" 33dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#include <wtf/OwnPtr.h> 34dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#include <wtf/PassOwnPtr.h> 35dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#include <wtf/PassRefPtr.h> 36dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#include <wtf/RefPtr.h> 37dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 382daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochnamespace WebKit { 39dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 402daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass IDBCursorBackendProxy : public WebCore::IDBCursorBackendInterface { 41dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdochpublic: 422daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch static PassRefPtr<WebCore::IDBCursorBackendInterface> create(PassOwnPtr<WebIDBCursor>); 43dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual ~IDBCursorBackendProxy(); 44dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 45dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual unsigned short direction() const; 462daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual PassRefPtr<WebCore::IDBKey> key() const; 472daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual PassRefPtr<WebCore::IDBKey> primaryKey() const; 482daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual PassRefPtr<WebCore::SerializedScriptValue> value() const; 492daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void update(PassRefPtr<WebCore::SerializedScriptValue>, PassRefPtr<WebCore::IDBCallbacks>, WebCore::ExceptionCode&); 502daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void continueFunction(PassRefPtr<WebCore::IDBKey>, PassRefPtr<WebCore::IDBCallbacks>, WebCore::ExceptionCode&); 512daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void deleteFunction(PassRefPtr<WebCore::IDBCallbacks>, WebCore::ExceptionCode&); 52dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 53dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdochprivate: 542daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch IDBCursorBackendProxy(PassOwnPtr<WebIDBCursor>); 55dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 562daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch OwnPtr<WebIDBCursor> m_idbCursor; 57dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch}; 58dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 592daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch} // namespace WebKit 60dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 61dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#endif 62dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch 63dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#endif // IDBCursorBackendProxy_h 64