- From: <bugzilla@jessica.w3.org>
- Date: Thu, 18 Nov 2010 20:43:01 +0000
- To: public-html-bugzilla@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=11326
--- Comment #1 from Bob Lund <b.lund@cablelabs.com> 2010-11-18 20:43:00 UTC ---
Here is so some additional information regarding a possible implementation to
meet the requirement 1) and 2) in the proposal.
One implementation approach is to define a new UPnP user agent WebIDL (a
portion of this has been implemented in a proof-of-concept):
// WebIDL for User Agent UPnP protocol
module core {
interface [
DelegatingGetOwnPropertSlot, //various inherited functions required
DelegatingPutFunction,
.
.
.
] UPnP {
// UPnP control point management
//start control point
[Custom] void startControlPoint();
//stop control point
[Custom] void stopControlPoint();
//set call-back for discovery events
[Custom] void addNotifyListener();
//set call-back for search results
[Custom] void addSearchResponseListener();
//set call-back for evented variables
[Custom] void addEventListener();
//set call-back for device added or dropped
[Custom] void addDeviceChangeListener();
// Deivce, service and content discovery
//find devices
[Custom] void discoverDevices();
//authentication for control of secure devices
[Custom] void loginToDevice(in DeviceHandle deviceHandle, in DOMString
password);
//time before automatic logout
[Custom] void getLoginTimeRemaining(in DeviceHandle deviceHandle);
//identify services on each device
[Custom] void discoverServices(in DeviceHandle deviceHandle);
//identify actions for each service
[Custom] void discoverActions(in DeviceHandle deviceHandle, in
ServiceHandle serviceHandle);
//determine if a service is a RUI server service
[Custom] void isRUIService(in DeviceHandle deviceHandle, in ServiceHandle
serviceHandle);
//determine if a service is a content directory service
[Custom] void isContentDirectoryService(in DeviceHandle deviceHandle, in
ServiceHandle serviceHandle);
//search for content that meets the filtering criteria
[Custom] void searchContent(in DeviceHandle deviceHandle, in ServiceHandle
serviceHandle, in Filter filter);
//traverse the content tree of a content directory service
[Custom] void browseContent(in DeviceHandle deviceHandle, in ServiceHandle
serviceHandle);
//determine if a content item is of a particular type
[Custom] void isContentType(in ContentHandle contentHandle, in ContentType
contentType);
//determine if a service is a connection management service
[Custom] void isConnectionManagementService(in DeviceHandle deviceHandle,
in ServiceHandle serviceHandle);
// Determine protocols and media formats supported by devices
//determine if a device supports a transport type
[Custom] void isSupportedTransportType(in DeviceHandle deviceHandle, in
TransportType transportType);
//get a list of transport types supported by a device
[Custom] void getSupportedTransportTypeList(in DeviceHandle deviceHandle);
//determine if a content type is supported on a device
[Custom] void isSupportedContentType(in DeviceHandle rendererDeviceHandle,
in ContentType contentType);
//get a list of supported content types for a device
[Custom] void getSupportedContentTypeList(in DeviceHandle
rendererDeviceHandle);
// Control content playback
//play a content item on a device
[Custom] void play(in DeviceHandle deviceHandle, in ServiceHandle
serviceHandle, in URI contentURI);
//pause the content playing
[Custom] void pause(in DeviceHandle deviceHandle, in ServiceHandle
serviceHandle);
//stop the content playing
[Custom] void stop(in DeviceHandle deviceHandle, in ServiceHandle
serviceHandle);
//fastforward at a specified speed
[Custom] void forward(in DeviceHandle deviceHandle, in ServiceHandle
serviceHandle);
//rewind at a specified speed
[Custom] void rewind(in DeviceHandle deviceHandle, in ServiceHandle
serviceHandle);
//move the playback position
[Custom] void seek(in DeviceHandle deviceHandle, in ServiceHandle
serviceHandle, in int location);
//UPnP attributes
//current number of devices found
Attribute [CustomSetter] DOMString numDevices;
//device number for the current operation
Attribute [CustomSetter] DOMString deviceNumber;
//true if the list of devices found has changed
Attribute [CustomSetter] DOMString isDeviceListChanged;
//current number of content items found
Attribute [CustomSetter] DOMString numContentItems;
//content item number for the current operation (as needed)
Attribute [CustomSetter] DOMString contentItem;
//true if the list of available content items has changed
Attribute [CustomSetter] DOMString isContentChanged;
//list of current devices and embedded devices
Attribute [CustomSetter] DOMString devicesTree;
//list of services available on each device and embedded device
Attribute [CustomSetter] DOMString servicesList;
//list of actions available on each service
Attribute [CustomSetter] DOMString actionList;
//structure for security information
Attribute [CustomSetter] DOMString securityInfo;
//definition of RUI
Attribute [CustomSetter] DOMString ruiDefinition;
//list of current content items found
Attribute [CustomSetter] DOMString contentTree;
}
}
--
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Thursday, 18 November 2010 20:43:02 UTC