9 Commits

Author SHA1 Message Date
dougt%netscape.com
011f9b10e5 1. Converts callers of nsIComponentManagerObsolete to use
nsIComponentRegistrar.

2. Converts callers of nsComponentManager::AutoRegister to use
nsIComponentRegistrar's autoRegistrar method.

3. Add nsIComponentRegistrar implmentation to nsComponentManagerImpl.

4. Rearrange nsComponentManager.cpp so that related methods are in the same
place.

5. Added a C-style function NS_GetComponentRegistrar so that getting the
registrar is easier in some places.

6. Added a nsISimpleEnumerator interface on PLDHashTableEnumeratorImpl.  in
this way, the same base class can support both old style and new style
enumerations.

7. Fixed a nasty bug where unregistring factories will leave the contract id
hash with a dangling pointer.  Now, when unregister is called we search the
contract id hash for entries which have the given doomned cid and remove them.


Bug 115853.  r=dp@netscape.com, sr=rpotts@netscape.com


git-svn-id: svn://10.0.0.236/trunk@113143 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-29 21:22:13 +00:00
dougt%netscape.com
c01e94cad7 nsIComponentManager API Changes (bug 98553)
a) create a new nsIComponentManager with only four functions on it:
CreateInstance CreateInstanceByContractID GetClassInfo GetClassInfoByContractID.

b) rename the old nsIComponentManager to nsIComponentManagerObsolete.

c) fixes callers which use to access the nsIComponentManager for component
registration functionality.  These callers will temporary use the
nsIComponentManagerObsolete interface.

d) Create a new API NS_GetComponentManager() which mirrors the
NS_GetServiceManager()

e) Perserves the old NS_GetGlobalComponentManager().  Note the cast usage.

r/sr = rpotts@netscape.com  alecf@netscape.com  brendan@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@110748 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-19 00:12:41 +00:00
dougt%netscape.com
2367cd653a API Freeze for nsIServiceManager r=shaver@mozilla.org, sr=rpotts@netscape.com bug 99147
git-svn-id: svn://10.0.0.236/trunk@105458 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 03:35:52 +00:00
jaggernaut%netscape.com
2b3b3b2586 Bug 86734: Remove NS_WITH_SERVICE. r=dbaron, rs=scc, a=asa
git-svn-id: svn://10.0.0.236/trunk@99906 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-25 07:54:28 +00:00
edburns%acm.org
1af32fc433 I know it's unorthodox to do a top level checkin like this, but I've got so many files
in so many different directories, that I think it's the best way.
I've pulled and clobber_all'd my tree and got

r=dp

on this checkin.

Here are the touched files:

M mozilla/embedding/browser/activex/src/control/MozillaBrowser.cpp
M mozilla/embedding/browser/activex/src/control/MozillaBrowser.h
M mozilla/js/src/xpconnect/shell/xpcshell.cpp
M mozilla/netwerk/protocol/res/src/nsResProtocolHandler.cpp
M mozilla/xpcom/build/nsXPComInit.cpp
M mozilla/xpcom/components/nsComponentManager.cpp
M mozilla/xpcom/components/nsIServiceManager.h
M mozilla/xpcom/components/nsServiceManager.cpp
M mozilla/xpcom/io/nsSpecialSystemDirectory.cpp
M mozilla/xpcom/io/nsSpecialSystemDirectory.h
M mozilla/xpcom/tests/TestBuffers.cpp
M mozilla/xpcom/tests/TestPipes.cpp
M mozilla/xpcom/tests/TestShutdown.cpp
M mozilla/xpcom/tests/windows/TestHelloXPLoop.cpp
M mozilla/xpcom/tools/registry/regExport.cpp
M mozilla/xpcom/tools/registry/regxpcom.cpp
M mozilla/xpinstall/stub/xpistub.cpp
M mozilla/webshell/embed/ActiveX/MozillaBrowser.cpp
M mozilla/webshell/embed/ActiveX/MozillaBrowser.h
M mozilla/webshell/tests/viewer/nsMacMain.cpp
M mozilla/webshell/tests/viewer/nsPhMain.cpp
M mozilla/webshell/tests/viewer/nsWinMain.cpp
M mozilla/webshell/tests/viewer/unix/gtk/nsGtkMain.cpp
M mozilla/xpfe/appshell/src/nsFileLocations.cpp
M mozilla/xpfe/bootstrap/nsAppRunner.cpp

The heart of this checkin is a change in the signature and symantics
of NS_InitXPCOM.

The new signature is

extern NS_COM nsresult
NS_InitXPCOM(nsIServiceManager* *result, nsFileSpec* binDirectory);

I filed a bug for this problem:

b=23157

The original manifestation of this bug was in mozilla/netwerk/protocol/res/src/nsResProtocolHandler.cpp It used the current process directory to find resources, which is not correct when the current process is not mozilla.exe.

I have added a new type to nsSpecialSystemDirectory, Moz_BinDirectory, and made nsResProtocolHandler use that value.


git-svn-id: svn://10.0.0.236/trunk@56916 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-06 01:05:13 +00:00
tbogard%aol.net
5cc319a403 Changes to reflect changes made in XPCOM with respect to shutting down XPCOM. This is a test is not hooked to the code.
git-svn-id: svn://10.0.0.236/trunk@49215 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-28 17:55:02 +00:00
dp%netscape.com
103414ae51 Ability for XPCOM to use non-default component registry and component directory
git-svn-id: svn://10.0.0.236/trunk@47809 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-16 19:28:57 +00:00
tbogard%aol.net
d1dec18986 Ooops, forgot to give a little licensing love.
git-svn-id: svn://10.0.0.236/trunk@46381 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-08 19:44:51 +00:00
tbogard%aol.net
f76643487b Added a test file for testing the XP Event Loop. This is windows only.
git-svn-id: svn://10.0.0.236/trunk@46379 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-08 19:42:12 +00:00