diff options
Diffstat (limited to 'dom/presentation/interfaces/nsIPresentationService.idl')
-rw-r--r-- | dom/presentation/interfaces/nsIPresentationService.idl | 275 |
1 files changed, 0 insertions, 275 deletions
diff --git a/dom/presentation/interfaces/nsIPresentationService.idl b/dom/presentation/interfaces/nsIPresentationService.idl deleted file mode 100644 index c3c15bb9f..000000000 --- a/dom/presentation/interfaces/nsIPresentationService.idl +++ /dev/null @@ -1,275 +0,0 @@ -/* 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" - -interface nsIDOMBlob; -interface nsIDOMEventTarget; -interface nsIInputStream; -interface nsIPresentationAvailabilityListener; -interface nsIPresentationRespondingListener; -interface nsIPresentationSessionListener; -interface nsIPresentationTransportBuilderConstructor; -interface nsIPrincipal; - -%{C++ -#define PRESENTATION_SERVICE_CID \ - { 0x1d9bb10c, 0xc0ab, 0x4fe8, \ - { 0x9e, 0x4f, 0x40, 0x58, 0xb8, 0x51, 0x98, 0x32 } } -#define PRESENTATION_SERVICE_CONTRACTID \ - "@mozilla.org/presentation/presentationservice;1" - -#include "nsTArray.h" - -class nsString; -%} - -[ref] native URLArrayRef(const nsTArray<nsString>); - -[scriptable, uuid(12073206-0065-4b10-9488-a6eb9b23e65b)] -interface nsIPresentationServiceCallback : nsISupports -{ - /* - * Called when the operation succeeds. - * - * @param url: the selected request url used to start or reconnect a session. - */ - void notifySuccess(in DOMString url); - - /* - * Called when the operation fails. - * - * @param error: error message. - */ - void notifyError(in nsresult error); -}; - -[scriptable, uuid(de42b741-5619-4650-b961-c2cebb572c95)] -interface nsIPresentationService : nsISupports -{ - const unsigned short ROLE_CONTROLLER = 0x1; - const unsigned short ROLE_RECEIVER = 0x2; - - const unsigned short CLOSED_REASON_ERROR = 0x1; - const unsigned short CLOSED_REASON_CLOSED = 0x2; - const unsigned short CLOSED_REASON_WENTAWAY = 0x3; - - /* - * Start a new presentation session and display a prompt box which asks users - * to select a device. - * - * @param urls: The candidate Urls of presenting page. Only one url would be used. - * @param sessionId: An ID to identify presentation session. - * @param origin: The url of requesting page. - * @param deviceId: The specified device of handling this request, null string - * for prompt device selection dialog. - * @param windowId: The inner window ID associated with the presentation - * session. (0 implies no window ID since no actual window - * uses 0 as its ID. Generally it's the case the window is - * located in different process from this service) - * @param eventTarget: The chrome event handler, in particular XUL browser - * element in parent process, that the request was - * originated in. - * @param principal: The principal that initiated the session. - * @param callback: Invoke the callback when the operation is completed. - * NotifySuccess() is called with |id| if a session is - * established successfully with the selected device. - * Otherwise, NotifyError() is called with a error message. - * @param constructor: The constructor for creating a transport builder. - */ - [noscript] void startSession(in URLArrayRef urls, - in DOMString sessionId, - in DOMString origin, - in DOMString deviceId, - in unsigned long long windowId, - in nsIDOMEventTarget eventTarget, - in nsIPrincipal principal, - in nsIPresentationServiceCallback callback, - in nsIPresentationTransportBuilderConstructor constructor); - - /* - * Send the message to the session. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param data: the message being sent out. - */ - void sendSessionMessage(in DOMString sessionId, - in uint8_t role, - in DOMString data); - - /* - * Send the binary message to the session. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param data: the message being sent out. - */ - void sendSessionBinaryMsg(in DOMString sessionId, - in uint8_t role, - in ACString data); - - /* - * Send the blob to the session. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param blob: The input blob to be sent. - */ - void sendSessionBlob(in DOMString sessionId, - in uint8_t role, - in nsIDOMBlob blob); - - /* - * Close the session. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - void closeSession(in DOMString sessionId, - in uint8_t role, - in uint8_t closedReason); - - /* - * Terminate the session. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - void terminateSession(in DOMString sessionId, - in uint8_t role); - - /* - * Reconnect the session. - * - * @param url: The request Urls. - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param callback: NotifySuccess() is called when a control channel - * is opened successfully. - * Otherwise, NotifyError() is called with a error message. - */ - [noscript] void reconnectSession(in URLArrayRef urls, - in DOMString sessionId, - in uint8_t role, - in nsIPresentationServiceCallback callback); - - /* - * Register an availability listener. Must be called from the main thread. - * - * @param availabilityUrls: The Urls that this listener is interested in. - * @param listener: The listener to register. - */ - [noscript] void registerAvailabilityListener( - in URLArrayRef availabilityUrls, - in nsIPresentationAvailabilityListener listener); - - /* - * Unregister an availability listener. Must be called from the main thread. - * - * @param availabilityUrls: The Urls that are registered before. - * @param listener: The listener to unregister. - */ - [noscript] void unregisterAvailabilityListener( - in URLArrayRef availabilityUrls, - in nsIPresentationAvailabilityListener listener); - - /* - * Register a session listener. Must be called from the main thread. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param listener: The listener to register. - */ - void registerSessionListener(in DOMString sessionId, - in uint8_t role, - in nsIPresentationSessionListener listener); - - /* - * Unregister a session listener. Must be called from the main thread. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - void unregisterSessionListener(in DOMString sessionId, - in uint8_t role); - - /* - * Register a responding listener. Must be called from the main thread. - * - * @param windowId: The window ID associated with the listener. - * @param listener: The listener to register. - */ - void registerRespondingListener(in unsigned long long windowId, - in nsIPresentationRespondingListener listener); - - /* - * Unregister a responding listener. Must be called from the main thread. - * @param windowId: The window ID associated with the listener. - */ - void unregisterRespondingListener(in unsigned long long windowId); - - /* - * Notify the receiver page is ready for presentation use. - * - * @param sessionId An ID to identify presentation session. - * @param windowId The inner window ID associated with the presentation - * session. - * @param isLoading true if receiver page is loading successfully. - * @param constructor: The constructor for creating a transport builder. - */ - void notifyReceiverReady(in DOMString sessionId, - in unsigned long long windowId, - in boolean isLoading, - in nsIPresentationTransportBuilderConstructor constructor); - - /* - * Notify the transport is closed - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param reason: the error message. NS_OK indicates it is closed normally. - */ - void NotifyTransportClosed(in DOMString sessionId, - in uint8_t role, - in nsresult reason); - - /* - * Untrack the relevant info about the presentation session if there's any. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - void untrackSessionInfo(in DOMString sessionId, in uint8_t role); - - /* - * The windowId for building RTCDataChannel session transport - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - unsigned long long getWindowIdBySessionId(in DOMString sessionId, - in uint8_t role); - - /* - * Update the mapping of the session ID and window ID. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param windowId: The inner window ID associated with the presentation - * session. - */ - void updateWindowIdBySessionId(in DOMString sessionId, - in uint8_t role, - in unsigned long long windowId); - - /* - * To build the session transport. - * NOTE: This function should be only called at controller side. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - void buildTransport(in DOMString sessionId, in uint8_t role); -}; |