michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: include protocol PBlob; michael@0: include protocol PIndexedDBCursor; michael@0: include protocol PIndexedDBIndex; michael@0: include protocol PIndexedDBRequest; michael@0: include protocol PIndexedDBTransaction; michael@0: michael@0: include IndexedDBParams; michael@0: michael@0: using struct mozilla::dom::indexedDB::IndexInfo from "mozilla/dom/indexedDB/DatabaseInfo.h"; michael@0: using struct mozilla::dom::indexedDB::IndexUpdateInfo from "mozilla/dom/indexedDB/DatabaseInfo.h"; michael@0: using struct mozilla::dom::indexedDB::SerializedStructuredCloneWriteInfo from "mozilla/dom/indexedDB/IndexedDatabase.h"; michael@0: michael@0: namespace mozilla { michael@0: namespace dom { michael@0: namespace indexedDB { michael@0: michael@0: namespace ipc { michael@0: michael@0: struct AddPutParams michael@0: { michael@0: SerializedStructuredCloneWriteInfo cloneInfo; michael@0: Key key; michael@0: IndexUpdateInfo[] indexUpdateInfos; michael@0: PBlob[] blobs; michael@0: }; michael@0: michael@0: struct AddParams michael@0: { michael@0: AddPutParams commonParams; michael@0: }; michael@0: michael@0: struct PutParams michael@0: { michael@0: AddPutParams commonParams; michael@0: }; michael@0: michael@0: struct DeleteParams michael@0: { michael@0: KeyRange keyRange; michael@0: }; michael@0: michael@0: struct ClearParams michael@0: { michael@0: }; michael@0: michael@0: union ObjectStoreRequestParams michael@0: { michael@0: GetParams; michael@0: GetAllParams; michael@0: GetAllKeysParams; michael@0: AddParams; michael@0: PutParams; michael@0: DeleteParams; michael@0: ClearParams; michael@0: CountParams; michael@0: OpenCursorParams; michael@0: OpenKeyCursorParams; michael@0: }; michael@0: michael@0: struct CreateIndexParams michael@0: { michael@0: IndexInfo info; michael@0: }; michael@0: michael@0: struct GetIndexParams michael@0: { michael@0: nsString name; michael@0: }; michael@0: michael@0: union IndexConstructorParams michael@0: { michael@0: CreateIndexParams; michael@0: GetIndexParams; michael@0: }; michael@0: michael@0: struct ObjectStoreCursorConstructorParams michael@0: { michael@0: PIndexedDBRequest request; michael@0: Direction direction; michael@0: Key key; michael@0: OptionalStructuredCloneReadInfo optionalCloneInfo; michael@0: PBlob[] blobs; michael@0: }; michael@0: michael@0: } // namespace ipc michael@0: michael@0: protocol PIndexedDBObjectStore michael@0: { michael@0: manager PIndexedDBTransaction; michael@0: michael@0: manages PIndexedDBCursor; michael@0: manages PIndexedDBIndex; michael@0: manages PIndexedDBRequest; michael@0: michael@0: parent: michael@0: __delete__(); michael@0: michael@0: PIndexedDBIndex(IndexConstructorParams params); michael@0: PIndexedDBRequest(ObjectStoreRequestParams params); michael@0: michael@0: DeleteIndex(nsString name); michael@0: michael@0: child: michael@0: PIndexedDBCursor(ObjectStoreCursorConstructorParams params); michael@0: }; michael@0: michael@0: } // namespace indexedDB michael@0: } // namespace dom michael@0: } // namespace mozilla