XPCOM: Addref() and Release() definition fixed.

This commit is contained in:
dp%netscape.com 1999-05-04 18:45:07 +00:00
Родитель 708befd9dd
Коммит ba8bb8083d
7 изменённых файлов: 4 добавлений и 672 удалений

Просмотреть файл

@ -73,25 +73,10 @@ nsAppCoresManagerFactory::QueryInterface(REFNSIID aIID,void** aInstancePtr)
NS_IMETHODIMP
nsAppCoresManagerFactory::AddRef(void)
{
return ++mRefCnt;
}
NS_IMPL_ADDREF(nsAppCoresManagerFactory)
NS_IMPL_RELEASE(nsAppCoresManagerFactory)
NS_IMETHODIMP
nsAppCoresManagerFactory::Release(void)
{
if (--mRefCnt ==0)
{
delete this;
return 0; // Don't access mRefCnt after deleting!
}
return mRefCnt;
}
NS_IMETHODIMP
nsAppCoresManagerFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{

Просмотреть файл

@ -1,131 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nsAppCores.h"
#include "nsBrowserAppCoreFactory.h"
#include "nsBrowserAppCore.h"
#include "pratom.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
/////////////////////////////////////////////////////////////////////////
// nsBrowserAppCoreFactory
/////////////////////////////////////////////////////////////////////////
nsBrowserAppCoreFactory::nsBrowserAppCoreFactory(void)
{
mRefCnt=0;
IncInstanceCount();
}
nsBrowserAppCoreFactory::~nsBrowserAppCoreFactory(void)
{
DecInstanceCount();
}
NS_IMETHODIMP
nsBrowserAppCoreFactory::QueryInterface(REFNSIID aIID,void** aInstancePtr)
{
if (aInstancePtr == NULL)
{
return NS_ERROR_NULL_POINTER;
}
// Always NULL result, in case of failure
*aInstancePtr = NULL;
if ( aIID.Equals(kISupportsIID) )
{
*aInstancePtr = (void*) this;
}
else if ( aIID.Equals(kIFactoryIID) )
{
*aInstancePtr = (void*) this;
}
if (aInstancePtr == NULL)
{
return NS_ERROR_NO_INTERFACE;
}
AddRef();
return NS_OK;
}
NS_IMETHODIMP
nsBrowserAppCoreFactory::AddRef(void)
{
return ++mRefCnt;
}
NS_IMETHODIMP
nsBrowserAppCoreFactory::Release(void)
{
if (--mRefCnt ==0)
{
delete this;
return 0; // Don't access mRefCnt after deleting!
}
return mRefCnt;
}
NS_IMETHODIMP
nsBrowserAppCoreFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aResult == NULL)
{
return NS_ERROR_NULL_POINTER;
}
*aResult = NULL;
/* do I have to use iSupports? */
nsBrowserAppCore *inst = new nsBrowserAppCore();
if (inst == NULL)
return NS_ERROR_OUT_OF_MEMORY;
nsresult result = inst->QueryInterface(aIID, aResult);
if (result != NS_OK)
delete inst;
return result;
}
NS_IMETHODIMP
nsBrowserAppCoreFactory::LockFactory(PRBool aLock)
{
if (aLock)
IncLockCount();
else
DecLockCount();
return NS_OK;
}

Просмотреть файл

@ -1,114 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nsDOMPropsCore.h"
#include "nsDOMPropsCoreFactory.h"
//#include "pratom.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
/////////////////////////////////////////////////////////////////////////
// nsDOMPropsCoreFactory
/////////////////////////////////////////////////////////////////////////
nsDOMPropsCoreFactory::nsDOMPropsCoreFactory(void) {
fprintf(stderr,"nsDOMPropsCoreFactory::nsDOMPropsCoreFactory\n");
mRefCnt = 0;
IncInstanceCount();
}
nsDOMPropsCoreFactory::~nsDOMPropsCoreFactory(void) {
DecInstanceCount();
}
NS_IMETHODIMP
nsDOMPropsCoreFactory::QueryInterface(REFNSIID aIID, void** aInstancePtr) {
if (aInstancePtr == NULL)
return NS_ERROR_NULL_POINTER;
*aInstancePtr = NULL;
if (aIID.Equals(kISupportsIID))
*aInstancePtr = (void*) this;
else if (aIID.Equals(kIFactoryIID))
*aInstancePtr = (void*) this;
if (*aInstancePtr == NULL)
return NS_ERROR_NO_INTERFACE;
AddRef();
return NS_OK;
}
NS_IMETHODIMP
nsDOMPropsCoreFactory::AddRef(void) {
return ++mRefCnt;
}
NS_IMETHODIMP
nsDOMPropsCoreFactory::Release(void) {
if (--mRefCnt == 0) {
delete this;
return 0;
}
return mRefCnt;
}
NS_IMETHODIMP
nsDOMPropsCoreFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult) {
if (aResult == NULL)
return NS_ERROR_NULL_POINTER;
*aResult = NULL;
nsDOMPropsCore *inst = new nsDOMPropsCore();
if (inst == NULL)
return NS_ERROR_OUT_OF_MEMORY;
nsresult result = inst->QueryInterface(aIID, aResult);
if (result != NS_OK)
delete inst;
return result;
}
NS_IMETHODIMP
nsDOMPropsCoreFactory::LockFactory(PRBool aLock) {
if (aLock)
IncLockCount();
else
DecLockCount();
return NS_OK;
}

Просмотреть файл

@ -1,131 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nsAppCores.h"
#include "nsEditorAppCoreFactory.h"
#include "nsEditorAppCore.h"
#include "pratom.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
/////////////////////////////////////////////////////////////////////////
// nsEditorAppCoreFactory
/////////////////////////////////////////////////////////////////////////
nsEditorAppCoreFactory::nsEditorAppCoreFactory(void)
{
mRefCnt=0;
IncInstanceCount();
}
nsEditorAppCoreFactory::~nsEditorAppCoreFactory(void)
{
DecInstanceCount();
}
NS_IMETHODIMP
nsEditorAppCoreFactory::QueryInterface(REFNSIID aIID,void** aInstancePtr)
{
if (aInstancePtr == NULL)
{
return NS_ERROR_NULL_POINTER;
}
// Always NULL result, in case of failure
*aInstancePtr = NULL;
if ( aIID.Equals(kISupportsIID) )
{
*aInstancePtr = (void*) this;
}
else if ( aIID.Equals(kIFactoryIID) )
{
*aInstancePtr = (void*) this;
}
if (aInstancePtr == NULL)
{
return NS_ERROR_NO_INTERFACE;
}
AddRef();
return NS_OK;
}
NS_IMETHODIMP
nsEditorAppCoreFactory::AddRef(void)
{
return ++mRefCnt;
}
NS_IMETHODIMP
nsEditorAppCoreFactory::Release(void)
{
if (--mRefCnt ==0)
{
delete this;
return 0; // Don't access mRefCnt after deleting!
}
return mRefCnt;
}
NS_IMETHODIMP
nsEditorAppCoreFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aResult == NULL)
{
return NS_ERROR_NULL_POINTER;
}
*aResult = NULL;
/* do I have to use iSupports? */
nsEditorAppCore *inst = new nsEditorAppCore();
if (inst == NULL)
return NS_ERROR_OUT_OF_MEMORY;
nsresult result = inst->QueryInterface(aIID, aResult);
if (result != NS_OK)
delete inst;
return result;
}
NS_IMETHODIMP
nsEditorAppCoreFactory::LockFactory(PRBool aLock)
{
if (aLock)
IncLockCount();
else
DecLockCount();
return NS_OK;
}

Просмотреть файл

