forked from Floorp-Projects/Floorp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnsIRemoteAgent.idl
59 lines (54 loc) · 1.95 KB
/
nsIRemoteAgent.idl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* 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 "nsISupports.idl"
/**
* The Gecko remote agent is an RPC subsystem that exposes
* browser-internal interfaces and services to the surrounding
* system.
*
* Consumers, whether remote or browser-local, can interface with
* the browser through an assorted set of services ranging from
* document introspection and script evaluation, to instrumentation,
* user interaction simulation, and event subscription.
*/
[scriptable, uuid(8f685a9d-8181-46d6-a71d-869289099c6d)]
interface nsIRemoteAgent : nsISupports
{
/**
* Whether the remote agent is currently listening for new,
* incoming connections.
*/
readonly attribute boolean listening;
/**
* Asynchronously starts the remote agent, and listens for new
* connections.
*
* The address must be a fully qualified URL that uses the "http://"
* scheme, and can optionally include a desired port. If no port
* is chosen, the default port 9222 is used.
*
* If the requested port is 0, the system will atomically allocate
* a port.
*
* A "remote-listening" system observer notification with the URL
* of the main target's WebSocket will be emitted once listening.
*
* @throws NS_ERROR_NOT_AVAILABLE
* When disabled by the remote.enabled preference.
* @throws NS_ERROR_LAUNCHED_CHILD_PROCESS
* When called from a child process.
* @throws NS_ERROR_ILLEGAL_VALUE
* If requested to bind to a non-loopback device
* if remote.force-local is true.
*/
void listen(in AString aURL);
/** Stops listening and drops existing connections. */
void close();
};
%{C++
#define NS_REMOTEAGENT_CONTRACTID "@mozilla.org/remote/agent;1"
#define NS_REMOTEAGENT_CID \
{ 0x8f685a9d, 0x8181, 0x46d6, \
{ 0xa7, 0x1d, x86, x92, x89, x09, x9c, x6d } }
%}