xpcom/ds/nsISupportsArray.idl

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this
     4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     7 #include "nsICollection.idl"
     9 /*
    10  * This entire interface is deprecated and should not be used.
    11  * See nsIArray and nsIMutableArray for the new implementations.
    12  *
    13  * http://groups.google.com/groups?q=nsisupportsarray+group:netscape.public.mozilla.xpcom&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=3D779491.3050506%40netscape.com&rnum=2
    14  * http://groups.google.com/groups?q=nsisupportsarray+group:netscape.public.mozilla.xpcom&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=al8412%245ab2%40ripley.netscape.com&rnum=8
    15  */
    17 %{C++
    19 class nsIBidirectionalEnumerator;
    20 class nsISupportsArray;
    22 #define NS_SUPPORTSARRAY_CID                         \
    23 { /* bda17d50-0d6b-11d3-9331-00104ba0fd40 */         \
    24     0xbda17d50,                                      \
    25     0x0d6b,                                          \
    26     0x11d3,                                          \
    27     {0x93, 0x31, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40} \
    28 }
    29 #define NS_SUPPORTSARRAY_CONTRACTID "@mozilla.org/supports-array;1"
    31 %}
    33 [scriptable, uuid(241addc8-3608-4e73-8083-2fd6fa09eba2)]
    34 interface nsISupportsArray : nsICollection {
    36   [notxpcom] boolean Equals([const] in nsISupportsArray other);
    38   [notxpcom] long IndexOf([const] in nsISupports aPossibleElement);
    39   [notxpcom] long IndexOfStartingAt([const] in nsISupports aPossibleElement,
    40                                     in unsigned long aStartIndex);
    41   [notxpcom] long LastIndexOf([const] in nsISupports aPossibleElement);
    43   // xpcom-compatible versions
    44   long GetIndexOf(in nsISupports aPossibleElement);
    45   long GetIndexOfStartingAt(in nsISupports aPossibleElement,
    46                             in unsigned long aStartIndex);
    47   long GetLastIndexOf(in nsISupports aPossibleElement);  
    49   [notxpcom] boolean InsertElementAt(in nsISupports aElement,
    50                                      in unsigned long aIndex);
    51   [notxpcom] boolean ReplaceElementAt(in nsISupports aElement,
    52                                       in unsigned long aIndex);
    54   [notxpcom] boolean RemoveElementAt(in unsigned long aIndex);
    55   [notxpcom] boolean RemoveLastElement([const] in nsISupports aElement);
    57   // xpcom-compatible versions
    58   void DeleteLastElement(in nsISupports aElement);
    59   void DeleteElementAt(in unsigned long aIndex);
    61   [notxpcom] boolean AppendElements(in nsISupportsArray aElements);
    63   void Compact();
    66   nsISupportsArray clone();
    68   [notxpcom] boolean MoveElement(in long aFrom,
    69                                  in long aTo);
    71   [notxpcom] boolean InsertElementsAt(in nsISupportsArray aOther,
    72                                       in unsigned long aIndex);
    74   [notxpcom] boolean RemoveElementsAt(in unsigned long aIndex,
    75                                       in unsigned long aCount);
    77   [notxpcom] boolean SizeTo(in long aSize);
    79 };
    81 %{C++
    83 // Construct and return a default implementation of nsISupportsArray:
    84 extern nsresult
    85 NS_NewISupportsArray(nsISupportsArray** aInstancePtrResult);
    87 %}

mercurial