Backing out last changes since warren has the new ones.

git-svn-id: svn://10.0.0.236/trunk@65836 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
gagan%netscape.com
2000-04-13 19:50:43 +00:00
parent e6b10505d0
commit 6d14b4f30d

View File

@@ -41,14 +41,6 @@
#include "nsXPIDLString.h"
#include "prio.h" // for read/write flags, permissions, etc.
// Helper, to simplify getting the I/O service.
inline const nsGetServiceByCID
do_GetIOService(nsresult* error = 0)
{
static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID);
return nsGetServiceByCID(kIOServiceCID, 0, error);
}
inline nsresult
NS_NewURI(nsIURI* *result,
const char* spec,
@@ -57,13 +49,20 @@ NS_NewURI(nsIURI* *result,
{
nsresult rv;
nsCOMPtr<nsIIOService> serv = ioService;
if (serv.get() == nsnull) {
serv = do_GetIOService(&rv);
nsIIOService* serv = ioService;
static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID);
if (serv == nsnull) {
rv = nsServiceManager::GetService(kIOServiceCID, NS_GET_IID(nsIIOService),
(nsISupports**)&serv);
if (NS_FAILED(rv)) return rv;
}
return serv->NewURI(spec, baseURI, result);
rv = serv->NewURI(spec, baseURI, result);
if (ioService == nsnull) {
(void)nsServiceManager::ReleaseService(kIOServiceCID, serv);
}
return rv;
}
inline nsresult
@@ -92,9 +91,11 @@ NS_OpenURI(nsIChannel* *result,
{
nsresult rv;
nsCOMPtr<nsIIOService> serv = ioService;
if (serv.get() == nsnull) {
serv = do_GetIOService(&rv);
nsIIOService* serv = ioService;
static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID);
if (serv == nsnull) {
rv = nsServiceManager::GetService(kIOServiceCID, NS_GET_IID(nsIIOService),
(nsISupports**)&serv);
if (NS_FAILED(rv)) return rv;
}
@@ -123,6 +124,10 @@ NS_OpenURI(nsIChannel* *result,
if (NS_FAILED(rv)) return rv;
}
if (ioService == nsnull) {
(void)nsServiceManager::ReleaseService(kIOServiceCID, serv);
}
*result = channel;
return rv;
}
@@ -194,9 +199,11 @@ NS_MakeAbsoluteURI(char* *result,
if (spec == nsnull)
return baseURI->GetSpec(result);
nsCOMPtr<nsIIOService> serv = ioService;
if (serv.get() == nsnull) {
serv = do_GetIOService(&rv);
nsIIOService* serv = ioService;
static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID);
if (serv == nsnull) {
rv = nsServiceManager::GetService(kIOServiceCID, NS_GET_IID(nsIIOService),
(nsISupports**)&serv);
if (NS_FAILED(rv)) return rv;
}
@@ -211,6 +218,9 @@ NS_MakeAbsoluteURI(char* *result,
rv = baseURI->Resolve(spec, result);
}
if (ioService == nsnull) {
(void)nsServiceManager::ReleaseService(kIOServiceCID, serv);
}
return rv;
}
@@ -243,15 +253,21 @@ NS_NewPostDataStream(nsIInputStream **result,
{
nsresult rv;
nsCOMPtr<nsIIOService> serv = ioService;
if (serv.get() == nsnull) {
serv = do_GetIOService(&rv);
nsIIOService* serv = ioService;
static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID);
if (serv == nsnull) {
rv = nsServiceManager::GetService(kIOServiceCID, NS_GET_IID(nsIIOService),
(nsISupports**)&serv);
if (NS_FAILED(rv)) return rv;
}
nsCOMPtr<nsIProtocolHandler> handler;
rv = serv->GetProtocolHandler("http", getter_AddRefs(handler));
if (ioService == nsnull) {
(void)nsServiceManager::ReleaseService(kIOServiceCID, serv);
}
if (NS_FAILED(rv)) return rv;
nsCOMPtr<nsIHTTPProtocolHandler> http = do_QueryInterface(handler, &rv);