mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 14:45:29 +00:00
70 lines
1.5 KiB
Plaintext
70 lines
1.5 KiB
Plaintext
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
include protocol PIndexedDB;
|
|
include protocol PIndexedDBTransaction;
|
|
|
|
include "mozilla/dom/indexedDB/SerializationHelpers.h";
|
|
|
|
using struct mozilla::dom::indexedDB::DatabaseInfoGuts from "mozilla/dom/indexedDB/DatabaseInfo.h";
|
|
using struct mozilla::dom::indexedDB::ObjectStoreInfoGuts from "mozilla/dom/indexedDB/DatabaseInfo.h";
|
|
using mozilla::dom::indexedDB::IDBTransaction::Mode from "mozilla/dom/indexedDB/IDBTransaction.h";
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
namespace indexedDB {
|
|
|
|
namespace ipc {
|
|
|
|
struct NormalTransactionParams
|
|
{
|
|
nsString[] names;
|
|
Mode mode;
|
|
};
|
|
|
|
struct VersionChangeTransactionParams
|
|
{
|
|
DatabaseInfoGuts dbInfo;
|
|
ObjectStoreInfoGuts[] osInfo;
|
|
uint64_t oldVersion;
|
|
};
|
|
|
|
union TransactionParams
|
|
{
|
|
NormalTransactionParams;
|
|
VersionChangeTransactionParams;
|
|
};
|
|
|
|
} // namespace ipc
|
|
|
|
protocol PIndexedDBDatabase
|
|
{
|
|
manager PIndexedDB;
|
|
|
|
manages PIndexedDBTransaction;
|
|
|
|
parent:
|
|
__delete__();
|
|
|
|
Close(bool unlinked);
|
|
|
|
child:
|
|
Success(DatabaseInfoGuts dbInfo, ObjectStoreInfoGuts[] osInfo);
|
|
|
|
Error(nsresult rv);
|
|
|
|
Blocked(uint64_t oldVersion);
|
|
|
|
VersionChange(uint64_t oldVersion, uint64_t newVersion);
|
|
|
|
Invalidate();
|
|
|
|
both:
|
|
PIndexedDBTransaction(TransactionParams params);
|
|
};
|
|
|
|
} // namespace indexedDB
|
|
} // namespace dom
|
|
} // namespace mozilla
|