1563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark/* 22daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch * Copyright (C) 2011 Google Inc. All rights reserved. 3563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 4563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * Redistribution and use in source and binary forms, with or without 5563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * modification, are permitted provided that the following conditions 6563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * are met: 7563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 8563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 1. Redistributions of source code must retain the above copyright 9563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * notice, this list of conditions and the following disclaimer. 10563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 2. Redistributions in binary form must reproduce the above copyright 11563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * notice, this list of conditions and the following disclaimer in the 12563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * documentation and/or other materials provided with the distribution. 13563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 14563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * its contributors may be used to endorse or promote products derived 15563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * from this software without specific prior written permission. 16563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * 17563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 18563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 21563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark */ 28563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 29dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#ifndef IDBCallbacksProxy_h 30dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#define IDBCallbacksProxy_h 31563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark 322daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if ENABLE(INDEXED_DATABASE) 332daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 34e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block#include "IDBCallbacks.h" 35545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include <wtf/PassOwnPtr.h> 36dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include <wtf/PassRefPtr.h> 37dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include <wtf/RefPtr.h> 38dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 396c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsennamespace WebKit { 40d0825bca7fe65beaee391d30da42e937db621564Steve Block 412daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass WebIDBCallbacks; 42dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 432daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass IDBCallbacksProxy : public WebCore::IDBCallbacks { 446c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenpublic: 452daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch static PassRefPtr<IDBCallbacksProxy> create(PassOwnPtr<WebIDBCallbacks>); 466c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen virtual ~IDBCallbacksProxy(); 47d0825bca7fe65beaee391d30da42e937db621564Steve Block 482daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void onError(PassRefPtr<WebCore::IDBDatabaseError>); 492daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void onSuccess(PassRefPtr<WebCore::IDBCursorBackendInterface>); 502daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void onSuccess(PassRefPtr<WebCore::IDBDatabaseBackendInterface>); 512daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void onSuccess(PassRefPtr<WebCore::IDBKey>); 522daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void onSuccess(PassRefPtr<WebCore::IDBTransactionBackendInterface>); 532daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual void onSuccess(PassRefPtr<WebCore::SerializedScriptValue>); 5481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual void onBlocked(); 55d0825bca7fe65beaee391d30da42e937db621564Steve Block 56dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockprivate: 572daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch IDBCallbacksProxy(PassOwnPtr<WebIDBCallbacks>); 58e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block 592daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch OwnPtr<WebIDBCallbacks> m_callbacks; 60dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}; 61d0825bca7fe65beaee391d30da42e937db621564Steve Block 622daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch} // namespace WebKit 630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 64dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif 650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 66dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif // IDBCallbacksProxy_h 67