123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
- /* 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 PContent;
- namespace mozilla {
- namespace dom {
- /* This protocol bridges async access to the database thread running on the parent process
- * and caches running on the child process.
- */
- nested(upto inside_cpow) sync protocol PStorage
- {
- manager PContent;
- parent:
- async __delete__();
- nested(inside_cpow) sync Preload(nsCString originSuffix, nsCString originNoSuffix, uint32_t alreadyLoadedCount)
- returns (nsString[] keys, nsString[] values, nsresult rv);
- async AsyncPreload(nsCString originSuffix, nsCString originNoSuffix, bool priority);
- async AsyncGetUsage(nsCString scope);
- async AsyncAddItem(nsCString originSuffix, nsCString originNoSuffix, nsString key, nsString value);
- async AsyncUpdateItem(nsCString originSuffix, nsCString originNoSuffix, nsString key, nsString value);
- async AsyncRemoveItem(nsCString originSuffix, nsCString originNoSuffix, nsString key);
- async AsyncClear(nsCString originSuffix, nsCString originNoSuffix);
- async AsyncFlush();
-
- child:
- async Observe(nsCString topic,
- nsString originAttributesPattern,
- nsCString originScope);
- async OriginsHavingData(nsCString[] origins);
- async LoadItem(nsCString originSuffix, nsCString originNoSuffix, nsString key, nsString value);
- async LoadDone(nsCString originSuffix, nsCString originNoSuffix, nsresult rv);
- async LoadUsage(nsCString scope, int64_t usage);
- async Error(nsresult rv);
- };
- }
- }
|