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 PIndexedDBDatabase; michael@0: include protocol PIndexedDBObjectStore; michael@0: michael@0: include "mozilla/dom/indexedDB/SerializationHelpers.h"; michael@0: michael@0: using struct mozilla::dom::indexedDB::ObjectStoreInfoGuts from "mozilla/dom/indexedDB/DatabaseInfo.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 CreateObjectStoreParams michael@0: { michael@0: ObjectStoreInfoGuts info; michael@0: }; michael@0: michael@0: struct GetObjectStoreParams michael@0: { michael@0: nsString name; michael@0: }; michael@0: michael@0: union ObjectStoreConstructorParams michael@0: { michael@0: CreateObjectStoreParams; michael@0: GetObjectStoreParams; michael@0: }; michael@0: michael@0: struct CompleteResult michael@0: { }; michael@0: michael@0: struct AbortResult michael@0: { michael@0: nsresult errorCode; michael@0: }; michael@0: michael@0: union CompleteParams michael@0: { michael@0: CompleteResult; michael@0: AbortResult; michael@0: }; michael@0: michael@0: } // namespace ipc michael@0: michael@0: protocol PIndexedDBTransaction michael@0: { michael@0: manager PIndexedDBDatabase; michael@0: michael@0: manages PIndexedDBObjectStore; michael@0: michael@0: parent: michael@0: __delete__(); michael@0: michael@0: PIndexedDBObjectStore(ObjectStoreConstructorParams params); michael@0: michael@0: Abort(nsresult abortCode); michael@0: michael@0: AllRequestsFinished(); michael@0: michael@0: DeleteObjectStore(nsString name); michael@0: michael@0: child: michael@0: Complete(CompleteParams params); michael@0: }; michael@0: michael@0: } // namespace indexedDB michael@0: } // namespace dom michael@0: } // namespace mozilla