/* 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" [ref] native URLArrayRef(const nsTArray); [uuid(0105f837-4279-4715-9d5b-2dc3f8b65353)] interface nsIPresentationAvailabilityListener : nsISupports { /* * Called when device availability changes. */ [noscript] void notifyAvailableChange(in URLArrayRef urls, in bool available); }; [scriptable, uuid(7dd48df8-8f8c-48c7-ac37-7b9fd1acf2f8)] interface nsIPresentationSessionListener : nsISupports { const unsigned short STATE_CONNECTING = 0; const unsigned short STATE_CONNECTED = 1; const unsigned short STATE_CLOSED = 2; const unsigned short STATE_TERMINATED = 3; /* * Called when session state changes. */ void notifyStateChange(in DOMString sessionId, in unsigned short state, in nsresult reason); /* * Called when receive messages. */ void notifyMessage(in DOMString sessionId, in ACString data, in boolean isBinary); }; [scriptable, uuid(27f101d7-9ed1-429e-b4f8-43b00e8e111c)] interface nsIPresentationRespondingListener : nsISupports { /* * Called when an incoming session connects. */ void notifySessionConnect(in unsigned long long windowId, in DOMString sessionId); };