michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: michael@0: interface nsIDOMWindow; michael@0: michael@0: /** michael@0: * Start and stop the remote service (xremote/phremote), and register michael@0: * windows with the service for backwards compatibility with old xremote michael@0: * clients. michael@0: * michael@0: * @status FLUID This interface is not frozen and is not intended for embedders michael@0: * who want a frozen API. If you are an embedder and need this michael@0: * functionality, contact Benjamin Smedberg about the possibility michael@0: * of freezing the functionality you need. michael@0: */ michael@0: michael@0: [scriptable, uuid(a2240f6a-f1e4-4548-9e1a-6f3bc9b2426c)] michael@0: interface nsIRemoteService : nsISupports michael@0: { michael@0: /** michael@0: * Start the remote service. This should not be done until app startup michael@0: * appears to have been successful. michael@0: * michael@0: * @param appName (Required) Sets a window property identifying the michael@0: * application. michael@0: * @param profileName (May be null) Sets a window property identifying the michael@0: * profile name. michael@0: */ michael@0: void startup(in string appName, in string profileName); michael@0: michael@0: /** michael@0: * Register a XUL window with the xremote service. The window will be michael@0: * configured to accept incoming remote requests. If this method is called michael@0: * before startup(), the registration will happen once startup() is called. michael@0: */ michael@0: void registerWindow(in nsIDOMWindow aWindow); michael@0: michael@0: /** michael@0: * Stop the remote service from accepting additional requests. michael@0: */ michael@0: void shutdown(); michael@0: };