other-licenses/ia2/AccessibleValue.idl

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 /*************************************************************************
     2  *
     3  *  File Name (AccessibleValue.idl)
     4  * 
     5  *  IAccessible2 IDL Specification 
     6  * 
     7  *  Copyright (c) 2007, 2010 Linux Foundation 
     8  *  Copyright (c) 2006 IBM Corporation 
     9  *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
    10  *  All rights reserved. 
    11  *   
    12  *   
    13  *  Redistribution and use in source and binary forms, with or without 
    14  *  modification, are permitted provided that the following conditions 
    15  *  are met: 
    16  *   
    17  *   1. Redistributions of source code must retain the above copyright 
    18  *      notice, this list of conditions and the following disclaimer. 
    19  *   
    20  *   2. Redistributions in binary form must reproduce the above 
    21  *      copyright notice, this list of conditions and the following 
    22  *      disclaimer in the documentation and/or other materials 
    23  *      provided with the distribution. 
    24  *
    25  *   3. Neither the name of the Linux Foundation nor the names of its 
    26  *      contributors may be used to endorse or promote products 
    27  *      derived from this software without specific prior written 
    28  *      permission. 
    29  *   
    30  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
    31  *  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
    32  *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
    33  *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
    34  *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
    35  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
    36  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
    37  *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
    38  *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
    39  *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
    40  *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
    41  *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
    42  *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    43  *   
    44  *  This BSD License conforms to the Open Source Initiative "Simplified 
    45  *  BSD License" as published at: 
    46  *  http://www.opensource.org/licenses/bsd-license.php 
    47  *   
    48  *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
    49  *  mark may be used in accordance with the Linux Foundation Trademark 
    50  *  Policy to indicate compliance with the IAccessible2 specification. 
    51  * 
    52  ************************************************************************/ 
    54 import "objidl.idl";
    55 import "oaidl.idl";
    56 import "oleacc.idl";
    58 /** @brief This interface gives access to a single numerical value.
    60  The %IAccessibleValue interface represents a single numerical value and should 
    61   be implemented by any class that supports numerical value like progress bars 
    62   and spin boxes.  This interface lets you access the value and its upper and 
    63   lower bounds.
    64 */
    65 [object, uuid(35855B5B-C566-4fd0-A7B1-E65465600394)]
    66 interface IAccessibleValue : IUnknown
    67 {
    69   /** @brief Returns the value of this object as a number.
    71    The exact return type is implementation dependent.  Typical types are long and 
    72     double.
    73    @param [out] currentValue
    74     Returns the current value represented by this object.  See the section about 
    75 	@ref _variants "VARIANTs" for additional information.
    76    @retval S_OK
    77    @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY
    78   */
    79   [propget] HRESULT currentValue
    80     (
    81      [out, retval] VARIANT *currentValue
    82     );
    84   /** @brief Sets the value of this object to the given number.
    86    The argument is clipped to the valid interval whose upper and lower 
    87     bounds are returned by the methods IAccessibleValue::maximumValue and 
    88 	IAccessibleValue::minimumValue, i.e. if it is 	lower than the minimum 
    89 	value the new value will be the minimum and if it is greater than the 
    90 	maximum then the new value will be the maximum.
    92    @param [in] value
    93     The new value represented by this object.  The set of admissible types for 
    94     this argument is implementation dependent.
    95    @retval S_OK
    96   */
    97   HRESULT setCurrentValue
    98     (
    99      [in] VARIANT value
   100     );
   102   /** @brief Returns the maximal value that can be represented by this object.
   104    The type of the returned value is implementation dependent.  It does not have 
   105     to be the same type as that returned by method IAccessibleValue::currentValue.
   107    @param [out] maximumValue
   108     Returns the maximal value in an implementation dependent type. If this object 
   109     has no upper bound then an empty object is returned.  See the section about 
   110 	@ref _variants "VARIANTs" for additional information.
   111    @retval S_OK
   112    @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY
   113   */
   114   [propget] HRESULT maximumValue
   115     (
   116      [out, retval] VARIANT *maximumValue
   117     );
   119   /** @brief Returns the minimal value that can be represented by this object.
   121    The type of the returned value is implementation dependent.  It does not have 
   122     to be the same type as that returned by method IAccessibleValue::currentValue.
   124    @param [out] minimumValue
   125     Returns the minimal value in an implementation dependent type. If this object 
   126     has no lower bound then an empty object is returned.  See the section about 
   127 	@ref _variants "VARIANTs" for additional information.
   128    @retval S_OK
   129    @retval S_FALSE if there is nothing to return, [out] value is a VARIANT with vt = VT_EMPTY
   130   */
   131   [propget] HRESULT minimumValue
   132     (
   133      [out, retval] VARIANT *minimumValue
   134     );
   136 };

mercurial