diff options
Diffstat (limited to 'testing/web-platform/tests/resources/webidl2/test/widlproc/examples/bondi.widl')
-rw-r--r-- | testing/web-platform/tests/resources/webidl2/test/widlproc/examples/bondi.widl | 227 |
1 files changed, 227 insertions, 0 deletions
diff --git a/testing/web-platform/tests/resources/webidl2/test/widlproc/examples/bondi.widl b/testing/web-platform/tests/resources/webidl2/test/widlproc/examples/bondi.widl new file mode 100644 index 000000000..200b95fe9 --- /dev/null +++ b/testing/web-platform/tests/resources/webidl2/test/widlproc/examples/bondi.widl @@ -0,0 +1,227 @@ +/* + * Licensed to OMTP Ltd. (OMTP) under one or more contributor license agreements. + * See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. + * + * The Reference Implementation (save for such parts of the reference implementation made + * available under separate terms and conditions) is made available under the terms of the + * Apache License, version 2.0, subject to the condition that any "Works" and "Derivative + * Works" used or distributed for commercial purposes must be and remain compliant with the + * BONDI specification as promulgated by OMTP in each release. Your implementation of the + * Reference Implementation (whether object or source) must maintain these conditions, and + * you must notify any recipient of this condition in a conspicuous way. + * + * You may not use this BONDI Reference Implementation except in compliance with the License. + * + * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 or at + * http://bondi.omtp.org/BONDI-LICENSE-2.0 + */ + +/** + * \brief Common BONDI functionality. + * + * These definitions can be used in all other BONDI modules as dependencies. + * \version 1.1 + */ +module bondi { + + /** + * \brief Array of DOMStrings. + */ + typedef sequence<DOMString> StringArray; + + /** + * \brief Array of 8-bit unsigned integer values. + */ + typedef sequence<octet> ByteArray; + + /** + * \brief Array of 16-bit signed integer values. + */ + typedef sequence<short> ShortArray; + + /** + * \brief Array of 32-bit signed integer values. + */ + typedef sequence<long> LongArray; + + /** + * \brief Array of floating point values. + */ + typedef sequence<float> FloatArray; + + /** + * \brief Generic Map object. + */ + typedef Object Map; + + /** + * \brief Generic success callback interface. + */ + [Callback=FunctionOnly, NoInterfaceObject] interface SuccessCallback { + /** + * \brief Method invoked when the asynchronous call completes successfully + */ + void onSuccess(); + }; + + + /** + * \brief Success callback interface for requestFeature invocations + */ + [Callback=FunctionOnly, NoInterfaceObject] interface RequestFeatureSuccessCallback {
+ /** + * \brief Method invoked upon a succesful requestFeature invocation + * + * \param ob Object implementing the JavaScript API associated with the requested Feature. + */
+ void onSuccess(in Object ob);
+ };
+ + + /** + * \brief Generic error callback interface. + */ + [Callback=FunctionOnly, NoInterfaceObject] interface ErrorCallback { + /** + * \brief Method invoked when an error occurs + * + * \param error The error that is raised. + */ + void onError(in GenericError error); + }; + + /** + * \brief Generic error interface. + * + * + */ + + + interface GenericError { + + /** + * \brief 16-bit error code. + */ + readonly attribute unsigned short code; + }; + + /** + * \brief DeviceApiError error interface. + * + * The error codes must be in the range 10000-19999. + */ + + interface DeviceAPIError : GenericError { + + /** + * \brief Unknown error. + */ + const unsigned short UNKNOWN_ERROR = 10000; + + /** + * \brief Invalid value was specified as input parameter. + */ + const unsigned short INVALID_ARGUMENT_ERROR = 10001; + + /** + * \brief The searched value or object was not found. + */ + const unsigned short NOT_FOUND_ERROR = 10002; + + /** + * \brief Operation is pending. + */ + const unsigned short PENDING_OPERATION_ERROR = 10003; + + /** + * \brief Input/Output error. + */ + const unsigned short IO_ERROR = 10004; + + /** + * \brief Not supported error. + */ + const unsigned short NOT_SUPPORTED_ERROR = 10005; + }; + + /** + * \brief Security error interface. + * + * The error codes must be in the range 20000-29999 + */ + interface SecurityError : GenericError { + const unsigned short PERMISSION_DENIED_ERROR = 20000; + }; + + /** + * \brief PendingOperation. + * + * Interface that is returned by asynchronous operations in order to + * provide a cancellation operation. + */ + interface PendingOperation { + /** + * \brief Call to cancel the underlying asynchronous operation. + * + * This call is always successful, i.e. the pending operation i.e. + * either cancelled or one of the callback is called. + * + * \return <em>false</em> if the cancellation did not succeed + * either because the pending operation finished already or because + * the cancellation cannot succeed due to technical limitations in + * the underlying implementation. Consquently the pending operation + * completes and depending on the success or failure the appropriate + * callbacks will be called. + * <em>true</em> if the cancellation did succeed. No callbacks will + * be called by the cancelled pending operation. + */ + boolean cancel(); + }; + + /** + * \brief BONDI root API. + * bondi root property exists in the global object + * \def-api-feature http://bondi.omtp.org/api/bondi.requestfeature + */ + interface Bondi { + /** + * \brief Requests a feature. + * + * This function requests a named feature + * asynchronously and returns a pending operation object. + * If it succeeds it calls the successCallback and passes in + * the object of the requested feature. If it fails it calls + * the errorCallback passing in a DeviceAPIError which provides + * an error message and error code indicating the nature of the error. + * + * If the requested feature binds itself to a root namespace + * ( for example, "bondi.pim.contact") this will happen prior to the + * successCallback being invoked. + * + * \param successCallback the success callback function + * \param errorCallback the error callback function + * \param name the feature name IRI + * + * \return PendingOperation enabling the requester to cancel this request. + * + * The errorCallback will receive one of the following errors: + * \throw DeviceAPIError INVALID_ARGUMENT_ERROR if a malformed + * argument has been supplied or a required argument has been omitted. + * \throw DeviceAPIError NOT_FOUND_ERROR if the requested feature could not be found. + * \throw SecurityError PERMISSION_DENIED_ERROR if the + * requested feature is not permitted to load/bind or that + * access to a required device capability has been denied. + * \throw DeviceAPIError UNKNOWN_ERROR if an error occurred and a pending + * operation object can't be returned. + */ + PendingOperation requestFeature(in RequestFeatureSuccessCallback successCallback, + in ErrorCallback errorCallback, + in DOMString name) + raises(DeviceAPIError, SecurityError); + }; + interface BondiObject { + readonly attribute Bondi bondi; + }; + Window implements bondiObject; +}; |