1/* -*- Mode: C++; tab-width: 4; 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/**
9 * This is intended as a base interface; implementations may want to
10 * provide an object that can be qi'ed to provide more specific
11 * message information.
12 */
13[scriptable, uuid(3aba9617-10e2-4839-83ae-2e6fc4df428b)]
14interface nsIConsoleMessage : nsISupports
15{
16    /** Log level constants. */
17    const uint32_t debug = 0;
18    const uint32_t info = 1;
19    const uint32_t warn = 2;
20    const uint32_t error = 3;
21
22    /**
23     * The log level of this message.
24     */
25    readonly attribute uint32_t logLevel;
26
27    /**
28     * The time (in milliseconds from the Epoch) that the message instance
29     * was initialised.
30     * The timestamp is initialized as JS_now/1000 so that it can be
31     * compared to Date.now in Javascript.
32     */
33    readonly attribute long long timeStamp;
34
35    [binaryname(MessageMoz)] readonly attribute AString message;
36
37    attribute boolean isForwardedFromContentProcess;
38
39    AUTF8String toString();
40};
41
42%{ C++
43#define NS_CONSOLEMESSAGE_CID \
44{ 0x024efc9e, 0x54dc, 0x4844, { 0x80, 0x4b, 0x41, 0xd3, 0xf3, 0x69, 0x90, 0x73 }}
45%}
46