other-licenses/ia2/AccessibleTableCell.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 (AccessibleTableCell.idl)
     4  * 
     5  *  IAccessible2 IDL Specification 
     6  * 
     7  *  Copyright (c) 2007, 2013 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";
    57 import "Accessible2.idl";
    59 /** @brief This interface gives access to the cells of a two-dimensional table.
    61  Please also refer to the IAccessibleTable2 interface.
    63 */
    64 [object, uuid(594116B1-C99F-4847-AD06-0A7A86ECE645)]
    65 interface IAccessibleTableCell : IUnknown
    66 {
    68   /** @brief Returns the number of columns occupied by this cell accessible.
    70    The result is greater than 1 if the specified cell spans multiple columns.
    71    @param [out] nColumnsSpanned
    72     Returns the 1 based column extent of the specified cell.
    73    @retval S_OK
    74   */
    75   [propget] HRESULT columnExtent
    76     (
    77      [out, retval] long *nColumnsSpanned 
    78     );
    80   /** @brief Returns the column headers as an array of cell accessibles.
    82    @param [out] cellAccessibles
    83     Pointer to an array of references to cell accessibles.  The array is allocated
    84 	by the server.  The client must free it with CoTaskMemFree.
    85    @param [out] nColumnHeaderCells
    86     The number of accessibles returned; the size of the returned array.
    87    @retval S_OK
    88    @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively 
    89   */
    90   [propget] HRESULT columnHeaderCells
    91     (
    92      [out, size_is(,*nColumnHeaderCells)] IUnknown ***cellAccessibles,
    93      [out, retval] long *nColumnHeaderCells
    94     );
    96   /** @brief Translates this cell accessible into the corresponding column index.
    98    @param [out] columnIndex
    99     Returns the 0 based column index of the cell of the specified cell or the index of 
   100     the first column if the cell spans multiple columns.
   101    @retval S_OK
   102   */
   103   [propget] HRESULT columnIndex
   104     (
   105      [out, retval] long *columnIndex
   106     );
   108   /** @brief Returns the number of rows occupied by this cell accessible.
   110    @param [out] nRowsSpanned
   111     Returns the row extent of the specified cell.
   112    @retval S_OK
   113   */
   114   [propget] HRESULT rowExtent
   115     (
   116      [out, retval] long *nRowsSpanned
   117     );
   119   /** @brief Returns the row headers as an array of cell accessibles.
   121    @param [out] cellAccessibles
   122     Pointer to an array of references to cell accessibles.  The array is allocated
   123 	by the server.  The client must free it with CoTaskMemFree.
   124    @param [out] nRowHeaderCells
   125     The number of accessibles returned; the size of the returned array.
   126    @retval S_OK
   127    @retval S_FALSE if there is no header, [out] values are NULL and 0 respectively 
   128   */
   129   [propget] HRESULT rowHeaderCells
   130     (
   131      [out, size_is(,*nRowHeaderCells)] IUnknown ***cellAccessibles,
   132      [out, retval] long *nRowHeaderCells
   133     );
   135   /** @brief Translates this cell accessible into the corresponding row index.
   137    @param [out] rowIndex
   138     Returns the 0 based row index of the specified cell or the index of 
   139     the first row if the cell spans multiple rows.
   140    @retval S_OK
   141   */
   142   [propget] HRESULT rowIndex
   143     (
   144      [out, retval] long *rowIndex 
   145     );
   147   /** @brief Returns a boolean value indicating whether this cell is selected.
   149    @param [out] isSelected
   150     Returns TRUE if the specified cell is selected and FALSE otherwise.
   151    @retval S_OK
   152   */
   153   [propget] HRESULT isSelected
   154     (
   155      [out, retval] boolean *isSelected 
   156     );
   158   /** @brief Gets the row and column indexes and extents of this cell accessible
   159     and whether or not it is selected.
   161    This is a convenience function.  It is not mandatory to implement it.
   162    @param [out] row
   163     0 based row index.
   164    @param [out] column
   165     0 based column index.
   166    @param [out] rowExtents
   167     Number of cells spanned by this cell in this row.
   168    @param [out] columnExtents
   169     Number of cells spanned by this cell in this column.
   170    @param [out] isSelected
   171     Indicates if the specified cell is selected.
   172    @retval S_OK
   173   */
   174   [propget] HRESULT rowColumnExtents
   175     (
   176      [out] long *row,  
   177      [out] long *column,
   178      [out] long *rowExtents,
   179      [out] long *columnExtents,
   180      [out, retval] boolean *isSelected
   181     );
   183   /** @brief Returns a reference to the accessbile of the containing table.
   185    @param [out] table
   186     Returns a reference to the IUnknown of the containing table.
   187    @retval S_OK
   188   */
   189   [propget] HRESULT table
   190     (
   191      [out, retval] IUnknown **table
   192     );
   194 }

mercurial