/* 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 PQuota; include "mozilla/dom/quota/SerializationHelpers.h"; using mozilla::dom::quota::FullOriginMetadata from "mozilla/dom/quota/CommonMetadata.h"; namespace mozilla { namespace dom { namespace quota { struct StorageNameResponse { nsString name; }; struct InitializePersistentOriginResponse { bool created; }; struct InitializeTemporaryOriginResponse { bool created; }; struct GetFullOriginMetadataResponse { FullOriginMetadata? maybeFullOriginMetadata; }; struct ResetOriginResponse { }; struct PersistedResponse { bool persisted; }; struct PersistResponse { }; struct EstimateResponse { uint64_t usage; uint64_t limit; }; struct ListOriginsResponse { nsCString[] origins; }; union RequestResponse { nsresult; StorageNameResponse; InitializePersistentOriginResponse; InitializeTemporaryOriginResponse; GetFullOriginMetadataResponse; ResetOriginResponse; PersistedResponse; PersistResponse; EstimateResponse; ListOriginsResponse; }; [ManualDealloc, ChildImpl=virtual, ParentImpl=virtual] protocol PQuotaRequest { manager PQuota; child: async __delete__(RequestResponse response); }; } // namespace quota } // namespace dom } // namespace mozilla