VirtualBox

Changeset 102309 in vbox for trunk/src/libs/xpcom18a4/xpcom


Ignore:
Timestamp:
Nov 27, 2023 12:56:43 PM (15 months ago)
Author:
vboxsync
Message:

libs/xpcom: Remove some unused code from xpcom, bugref:10545

Location:
trunk/src/libs/xpcom18a4/xpcom/reflect/xptinfo
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/xpcom18a4/xpcom/reflect/xptinfo/public/nsIInterfaceInfoManager.idl

    r1 r102309  
    6161};
    6262
    63 [uuid(0ee22850-bc6a-11d5-9134-0010a4e73d9a)]
    64 interface nsIInterfaceInfoSuperManager : nsIInterfaceInfoManager
    65 {
    66     void addAdditionalManager(in nsIInterfaceInfoManager manager);       
    67     void removeAdditionalManager(in nsIInterfaceInfoManager manager);       
    68 
    69     PRBool hasAdditionalManagers();
    70     nsISimpleEnumerator enumerateAdditionalManagers();
    71 };
    72 
    7363%{C++
    7464#define NS_INTERFACEINFOMANAGER_SERVICE_CLASSNAME  \
  • trunk/src/libs/xpcom18a4/xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp

    r102196 r102309  
    4949#define NS_ZIPLOADER_CONTRACTID NS_XPTLOADER_CONTRACTID_PREFIX "zip"
    5050
    51 NS_IMPL_THREADSAFE_ISUPPORTS2(xptiInterfaceInfoManager,
    52                               nsIInterfaceInfoManager,
    53                               nsIInterfaceInfoSuperManager)
     51NS_IMPL_THREADSAFE_ISUPPORTS1(xptiInterfaceInfoManager,
     52                              nsIInterfaceInfoManager);
    5453
    5554static xptiInterfaceInfoManager* gInterfaceInfoManager = nsnull;
     
    116115           mResolveLock != NIL_RTSEMFASTMUTEX &&
    117116           mAutoRegLock != NIL_RTSEMFASTMUTEX &&
    118            mInfoMonitor &&
    119            mAdditionalManagersLock != NIL_RTSEMFASTMUTEX;
     117           mInfoMonitor;
    120118}       
    121119
     
    126124        mAutoRegLock(NIL_RTSEMFASTMUTEX),
    127125        mInfoMonitor(nsAutoMonitor::NewMonitor("xptiInfoMonitor")),
    128         mAdditionalManagersLock(NIL_RTSEMFASTMUTEX),
    129126        mSearchPath(aSearchPath)
    130127{
     
    133130
    134131    vrc = RTSemFastMutexCreate(&mAutoRegLock);
    135     AssertRC(vrc); RT_NOREF(vrc);
    136 
    137     vrc = RTSemFastMutexCreate(&mAdditionalManagersLock);
    138132    AssertRC(vrc); RT_NOREF(vrc);
    139133
     
    158152    if(mInfoMonitor)
    159153        nsAutoMonitor::DestroyMonitor(mInfoMonitor);
    160     if(mAdditionalManagersLock)
    161         RTSemFastMutexDestroy(mAdditionalManagersLock);
    162154
    163155    gInterfaceInfoManager = nsnull;
     
    19721964/***************************************************************************/
    19731965
    1974 class xptiAdditionalManagersEnumerator : public nsISimpleEnumerator
    1975 {
    1976 public:
    1977     NS_DECL_ISUPPORTS
    1978     NS_DECL_NSISIMPLEENUMERATOR
    1979 
    1980     xptiAdditionalManagersEnumerator();
    1981 
    1982     PRBool SizeTo(PRUint32 likelyCount) {return mArray.SizeTo(likelyCount);}
    1983     PRBool AppendElement(nsIInterfaceInfoManager* element);
    1984 
    1985 private:
    1986     ~xptiAdditionalManagersEnumerator() {}
    1987 
    1988     nsSupportsArray mArray;
    1989     PRUint32        mIndex;
    1990     PRUint32        mCount;
    1991 };
    1992 
    1993 NS_IMPL_ISUPPORTS1(xptiAdditionalManagersEnumerator, nsISimpleEnumerator)
    1994 
    1995 xptiAdditionalManagersEnumerator::xptiAdditionalManagersEnumerator()
    1996     : mIndex(0), mCount(0)
    1997 {
    1998 }
    1999 
    2000 PRBool xptiAdditionalManagersEnumerator::AppendElement(nsIInterfaceInfoManager* element)
    2001 {
    2002     if(!mArray.AppendElement(NS_STATIC_CAST(nsISupports*, element)))
    2003         return PR_FALSE;
    2004     mCount++;
    2005     return PR_TRUE;
    2006 }
    2007 
    2008 /* boolean hasMoreElements (); */
    2009 NS_IMETHODIMP xptiAdditionalManagersEnumerator::HasMoreElements(PRBool *_retval)
    2010 {
    2011     *_retval = mIndex < mCount;
    2012     return NS_OK;
    2013 }
    2014 
    2015 /* nsISupports getNext (); */
    2016 NS_IMETHODIMP xptiAdditionalManagersEnumerator::GetNext(nsISupports **_retval)
    2017 {
    2018     if(!(mIndex < mCount))
    2019     {
    2020         NS_ERROR("Bad nsISimpleEnumerator caller!");
    2021         return NS_ERROR_FAILURE;   
    2022     }
    2023 
    2024     *_retval = mArray.ElementAt(mIndex++);
    2025     return *_retval ? NS_OK : NS_ERROR_FAILURE;
    2026 }
    2027 
    2028 /***************************************************************************/
    2029 
    2030 /* void addAdditionalManager (in nsIInterfaceInfoManager manager); */
    2031 NS_IMETHODIMP xptiInterfaceInfoManager::AddAdditionalManager(nsIInterfaceInfoManager *manager)
    2032 {
    2033     nsCOMPtr<nsIWeakReference> weakRef = do_GetWeakReference(manager);
    2034     nsISupports* ptrToAdd = weakRef ?
    2035                     NS_STATIC_CAST(nsISupports*, weakRef) :
    2036                     NS_STATIC_CAST(nsISupports*, manager);
    2037     { // scoped lock...
    2038         nsAutoLock lock(mAdditionalManagersLock);
    2039         PRInt32 index;
    2040         nsresult rv = mAdditionalManagers.GetIndexOf(ptrToAdd, &index);
    2041         if(NS_FAILED(rv) || -1 != index)
    2042             return NS_ERROR_FAILURE;
    2043         if(!mAdditionalManagers.AppendElement(ptrToAdd))
    2044             return NS_ERROR_OUT_OF_MEMORY;
    2045     }
    2046     return NS_OK;
    2047 }
    2048 
    2049 /* void removeAdditionalManager (in nsIInterfaceInfoManager manager); */
    2050 NS_IMETHODIMP xptiInterfaceInfoManager::RemoveAdditionalManager(nsIInterfaceInfoManager *manager)
    2051 {
    2052     nsCOMPtr<nsIWeakReference> weakRef = do_GetWeakReference(manager);
    2053     nsISupports* ptrToRemove = weakRef ?
    2054                     NS_STATIC_CAST(nsISupports*, weakRef) :
    2055                     NS_STATIC_CAST(nsISupports*, manager);
    2056     { // scoped lock...
    2057         nsAutoLock lock(mAdditionalManagersLock);
    2058         if(!mAdditionalManagers.RemoveElement(ptrToRemove))
    2059             return NS_ERROR_FAILURE;
    2060     }
    2061     return NS_OK;
    2062 }
    2063 
    2064 /* PRBool hasAdditionalManagers (); */
    2065 NS_IMETHODIMP xptiInterfaceInfoManager::HasAdditionalManagers(PRBool *_retval)
    2066 {
    2067     PRUint32 count;
    2068     nsresult rv = mAdditionalManagers.Count(&count);
    2069     *_retval = count != 0;
    2070     return rv;
    2071 }
    2072 
    2073 /* nsISimpleEnumerator enumerateAdditionalManagers (); */
    2074 NS_IMETHODIMP xptiInterfaceInfoManager::EnumerateAdditionalManagers(nsISimpleEnumerator **_retval)
    2075 {
    2076     nsAutoLock lock(mAdditionalManagersLock);
    2077 
    2078     PRUint32 count;
    2079     nsresult rv = mAdditionalManagers.Count(&count);
    2080     if(NS_FAILED(rv))
    2081         return rv;
    2082 
    2083     nsCOMPtr<xptiAdditionalManagersEnumerator> enumerator =
    2084         new xptiAdditionalManagersEnumerator();
    2085     if(!enumerator)
    2086         return NS_ERROR_OUT_OF_MEMORY;
    2087 
    2088     enumerator->SizeTo(count);
    2089 
    2090     for(PRUint32 i = 0; i < count; /* i incremented in the loop body */)
    2091     {
    2092         nsCOMPtr<nsISupports> raw =
    2093             dont_AddRef(mAdditionalManagers.ElementAt(i++));
    2094         if(!raw)
    2095             return NS_ERROR_FAILURE;
    2096         nsCOMPtr<nsIWeakReference> weakRef = do_QueryInterface(raw);
    2097         if(weakRef)
    2098         {
    2099             nsCOMPtr<nsIInterfaceInfoManager> manager =
    2100                 do_QueryReferent(weakRef);
    2101             if(manager)
    2102             {
    2103                 if(!enumerator->AppendElement(manager))
    2104                     return NS_ERROR_FAILURE;
    2105             }
    2106             else
    2107             {
    2108                 // The manager is no more. Remove the element.
    2109                 if(!mAdditionalManagers.RemoveElementAt(--i))
    2110                     return NS_ERROR_FAILURE;
    2111                 count--;
    2112             }
    2113         }
    2114         else
    2115         {
    2116             // We *know* we put a pointer to either a nsIWeakReference or
    2117             // an nsIInterfaceInfoManager into the array, so we can avoid an
    2118             // extra QI here and just do a cast.
    2119             if(!enumerator->AppendElement(
    2120                     NS_REINTERPRET_CAST(nsIInterfaceInfoManager*, raw.get())))
    2121                 return NS_ERROR_FAILURE;
    2122         }
    2123     }
    2124    
    2125     NS_ADDREF(*_retval = enumerator);
    2126     return NS_OK;
    2127 }
    2128 
    2129 /***************************************************************************/
    2130 
    21311966XPTI_PUBLIC_API(nsIInterfaceInfoManager*)
    21321967XPTI_GetInterfaceInfoManager()
  • trunk/src/libs/xpcom18a4/xpcom/reflect/xptinfo/src/xptiprivate.h

    r102197 r102309  
    6969
    7070#include "nsISupportsArray.h"
    71 #include "nsSupportsArray.h"
    7271#include "nsInt64.h"
    7372
     
    859858
    860859class xptiInterfaceInfoManager
    861     : public nsIInterfaceInfoSuperManager
     860    : public nsIInterfaceInfoManager
    862861{
    863862    NS_DECL_ISUPPORTS
    864863    NS_DECL_NSIINTERFACEINFOMANAGER
    865     NS_DECL_NSIINTERFACEINFOSUPERMANAGER
    866864
    867865    // helper
     
    965963    RTSEMFASTMUTEX               mAutoRegLock;
    966964    PRMonitor*                   mInfoMonitor;
    967     RTSEMFASTMUTEX               mAdditionalManagersLock;
    968     nsSupportsArray              mAdditionalManagers;
    969965    nsCOMPtr<nsISupportsArray>   mSearchPath;
    970966};
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette