- From: Max Froumentin via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 18 Dec 2009 11:21:07 +0000
- To: public-dap-commits@w3.org
Update of /sources/public/2009/dap/system-info In directory hutz:/tmp/cvs-serv18579 Modified Files: Overview.html Log Message: - refactored: codecs now separate from devices and audio input in input - added output devices and storage Index: Overview.html =================================================================== RCS file: /sources/public/2009/dap/system-info/Overview.html,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- Overview.html 17 Dec 2009 12:09:11 -0000 1.43 +++ Overview.html 18 Dec 2009 11:21:05 -0000 1.44 @@ -847,6 +847,8 @@ <!--******************** Display **********************************--> + <p class="issue">Move display and sound in an "output devices" section?</p> + <section> <h2>Display</h2> <p>This set of properties expose information about the visual display devices available to this system.</p> @@ -932,6 +934,78 @@ </section> <!-- ********* /display ************************************************************* --> + <!-- ********* Sound ************************************************************** --> + <section> + <h2>Sound</h2> + <p>The properties below expose the device's audio system.</p> + + <section> + <h4>ECMAScript Example</h4> + <pre class="sh_javascript example">//Enumerate the active speakers on the system +system.audio.get("Audio", success); + +function isSpeaker(device, index, array) { + return device.type===device.TYPE_SPEAKER; +} + +function success(audio) { + var activeSpeakers = audio.outputDevices.filter(isSpeaker); +}</pre> + </section> + <section> + <h4>The <a>Sound</a> property</h4> + <p>This property exposes information on the audio capabilities of this system</p> + + <p class="note">These properties do not provide volume + controls. An application will have to use HTML5's volume + control attributes.</p> + + <dl title='[NoInterfaceObject] interface Sound' class='idl'> + <dt>readonly attribute DOMString? info</dt> + <dd>A free-form string describing this system's sound architecture</dd> + + <dt>readonly attribute AudioOutputDevice outputDevices[]</dt> + <dd>Audio output devices attached to this device</dd> + </dl> + </section> + <section> + <h4>The <a>AudioOutputDevice</a> Property</h4> + + <p>This property exposes information on a single audio + output device available to this system. It is + <a>enumerable</a>.</p> + + <dl title='[NoInterfaceObject] interface AudioOutputDevice' class='idl'> + <dt>const unsigned short TYPE_UNKNOWN=0</dt> + <dd><code>type</code> is set to this value when the type of this device is unknown</dd> + <dt>const unsigned short TYPE_SPEAKER=1</dt> + <dd><code>type</code> is set to this value when this device is a loud speaker</dd> + <dt>const unsigned short TYPE_HEADPHONES=2</dt> + <dd><code>type</code> is set to this value when this device is a pair of headphones</dd> + <dt>readonly attribute unsigned short type</dt> + <dd>The type of audio output device. The value is one of the constants defined for this type.</dd> + + <dt>readonly attribute DOMString info</dt> + <dd>Free-form text describing this device.</dd> + + <dt>readonly attribute DOMString id</dt> + <dd>A free-form string identifying this device. The value + of this element MUST be unique within the list reported in + an <a>Audio</a> object.</dd> + + <dt>attribute boolean active</dt> + <dd>Indicates if the device is currently active, i.e. if + any sound recording will be made using this device</dd> + + <dt>readonly attribute unsigned int freqRangeLow</dt> + <dd>Frequency range, low value, in Hz</dd> + + <dt>readonly attribute unsigned int freqRangeHigh</dt> + <dd>Frequency range, high value, in Hz</dd> + </dl> + + </section> + </section> <!-- ********* Sensors ************************************************************** --> @@ -1127,44 +1201,29 @@ </section> <!-- ********* /Sensors ************************************************************** --> - <p class="issue">Add video/input/vibrate</p> - <!-- ********* Audio ************************************************************** --> + <!-- ********* Codecs ************************************************************** --> <section> - <h2>Audio</h2> - <p>The properties below expose the device's audio capabilities.</p> + <h2>Audio and Video Codecs</h2> + <p>The properties below expose the device's audio and video codec capabilities.</p> + + <p class="issue">It seems better to separate software (codecs) from hardware (displays, speakers, microphone)</p> <section> <h4>ECMAScript Example</h4> - <pre class="sh_javascript example">//Enumerate the active microphones on the system -system.audio.get("Audio", success); - -function isMicrophone(device, index, array) { - return device.type===device.TYPE_MICROPHONE; -} - -function success(audio) { - var activeMicrophones = audio.outputDevices.filter(isMicrophone); -}</pre> + <pre class="sh_javascript example"></pre> </section> <section> - <h4>The <a>Audio</a> property</h4> + <h4>The <a>AVCodecs</a> property</h4> - <p>This property exposes information on the audio capabilities of this system</p> + <p>This property exposes information about the audio/video codecs available to this system</p> - <p class="note">These properties do not provide volume - controls. An application will have to use HTML5's volume - control attributes.</p> - - <dl title='[NoInterfaceObject] interface Audio' class='idl'> - <dt>readonly attribute AudioCodec codecs[]</dt> + <dl title='[NoInterfaceObject] interface AVCodecs' class='idl'> + <dt>readonly attribute AudioCodec audioCodecs[]</dt> <dd>Audio codecs on this device</dd> - <dt>readonly attribute AudioOutputDevice outputDevices[]</dt> - <dd>Audio output devices attached to this device</dd> - - <dt>readonly attribute AudioInputDevice inputDevices[]</dt> - <dd>Audio input devices attached to this</dd> + <dt>readonly attribute VideoCodec videoCodecs[]</dt> + <dd>Audio codecs on this device</dd> </dl> </section> <section> @@ -1192,388 +1251,246 @@ decoding, <code>false</code> otherwise.</dd> </dl> </section> + <section> + <h3>The <a>VideoCodec</a> Property</h3> + <dl title='[NoInterfaceObject] interface VideoCodec' class='idl'> + + <dt>readonly attribute DOMString info</dt> + <dd>Freeform string describing this video codec. Example : "Indeo Video" or "libtheora"</dd> + <dt>readonly attribute DOMString id</dt> + <dd>A free-form string identifying this codec. The value of this element MUST be unique within the list reported by the <a>codecs</a> attribute of a <a>Video</a> object.</dd> + <dt>readonly attribute sequence DOMString compFormats</dt> + <dd>Supported compression format names. Example : "AVI", "ogg"</dd> - <section> - <h4>The <a>AudioInputDevice</a> Property</h4> + <dt>readonly attribute sequence DOMString containerFormats</dt> + <dd>Supported container format names. Example : "AVI", "ogg"</dd> - <p>This property exposes information on a single audio input - device available to this system. It is - <a>enumerable</a>.</p> + <dt>readonly attribute boolean hwAccel</dt> + <dd><code>true</code> if the codec includes hardware acceleration support, <code>false</code> otherwise.</dd> - <dl title='[NoInterfaceObject] interface AudioInputDevice' class='idl'> - <dt>const unsigned short TYPE_UNKNOWN=0</dt> - <dd><code>type</code> is set to this value when the type of this device is unknown</dd> - <dt>const unsigned short TYPE_MICROPHONE=1</dt> - <dd><code>type</code> is set to this value when this device is a microphone</dd> - <dt>const unsigned short TYPE_LINEIN=2</dt> - <dd><code>type</code> is set to this value when this device is a line-in connector</dd> + <dt>readonly attribute sequence VideoProfile profiles</dt> + <dd>The list of profiles available for this codec.</dd> - <dt>readonly attribute unsigned short type</dt> - <dd>The type of audio input device. The value is one of - the constants defined for this type.</dd> + <dt>readonly attribute sequence FrameType frametypes</dt> + <dd>The list of frame types supported by the codec</dd> - <dt>attribute boolean active</dt> - <dd>Indicates if the device is currently active, i.e. if - any sound recording will be made using this device</dd> + <dt>readonly attribute sequence RateControl ratetypes</dt> + <dd>The list of rate control options supported by the codec</dd> + </dl> + </section> - <dt>readonly attribute DOMString info</dt> - <dd>Free-form text describing this device.</dd> + <section> + <h3>The <a>VideoProfile</a> Property</h3> - <dt>readonly attribute DOMString id</dt> - <dd>A free-form string identifying this device. The value - of this element MUST be unique within the list reported in - an <a>Audio</a> object.</dd> + <dl title='[NoInterfaceObject] interface VideoProfile' class='idl'> + <dt>readonly attribute DOMString name</dt> + <dd>Profile name. Examples : "Simple","Main", "High", "Advanced"</dd> + </dl> + </section> - <dt>readonly attribute unsigned int freqRangeLow</dt> - <dd>Frequency range, low value, in Hz</dd> + <section> + <h3>The <a>FrameType</a> Property</h3> + <dl title='[NoInterfaceObject] interface FrameType' class='idl'> + <dt>readonly attribute DOMString name</dt> + <dd>Frame type name. Examples : "PROGRESSIVE","INTERLACED"</dd> + </dl> + </section> - <dt>readonly attribute unsigned int freqRangeHigh</dt> - <dd>Frequency range, high value, in Hz</dd> - </dl> + <section> + <h3>The <a>RateControl</a> Property</h3> + <dl title='[NoInterfaceObject] interface RateControl' class='idl'> + <dt>readonly attribute DOMString name</dt> + <dd>Rate control type name. Examples : "CBR","VBR"</dd> + </dl> + </section> </section> - <section> - <h4>The <a>AudioOutputDevice</a> Property</h4> - <p>This property exposes information on a single audio - output device available to this system. It is - <a>enumerable</a>.</p> - - <dl title='[NoInterfaceObject] interface AudioOutputDevice' class='idl'> - <dt>const unsigned short TYPE_UNKNOWN=0</dt> - <dd><code>type</code> is set to this value when the type of this device is unknown</dd> - <dt>const unsigned short TYPE_SPEAKER=1</dt> - <dd><code>type</code> is set to this value when this device is a loud speaker</dd> - <dt>const unsigned short TYPE_HEADPHONES=2</dt> - <dd><code>type</code> is set to this value when this device is a pair of headphones</dd> - <dt>readonly attribute unsigned short type</dt> - <dd>The type of audio output device. The value is one of the constants defined for this type.</dd> - - <dt>readonly attribute DOMString info</dt> - <dd>Free-form text describing this device.</dd> + <!-- ********* /Codecs ************************************************************** --> - <dt>readonly attribute DOMString id</dt> - <dd>A free-form string identifying this device. The value - of this element MUST be unique within the list reported in - an <a>Audio</a> object.</dd> + <!-- ********* Input ***************************************************************** --> + <section> + <h3>Input Devices</h3> + + <p>Note: the watchable attributes only reflect the plugging/unplugging of hardware</p> + <p class="issue">Description to Complete</p> + + <section> + <h3>The <a>InputDevices</a> Property</h3> + + <dl title='interface InputDevices' class='idl'> + <dt>readonly attribute PointingDevice pointingDevices[]</dt> + <dd>The list of physical pointing devices attached (e.g. mouse, tablet, touchscreens)</dd> + + <dt>readonly attribute Keyboard keyboards[]</dt> + <dd>The list of keyboards attached</dd> + + <dt>readonly attribute Camera cameras[]</dt> + <dd>The list of cameras attached</dd> + + <dt>readonly attribute Microphone microphones[]</dt> + <dd>The list of cameras attached</dd> + </dl> + </section> + + <section> + <h4>The <a>PointingDevice</a> Property</h4> + <p>This property exposes the pointing devices (mouse, touch screen, gesture sensor). It is <a>enumerable</a>.</p> + <dl title="interface PointingDevice" class="idl"> + <dt>const unsigned short TYPE_UNKNOWN=0</dt> + <dd>When the <a>type</a> attribute has this value, then the type of this pointing device is unknown.</dd> + <dt>const unsigned short TYPE_MOUSE=1</dt> + <dd>When the <a>type</a> attribute has this value, then this device is a mouse</dd> + <dt>const unsigned short TYPE_TOUCHSCREEN=2</dt> + <dd>When the <a>type</a> attribute has this value, then this device is a touch screen</dd> + <dt>const unsigned short TYPE_LIGHTPEN=3</dt> + <dd>When the <a>type</a> attribute has this value, then this device is a light pen</dd> + <dt>const unsigned short TYPE_GESTURE=4</dt> + <dd>When the <a>type</a> attribute has this value, then this device is a gesture device</dd> + <dt>const unsigned short TYPE_TABLET=5</dt> + <dd>When the <a>type</a> attribute has this value, then this device is a graphics tablet</dd> + <dt>readonly attribute unsigned short type</dt> + <dd>The type of pointing device. The value is one of the constants defined for this type.</dd> + <dt>readonly attribute DOMString info</dt> + <dd>A free-form string describing this device</dd> + <dt>readonly attribute DOMString id</dt> + <dd>A free-form string identifying this device. The value of this element MUST be unique within the list reported in the <a>pointingDevices</a> attribute of an <a>InputDevice</a> object.</dd> + <dt>readonly attribute boolean supportsMultiTouch</dt> + <dd><code>true</code> when this device suports the multi-touch method of interaction, <code>else</code> otherwise.</dd> + </dl> + </section> + <section> + <h4>The <a>Keyboard</a> Property</h4> + <p>This property exposes the keyboards and keypads connected to this system. It is <a>enumerable</a>.</p> + <dl title="interface Keyboard" class="idl"> + <dt>const unsigned short TYPE_UNKNOWN=0</dt> + <dd>When the <a>type</a> attribute has this value, then this device is of a type unknown to this API.</dd> + <dt>const unsigned short TYPE_KEYBOARD=1</dt> + <dd>When the <a>type</a> attribute has this value, then this device is a full keyboard</dd> + <dt>const unsigned short TYPE_KEYPAD=2</dt> + <dd>When the <a>type</a> attribute has this value, then this device is a keypad</dd> + <dt>readonly attribute unsigned short type</dt> + <dd>The type of pointing device. The value is one of the constants defined for this type.</dd> - <dt>attribute boolean active</dt> - <dd>Indicates if the device is currently active, i.e. if - any sound recording will be made using this device</dd> + <dt>readonly attribute DOMString info</dt> + <dd>A free-form string describing this device</dd> + <dt>readonly attribute DOMString id</dt> + <dd>A free-form string identifying this device. The value of this element MUST be unique within the list reported in the <a>keyboards</a> attribute of an <a>InputDevice</a> object.</dd> - <dt>readonly attribute unsigned int freqRangeLow</dt> - <dd>Frequency range, low value, in Hz</dd> + <dt>readonly attribute boolean isHardware</dt> + <dd><code>true</code> when this device is a physical keyboard, <code>else</code> if it is a software keyboard.</dd> + </dl> + </section> - <dt>readonly attribute unsigned int freqRangeHigh</dt> - <dd>Frequency range, high value, in Hz</dd> - </dl> - - </section> - </section> + <section> + <h4>The <a>Camera</a> Property</h4> + <p>This property exposes the cameras connected to this system. It is <a>enumerable</a>.</p> + <dl title="interface Camera" class="idl"> + <dt>readonly attribute DOMString info</dt> + <dd>A free-form string describing this device</dd> + <dt>readonly attribute DOMString id</dt> + <dd>A free-form string identifying this device. The value of this element MUST be unique within the list reported in the <a>cameras</a> attribute of an <a>InputDevice</a> object.</dd> - <!-- ********* /Audio ************************************************************** --> + <dt>readonly attribute boolean supportsVideo</dt> + <dd><code>true</code> when this device suports recording video, <code>else</code> otherwise.</dd> + <dt>readonly attribute boolean hasFlash</dt> + <dd><code>true</code> when this device suports has a flash, <code>else</code> otherwise.</dd> + <dt>readonly attribute unsigned int sensorPixels</dt> + <dd>The number of image sensor elements (pixels) of this camera</dd> - <!-- ********* PropertyTemplate ************************************************************** --> -<!-- - <section> - <h2>PropertyTemplate</h2> - <p>PropertyTemplate</p> - <section> - <h4>ECMAScript Example</h4> - <pre class="sh_javascript example"> - // PropertyTemplate - PropertyTemplate</pre> - </section> - <section> - <h4>PropertyTemplate</h4> - <ul> - <li>Name: <code>PropertyTemplate</code></li> - </ul> - <dl title="[NoInterfaceObject] interface Template" class="idl"> - <dt>const unsigned int foo = 0</dt> - <dd>...</dd> - <dt>readonly attribute float bar</dt> - <dd>..</dd> - <dt>readonly attribute Baz baz[]</dt> - <dd>qux</dd> - </dl> - </section> - </section> ---> - <!-- ********* /PropertyTemplate ************************************************************** --> + <dt>readonly attribute float? maxZoomFactor</dt> + <dd>The maximum zoom factor of this camera, MUST be <code>null</code> is <a>hasPhysicalZoom</a> is <code>false</code> + <p class="issue">Use focal length instead? And shutter speed/aperture/ISO/sensor type?</p></dd> + </dl> + </section> - <!-- <section> - <h3>Video</h3> - This video specification draws on many references on the Internet on video capabilities. It uses terminology found in the - <a href="http://en.wikipedia.org/wiki/Comparison_of_video_codecs"> - Wikipedia Comparison of Video Codecs</a> - + <h4>The <a>Microphone</a> Property</h4> + <p>This property exposes the microphones connected to this system. It is <a>enumerable</a>.</p> + <dl title="interface Microphone" class="idl"> + <dt>const unsigned short TYPE_UNKNOWN=0</dt> + <dd><code>type</code> is set to this value when the type of this device is unknown to this API.</dd> + <dt>const unsigned short TYPE_MICROPHONE=1</dt> + <dd><code>type</code> is set to this value when this device is a microphone</dd> + <dt>const unsigned short TYPE_LINEIN=2</dt> + <dd><code>type</code> is set to this value when this device is a line-in connector</dd> -<dl title='[NoInterfaceObject] interface Video' class='idl'> -<dt>readonly attribute DOMString info</dt> -<dd>Freeform string describing this video interface</dd> + <dt>readonly attribute unsigned short type</dt> + <dd>The type of audio input device. The value is one of + the constants defined for this type.</dd> -<dt>readonly attribute VideoArch archInfo</dt> -<dd> -Video architecture information. -</dd> + <dt>readonly attribute DOMString info</dt> + <dd>Free-form text describing this device.</dd> -<dt>readonly attribute sequence VideoCodec codecs</dt> -<dd> -The list of codecs available on the device. -</dd> + <dt>readonly attribute DOMString id</dt> + <dd>A free-form string identifying this device. The value + of this element MUST be unique within the list reported in + an <a>Audio</a> object.</dd> -</dl> -<section> -<h3>VideoArch</h3> -<dl title='[NoInterfaceObject] interface VideoArch' class='idl'> -<dt>readonly attribute DOMString impName</dt> -<dd> -Video architecture implementer's name. Example : "Intel" -</dd> -<dt>readonly attribute DOMString todo_hw_info_item</dt> -<dd> -additional TBD hw information here -</dd> -</dl> -</section> -<section> -<h3>VideoCodec</h3> -<dl title='[NoInterfaceObject] interface VideoCodec' class='idl'> + <dt>attribute boolean active</dt> + <dd>Indicates if the device is currently active, i.e. if + any sound recording will be made using this device</dd> + <dt>readonly attribute unsigned int freqRangeLow</dt> + <dd>Frequency range, low value, in Hz</dd> + <dt>readonly attribute unsigned int freqRangeHigh</dt> + <dd>Frequency range, high value, in Hz</dd> + </dl> + </section> + </section> -<dt>readonly attribute DOMString name</dt> -<dd> -Codec name. Example : "Indeo Video" or "libtheora" -</dd> -<dt>readonly attribute sequence DOMString compFormats</dt> -<dd> -Supported compression format names. Example : "AVI", "ogg" -</dd> -<dt>readonly attribute sequence DOMString containerFormats</dt> -<dd> -Supported container format names. Example : "AVI", "ogg" -</dd> -<dt>readonly attribute boolean hwAccel</dt> -<dd> -True if the codec includes hardware acceleration support. -</dd> -<dt>readonly attribute sequence VideoProfile profiles</dt> -<dd> -The list of profiles available for this codec. -</dd> -<dt>readonly attribute sequence FrameType frametypes</dt> -<dd> -The list of frame types supported by the codec -</dd> -<dt>readonly attribute sequence RateControl ratetypes</dt> -<dd> -The list of rate control options supported by the codec -</dd> -</dl> -</section> -<section> -<h3>VideoProfile</h3> -<dl title='[NoInterfaceObject] interface VideoProfile' class='idl'> -<dt>readonly attribute DOMString name</dt> -<dd> -Profile name. Examples : "Simple","Main", "High", "Advanced" -</dd> -</dl> -</section> -<section> -<h3>FrameType</h3> -<dl title='[NoInterfaceObject] interface FrameType' class='idl'> -<dt>readonly attribute DOMString name</dt> -<dd> -Frame type name. Examples : "PROGRESSIVE","INTERLACED" -</dd> -</dl> -</section> -<section> -<h3>RateControl</h3> -<dl title='[NoInterfaceObject] interface RateControl' class='idl'> -<dt>readonly attribute DOMString name</dt> -<dd> -Rate control type name. Examples : "CBR","VBR" -</dd> -</dl> -</section> -</section> -<section> -<h3><a href='./deliverycontextspec-storage.html'>Storage</a></h3> -</section> + <!-- ********* Storage ************************************************************** --> + <section> + <h3>Storage</h3> + <p>This set of properties expose a device's storage units and their properties, like type (hard Disk, memory card, etc.) and capacity</p> + <section> + <h4>The <a>Storage</a> Property</h4> + <p>This property exposes the data storage devices connected to this system.</p> + <dl title="interface Storage" class="idl"> + <dt>readonly attribute StorageUnit units[]</dt> + <dd>The array of storage units connected to this device</dd> + </dl> + </section> -<section> -<h3>Input</h3> -The Input API specification is based on the Moblin <a href='http://software.intel.com/en-us/articles/moblin-platform-awareness-service/'> -Platform Awareness Service</a> API. -<dl title='interface Input' class='idl'> -<dt>readonly attribute boolean hasTouchScreen</dt> -<dd> -Indicates whether the device has a touch screen. -</dd> -<dt>readonly attribute boolean supportsHoverEvents</dt> -<dd> -Indicates whether the device supports hover events. -</dd> -<dt>readonly attribute boolean supportsMultiTouch</dt> -<dd> -Indicates whether the device supports multi touch input. -</dd> -<dt>readonly attribute boolean physicalPointingDevicePresent</dt> -<dd> -Indicates whether the device has an physical pointing device attached (e.g. mouse). -</dd> -<dt>readonly attribute boolean physicalKeyboardPresent</dt> -<dd> -Indicates whether the device has a physical keyboard attached. -</dd> -<dt>readonly attribute boolean physicalKeypadPresent</dt> -<dd> -Indicates whether the device has a physical key pad attached (e.g. phone 10 key pad). -</dd> -<dt>readonly attribute boolean softKeyboardVisible</dt> -<dd> -Indicates whether the soft keyboard is visible on the screen. -</dd> -<dt>int watchPhysicalKeyboardChange ( in PhysicalKeyboardChangeCB successCallback, optional in InputErrorCB errorCallback)</dt> -<dd> -The <a>watchPhysicalKeyboardChange()</a> function takes one or two arguments. -When called, it must immediately return and then asynchronously start a watch -process defined as the following set of steps: -<ol> -<li>Monitor the system to detect the attachment and detachment of physical -keyboard devices. </li> -<li>If the attempt fails, and the method was invoked with a -non-null <a>errorCallback</a> argument, invoke the <a>errorCallback -</a> with a <a>InputChangeError</a> object as an argument. </li> -<li>Invoke the appropriate callback with a new <a>PhysicalKeyboardChange -</a> object every time the implementation determines that a physical -keyboard has attached or detached. </li> -</ol> -<p/>This method returns an integer value that uniquely identifies the watch process. When the <a>clearWatch()</a> method is called with this identifier, the watch process must stop acquiring any new position fixes and must cease invoking any callbacks. When this value is used in a call to <a>updatePosition()</a>, the watch process SHOULD update the position information that it is using in its orientation caluculations. -</dd> -<dt>int watchPhysicalPointerChange ( in PhysicalPointerChangeCB successCallback, optional in InputErrorCB errorCallback)</dt> -<dd> -The <a>watchPhysicalPointerChange()</a> function takes one or two arguments. -When called, it must immediately return and then asynchronously start a watch -process defined as the following set of steps: -<ol> -<li>Monitor the system to detect the attachment and detachment of physical -pointing devices. </li> -<li>If the attempt fails, and the method was invoked with a -non-null <a>errorCallback</a> argument, invoke the <a>errorCallback -</a> with a <a>InputChangeError</a> object as an argument. </li> -<li>Invoke the appropriate callback with a new <a>PhysicalPointerChange -</a> object every time the implementation determines that a physical -pointer has attached or detached. </li> -</ol> -<p/>This method returns an integer value that uniquely identifies the watch -process. When the <a>clearWatch()</a> method is called with this -identifier, the watch process must stop acquiring any new position fixes and -must cease invoking any callbacks. -</dd> -<dt>void clearWatch ( in int watchId )</dt> -<dd> -When this method is called, the implementation MUST stop calling the -<a>successCallback</a> and <a>errorCallback</a> associated with -the <a>watchId</a>. -</dd> -</dl> -<section> -<h3>PhysicalKeyboardChangeCB</h3> -<dl title='[Callback=FunctionOnly, NoInterfaceObject] interface PhysicalKeyboardChangeCB' class='idl'> -<dt>void handleEvent(in PhysicalKeyboardChange physicalKeyboardChange)</dt> -<dd> -This function is called whenever the implementation determines that a physical keyboard has -attached or detached. -</dd> -</dl> -</section> -<section> -<h3>PhysicalPointerChangeCB</h3> -<dl title='[Callback=FunctionOnly, NoInterfaceObject] interface PhysicalPointerChangeCB' class='idl'> -<dt>void handleEvent(in PhysicalPointerChange physicalPointerChange)</dt> -<dd> -This function is called whenever the implementation determines that a physical pointer has -attached or detached. -</dd> -</dl> -</section> -<section> -<h3>InputErrorCB</h3> -<dl title='[Callback=FunctionOnly, NoInterfaceObject] interface InputErrorCB' class='idl'> -<dt>void handleEvent(in InputChangeError error)</dt> -<dd> -This function MUST be called whenever the implementation is unable to monitor -physical keyboard and pointer devices on the system. -</dd> -</dl> -</section> -<section> -<h3>PhysicalKeyboardChange</h3> -<dl title='interface PhysicalKeyboardChange' class='idl'> -<dt>readonly attribute boolean keyboardDetached</dt> -<dd> -A physical keyboard was detached. -</dd> -<dt>readonly attribute boolean keyboardAttached</dt> -<dd> -A physical keyboard was attached to the system. -</dd> -<dt>readonly attribute DOMTimeStamp timestamp</dt> -<dd> -Time at which the event occured. -</dd> -</dl> -</section> -<section> -<h3>PhysicalPointerChange</h3> -<dl title='interface PhysicalPointerChange' class='idl'> -<dt>readonly attribute boolean pointerDetached</dt> -<dd> -A physical pointer was detached. -</dd> -<dt>readonly attribute boolean pointerAttached</dt> -<dd> -A physical pointer was attached to the system. -</dd> -<dt>readonly attribute DOMTimeStamp timestamp</dt> -<dd> -Time at which the event occured. -</dd> -</dl> -</section> -<section> -<h3>InputChangeError</h3> -<dl title='interface InputChangeError' class='idl'> -<dt>readonly attribute unsigned short UNKNOWN_ERROR</dt> -<dd> -The implementation was unable to monitor the input devices due to an error -not covered by the definition of any other error code in this interface. -</dd> -<dt>readonly attribute unsigned short PERMISSION_DENIED</dt> -<dd> -The implementation was unable to monitor the input devices because the -application origin does not have permission to use this <abbr title="Application Programming Interface">API</abbr>. -</dd> -<dt>readonly attribute unsigned short code</dt> -<dd> -Indicates the reason the implementation failed monitor the pointer or keyboard devices. -</dd> -<dt>readonly attribute DOMTimestamp timestamp</dt> -<dd> -The time at which the error occured. -</dd> -</dl> -</section> -</section> - --> - </section> + <section> + <h4>The <a>StorageUnit</a> Property</h4> + <p>This property exposes a single storage device connected to this system. It is <a>enumerable</a>.</p> + <dl title="interface StorageUnit" class="idl"> + <dt>const unsigned short TYPE_UNKNOWN=0</dt> + <dd><code>type</code> is set to this value when the type of this device is unknown to this API.</dd> + <dt>const unsigned short TYPE_HARDDISK=1</dt> + <dd>When type has this value, then this device is a hard disk</dd> + <dt>const unsigned short TYPE_FLOPPYDISK=2</dt> + <dd>When type has this value, then this device is a floppy disk</dd> + <dt>const unsigned short TYPE_OPTICAL=3</dt> + <dd>When type has this value, then this device uses optical storage technology (CD, DVD, Holographic)</dd> + <dt>const unsigned short TYPE_RAM=4</dt> + <dd>When type has this value, then this device uses solid-state RAM technology (chip, memory card)</dd> + <dt>readonly attribute unsigned short type</dt> + <dd>The type of pointing device. The value is one of the constants defined for this type.</dd> + + <dt>readonly attribute DOMString info</dt> + <dd>A free-form string describing this device</dd> + <dt>readonly attribute DOMString id</dt> + <dd>A free-form string identifying this device. The value of this element MUST be unique within the list reported in the <a>units</a> attribute of an <a>Storage</a> object.</dd> + + <dt>readonly attribute boolean isReadWrite</dt> + <dd><code>true</code> when this device suports software modification, <code>else</code> otherwise.</dd> + + <dt>readonly attribute unsigned int capacity</dt> + <dd>The amount of data that this device can hold, in bytes. A <a>watch</a> operation operating on an object of type <a>StorageUnit</a> must invoke the success callback only when this attribute has changed</dd> + + <dt>readonly attribute int availableCapacity</dt> + <dd>The amount of available data that this device can hold, in bytes</dd> + <dt>readonly attribute boolean isRemoveable</dt> + <dd><code>true</code> if this unit can be removed from the system (e.g. a memory card unplugged, or a disk ejected), <code>false</code> otherwise</dd> + </dl> + </section> + </section> + <!-- ********* /Storage ************************************************************** --> + </section> <!--************************************* Extensibility *******************************************-->
Received on Friday, 18 December 2009 11:21:10 UTC