1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5#include "nsISupports.idl"
6
7[builtinclass, uuid(24fdfcbe-54cb-4997-8392-3c476126ea3b)]
8interface nsIDashboardEventNotifier : nsISupports
9{
10    /* These methods are called to register a websocket event with the dashboard
11     *
12     * A host is identified by the (aHost, aSerial) pair.
13     * aHost: the host's name: example.com
14     * aSerial: a number that uniquely identifies the websocket
15     *
16     * aEncrypted: if the connection is encrypted
17     * aLength: the length of the message in bytes
18     */
19    void addHost(in ACString aHost, in unsigned long aSerial, in boolean aEncrypted);
20    void removeHost(in ACString aHost, in unsigned long aSerial);
21    void newMsgSent(in ACString aHost, in unsigned long aSerial, in unsigned long aLength);
22    void newMsgReceived(in ACString aHost, in unsigned long aSerial, in unsigned long aLength);
23};
24