/* 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 PBlob; include protocol PIndexedDBCursor; include protocol PIndexedDBIndex; include protocol PIndexedDBObjectStore; include "mozilla/dom/indexedDB/SerializationHelpers.h"; using mozilla::dom::indexedDB::Key; using mozilla::dom::indexedDB::SerializedStructuredCloneReadInfo; using mozilla::void_t; namespace mozilla { namespace dom { namespace indexedDB { namespace ipc { struct GetResponse { SerializedStructuredCloneReadInfo cloneInfo; PBlob[] blobs; }; struct GetKeyResponse { Key key; }; struct BlobArray { PBlob[] blobs; }; struct GetAllResponse { SerializedStructuredCloneReadInfo[] cloneInfos; BlobArray[] blobs; }; struct GetAllKeysResponse { Key[] keys; }; struct AddResponse { Key key; }; struct PutResponse { Key key; }; struct DeleteResponse { void_t FIXME_Bug_753159; }; struct ClearResponse { void_t FIXME_Bug_753159; }; struct CountResponse { uint64_t count; }; union OpenCursorResponse { PIndexedDBCursor; void_t; }; struct ContinueResponse { Key key; Key objectKey; SerializedStructuredCloneReadInfo cloneInfo; PBlob[] blobs; }; union ResponseValue { nsresult; GetResponse; GetKeyResponse; GetAllResponse; GetAllKeysResponse; AddResponse; PutResponse; DeleteResponse; ClearResponse; CountResponse; OpenCursorResponse; ContinueResponse; }; } // namespace ipc protocol PIndexedDBRequest { manager PIndexedDBObjectStore or PIndexedDBIndex or PIndexedDBCursor; child: __delete__(ResponseValue response); }; } // namespace indexedDB } // namespace dom } // namespace mozilla