1/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2/* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6#include "nsISupports.idl" 7 8[scriptable, uuid(9e32a7b6-c4d1-4d9a-87b9-1ef6b75c27a9)] 9interface nsIConsoleAPIStorage : nsISupports 10{ 11 /** 12 * Get the events array by inner window ID or all events from all windows. 13 * 14 * @param string [aId] 15 * Optional, the inner window ID for which you want to get the array of 16 * cached events. 17 * @returns array 18 * The array of cached events for the given window. If no |aId| is 19 * given this function returns all of the cached events, from any 20 * window. 21 */ 22 jsval getEvents([optional] in AString aId); 23 24 /** 25 * Record an event associated with the given window ID. 26 * 27 * @param string aId 28 * The ID of the inner window for which the event occurred or "jsm" for 29 * messages logged from JavaScript modules.. 30 * @param string aOuterId 31 * This ID is used as 3rd parameters for the console-api-log-event 32 * notification. 33 * @param object aEvent 34 * A JavaScript object you want to store. 35 */ 36 void recordEvent(in AString aId, in AString aOuterId, in jsval aEvent); 37 38 /** 39 * Clear storage data for the given window. 40 * 41 * @param string [aId] 42 * Optional, the inner window ID for which you want to clear the 43 * messages. If this is not specified all of the cached messages are 44 * cleared, from all window objects. 45 */ 46 void clearEvents([optional] in AString aId); 47}; 48