- From: Max Froumentin <maxfro@opera.com>
- Date: Tue, 23 Mar 2010 18:25:42 +0100
- To: "public-device-apis@w3.org" <public-device-apis@w3.org>
Background: Among the system properties that can have more than one instance (e.g. network, or storage devices), it is sometimes useful to indicate whether one is active or not: for instance, the webapp writer may want to know which network connection (among WiFi, GSM, GPRS, as available) is active, or which microphone is currently recording audio. There are 2 ways of modelling this. 1. with a flag interface Network { attribute int currentDownloadBandwith; //etc. attribute boolean active; } Yielding the following code: get("Network",function(networks) { for (var i=0; i<length; i++) if (networks[i].active) alert("network: "+networks[i].info+" is active");}); OR 2. with an array and a pointer to one of its items interface Network { attribute NetworkConnection current; attribute NetworkConnection available[]; } interface NetworkConnection { attribute int currentDownloadBandwidth; //etc. } yielding get("Network",function(networks) { alert("network: "+networks.current.info+" is active");}); * Pros and Cons Option 1 is + easier to define (only needs 1 interface) + allows more than one device to be active (not sure if that's useful) - makes it harder for the webapp writer to access the active device + lets you watch the active-ness of a specific device What do people think? Max.
Received on Tuesday, 23 March 2010 17:26:17 UTC