diff -r 000000000000 -r e4d67989cc36 lowlevellibsandfws/pluginfw/Framework/inc/ecompanics.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lowlevellibsandfws/pluginfw/Framework/inc/ecompanics.h Tue Feb 02 02:01:42 2010 +0200 @@ -0,0 +1,110 @@ +// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#ifndef ECOMPANICS_H +#define ECOMPANICS_H + +/** +The following enumaration defines the ECOM panic codes used in the ecom.dll and +ecomserver.exe binaries. They are provided for debug purposes only to help +diagnose problems. +Server panics have the category - "ECOMServer" and client DLL panics have the +category - "ECOMClientDLL". ECOM will log a message to RDebug::Print prior to +panics to give further information. +@internalComponent +*/ +enum TEComPanic +{ + EEComPanicUndefined = 0, + + //------------------------------------------------------------------------ + + EEComPanicClientDllBase = -16900, + + /** ECOM API used before when there is no open session to ECOM Server. + Raised on: UREL & UDEB builds */ + EEComPanic_LibraryNotInitialised = -16900, + + /** Plug-in implementation claims to support an extended object that + requires allocation/deallocation but supplies no release function. + Raised on: UDEB builds */ + EEComPanic_CInstanceInfoExtended_CreateExtObjectL_NoReleaseFunc = -16901, + + /** Plug-in implementation claims to support an extended object that + requires allocation/deallocation but failed to supply a release object. + Raised on: UDEB builds */ + EEComPanic_CInstanceInfoExtended_CreateExtObjectL_NoReleaseObj = -16902, + + /** Plug-in implementation claims to support an extended object that + requires allocation/deallocation but failed to supply a release object. + Raised on: UDEB builds */ + EEComPanic_CInstanceInfoExtended_DestroyExtObject_NoReleaseObj = -16903, + + /** Client supplied an implementation instance key which is not known to + the ECOM API i.e. it was not returned from a previous call. + Raised on: UDEB builds */ + EEComPanic_InvalidImplementationInstanceKey = -16904, + + EEComPanicClientDllEnd = -16949, + + //------------------------------------------------------------------------ + + EEComPanicServerBase = -16950, + + /** Fatal leave occurred in the CServerStartupMgr class during startup + Raised on: UREL & UDEB builds */ + EEComPanic_CServerStartupMgr_RunError = -16950, + + /** Fatal leave occurred in the CServerStartupMgr class during + plug-in (re)scanning and registration. e.g. Out of memory + Raised on: UREL & UDEB builds */ + EEComPanic_CDiscoverer_CIdleScanningTimer_RunError = -16951, + + /** Fatal leave occurred in the CIdleScanningTimer class during + plug-in (re)scanning and registration. e.g. Out of memory + Raised on: UREL & UDEB builds */ + EEComPanic_CDiscoverer_CDirChangeNotifier_RunError = -16952, + + /** Input stream used to construct CImplementationInformation has + duplicate extended interfaces UIDs. + Raised on: UDEB builds */ + EEComPanic_CImlpementationInfromation_DuplicateExIf = -16953, + + /** Plug-in resource file contains duplciate extended interface UIDs. + Raised on: UDEB builds */ + EEComPanic_CParseImplementationDataFormatVersion3_DuplicateExIf = -16954, + + /** Server invariant test. CDllData object previously found in the registry + was found to be missing during an update operation following a re-scan. + Raised on: UDEB builds */ + EEComPanic_CRegistryData_UpdateDllDataL_DllRegistrationMissing = -16955, + + EEComPanicServerEnd = -16999 + + //------------------------------------------------------------------------ +}; + +// ____________________________________________________________________________ +// FUNCTIONS + +/** +Function for clean up RExtendedInterfaceArray when leave occurs +@internalComponent +*/ +extern void CloseAndDeleteArray(TAny* aPtr); + + + +#endif // ECOMPANICS_H