@ -1,131 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nsAppCores.h"
#include "nsRDFCoreFactory.h"
#include "nsRDFCore.h"
#include "pratom.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
/////////////////////////////////////////////////////////////////////////
// nsRDFCoreFactory
/////////////////////////////////////////////////////////////////////////
nsRDFCoreFactory::nsRDFCoreFactory(void)
{
mRefCnt=0;
IncInstanceCount();
}
nsRDFCoreFactory::~nsRDFCoreFactory(void)
{
DecInstanceCount();
}
NS_IMETHODIMP
nsRDFCoreFactory::QueryInterface(REFNSIID aIID,void** aInstancePtr)
{
if (aInstancePtr == NULL)
{
return NS_ERROR_NULL_POINTER;
}
// Always NULL result, in case of failure
*aInstancePtr = NULL;
if ( aIID.Equals(kISupportsIID) )
{
*aInstancePtr = (void*) this;
}
else if ( aIID.Equals(kIFactoryIID) )
{
*aInstancePtr = (void*) this;
}
if (aInstancePtr == NULL)
{
return NS_ERROR_NO_INTERFACE;
}
AddRef();
return NS_OK;
}
NS_IMETHODIMP
nsRDFCoreFactory::AddRef(void)
{
return ++mRefCnt;
}
NS_IMETHODIMP
nsRDFCoreFactory::Release(void)
{
if (--mRefCnt ==0)
{
// delete this;
return 0; // Don't access mRefCnt after deleting!
}
return mRefCnt;
}
NS_IMETHODIMP
nsRDFCoreFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aResult == NULL)
{
return NS_ERROR_NULL_POINTER;
}
*aResult = NULL;
/* do I have to use iSupports? */
nsRDFCore *inst = new nsRDFCore();
if (inst == NULL)
return NS_ERROR_OUT_OF_MEMORY;
nsresult result = inst->QueryInterface(aIID, aResult);
if (result != NS_OK)
delete inst;
return result;
}
NS_IMETHODIMP
nsRDFCoreFactory::LockFactory(PRBool aLock)
{
if (aLock)
IncLockCount();
else
DecLockCount();
return NS_OK;
}

Просмотреть файл

@ -1,131 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are Copyright (C) 1998
* Netscape Communications Corporation. All Rights Reserved.
*/
#include "nsAppCores.h"
#include "nsToolbarCoreFactory.h"
#include "nsToolbarCore.h"
#include "pratom.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
/////////////////////////////////////////////////////////////////////////
// nsToolbarCoreFactory
/////////////////////////////////////////////////////////////////////////
nsToolbarCoreFactory::nsToolbarCoreFactory(void)
{
mRefCnt=0;
IncInstanceCount();
}
nsToolbarCoreFactory::~nsToolbarCoreFactory(void)
{
DecInstanceCount();
}
NS_IMETHODIMP
nsToolbarCoreFactory::QueryInterface(REFNSIID aIID,void** aInstancePtr)
{
if (aInstancePtr == NULL)
{
return NS_ERROR_NULL_POINTER;
}
// Always NULL result, in case of failure
*aInstancePtr = NULL;
if ( aIID.Equals(kISupportsIID) )
{
*aInstancePtr = (void*) this;
}
else if ( aIID.Equals(kIFactoryIID) )
{
*aInstancePtr = (void*) this;
}
if (aInstancePtr == NULL)
{
return NS_ERROR_NO_INTERFACE;
}
AddRef();
return NS_OK;
}
NS_IMETHODIMP
nsToolbarCoreFactory::AddRef(void)
{
return ++mRefCnt;
}
NS_IMETHODIMP
nsToolbarCoreFactory::Release(void)
{
if (--mRefCnt ==0)
{
delete this;
return 0; // Don't access mRefCnt after deleting!
}
return mRefCnt;
}
NS_IMETHODIMP
nsToolbarCoreFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
if (aResult == NULL)
{
return NS_ERROR_NULL_POINTER;
}
*aResult = NULL;
/* do I have to use iSupports? */
nsToolbarCore *inst = new nsToolbarCore();
if (inst == NULL)
return NS_ERROR_OUT_OF_MEMORY;
nsresult result = inst->QueryInterface(aIID, aResult);
if (result != NS_OK)
delete inst;
return result;
}
NS_IMETHODIMP
nsToolbarCoreFactory::LockFactory(PRBool aLock)
{
if (aLock)
IncLockCount();
else
DecLockCount();
return NS_OK;
}

Просмотреть файл

@ -63,23 +63,8 @@ nsToolkitCoreFactory::QueryInterface(REFNSIID aIID, void** aInstancePtr) {
NS_IMETHODIMP
nsToolkitCoreFactory::AddRef(void) {
return ++mRefCnt;
}
NS_IMETHODIMP
nsToolkitCoreFactory::Release(void) {
if (--mRefCnt == 0) {
delete this;
return 0;
}
return mRefCnt;
}
NS_IMPL_ADDREF(nsToolkitCoreFactory)
NS_IMPL_RELEASE(nsToolkitCoreFactory)
NS_IMETHODIMP
nsToolkitCoreFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void **aResult) {