Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
michael@0 | 1 | /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- |
michael@0 | 2 | * |
michael@0 | 3 | * This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 5 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 6 | |
michael@0 | 7 | #include "nsIInputStream.idl" |
michael@0 | 8 | #include "nsISupports.idl" |
michael@0 | 9 | #include "nsIObserver.idl" |
michael@0 | 10 | #include "nsIObjectOutputStream.idl" |
michael@0 | 11 | |
michael@0 | 12 | [uuid(25957820-90a1-428c-8739-b0845d3cc534)] |
michael@0 | 13 | interface nsIStartupCache : nsISupports |
michael@0 | 14 | { |
michael@0 | 15 | |
michael@0 | 16 | /** This interface is provided for testing purposes only, basically |
michael@0 | 17 | * just to solve link vagaries. See docs in StartupCache.h |
michael@0 | 18 | * GetBuffer, PutBuffer, and InvalidateCache act as described |
michael@0 | 19 | * in that file. */ |
michael@0 | 20 | |
michael@0 | 21 | uint32_t getBuffer(in string aID, out charPtr aBuffer); |
michael@0 | 22 | void putBuffer(in string aID, in string aBuffer, |
michael@0 | 23 | in uint32_t aLength); |
michael@0 | 24 | |
michael@0 | 25 | void invalidateCache(); |
michael@0 | 26 | |
michael@0 | 27 | void ignoreDiskCache(); |
michael@0 | 28 | |
michael@0 | 29 | /** In debug builds, wraps this object output stream with a stream that will |
michael@0 | 30 | * detect and prevent the write of a multiply-referenced non-singleton object |
michael@0 | 31 | * during serialization. In non-debug, returns an add-ref'd pointer to |
michael@0 | 32 | * original stream, unwrapped. */ |
michael@0 | 33 | nsIObjectOutputStream getDebugObjectOutputStream(in nsIObjectOutputStream aStream); |
michael@0 | 34 | |
michael@0 | 35 | /* Allows clients to check whether the one-time writeout after startup |
michael@0 | 36 | * has finished yet, and also to set this variable as needed (so test |
michael@0 | 37 | * code can fire mulitple startup writes if needed). |
michael@0 | 38 | */ |
michael@0 | 39 | boolean startupWriteComplete(); |
michael@0 | 40 | void resetStartupWriteTimer(); |
michael@0 | 41 | |
michael@0 | 42 | /* Instruct clients to always post cache ages to Telemetry, even in |
michael@0 | 43 | cases where it would not normally make sense. */ |
michael@0 | 44 | void recordAgesAlways(); |
michael@0 | 45 | |
michael@0 | 46 | /* Allows clients to simulate the behavior of ObserverService. */ |
michael@0 | 47 | readonly attribute nsIObserver observer; |
michael@0 | 48 | }; |
michael@0 | 49 |