/* 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 nsIPresentationControlChannel; /* * Remote device. */ [scriptable, uuid(b1e0a7af-5936-4066-8f2e-f789fb9a7e8f)] interface nsIPresentationDevice : nsISupports { // The unique Id for the device. UUID is recommanded. readonly attribute AUTF8String id; // The human-readable name of this device. readonly attribute AUTF8String name; // TODO expose more info in order to fulfill UX spec // The category of this device, could be "wifi", "bluetooth", "hdmi", etc. readonly attribute AUTF8String type; /* * Establish a control channel to this device. * @returns The control channel for this session. * @throws NS_ERROR_FAILURE if the establishment fails */ nsIPresentationControlChannel establishControlChannel(); // Do something when presentation session is disconnected. void disconnect(); /* * Query if requested presentation URL is supported. * @params requestedUrl the designated URL for a presentation request. * @returns true if designated URL is supported. */ boolean isRequestedUrlSupported(in AString requestedUrl); };