class IDBDatabaseBackendImpl : public IDBDatabaseBackendInterface {
public:
+#if ENABLE(TIZEN_INDEXED_DATABASE)
+ static PassRefPtr<IDBDatabaseBackendImpl> create(ScriptExecutionContext* context, const String& name, IDBBackingStore* database, IDBTransactionCoordinator* coordinator, IDBFactoryBackendImpl* factory, const String& uniqueIdentifier)
+ {
+ return adoptRef(new IDBDatabaseBackendImpl(context, name, database, coordinator, factory, uniqueIdentifier));
+ }
+#else
static PassRefPtr<IDBDatabaseBackendImpl> create(const String& name, IDBBackingStore* database, IDBTransactionCoordinator* coordinator, IDBFactoryBackendImpl* factory, const String& uniqueIdentifier)
{
return adoptRef(new IDBDatabaseBackendImpl(name, database, coordinator, factory, uniqueIdentifier));
}
+#endif // TIZEN_INDEXED_DATABASE
virtual ~IDBDatabaseBackendImpl();
PassRefPtr<IDBBackingStore> backingStore() const;
// FIXME: Rename "open" to something more descriptive, like registerFrontEndCallbacks.
void open(PassRefPtr<IDBDatabaseCallbacks>);
void openConnection(PassRefPtr<IDBCallbacks>);
+ void deleteDatabase(PassRefPtr<IDBCallbacks>);
virtual String name() const { return m_name; }
virtual String version() const { return m_version; }
void transactionFinished(PassRefPtr<IDBTransactionBackendInterface>);
private:
+#if ENABLE(TIZEN_INDEXED_DATABASE)
+ IDBDatabaseBackendImpl(ScriptExecutionContext*, const String& name, IDBBackingStore* database, IDBTransactionCoordinator*, IDBFactoryBackendImpl*, const String& uniqueIdentifier);
+#else
IDBDatabaseBackendImpl(const String& name, IDBBackingStore* database, IDBTransactionCoordinator*, IDBFactoryBackendImpl*, const String& uniqueIdentifier);
+#endif // TIZEN_INDEXED_DATABASE
+ void openInternal();
void loadObjectStores();
void processPendingCalls();
RefPtr<IDBBackingStore> m_backingStore;
#if ENABLE(TIZEN_INDEXED_DATABASE)
+ ScriptExecutionContext* m_scriptExecutionContext;
int64_t m_id;
#else
int64 m_id;
class PendingOpenCall;
Deque<RefPtr<PendingOpenCall> > m_pendingOpenCalls;
+ class PendingDeleteCall;
+ Deque<RefPtr<PendingDeleteCall> > m_pendingDeleteCalls;
+
typedef ListHashSet<RefPtr<IDBDatabaseCallbacks> > DatabaseCallbacksSet;
DatabaseCallbacksSet m_databaseCallbacksSet;
};