diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/ecom/implementationproxy.h --- a/epoc32/include/ecom/implementationproxy.h Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/ecom/implementationproxy.h Wed Mar 31 12:33:34 2010 +0100 @@ -1,9 +1,9 @@ // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// at the URL "http://www.eclipse.org/legal/epl-v10.html". // // Initial Contributors: // Nokia Corporation - initial contribution. @@ -11,46 +11,52 @@ // Contributors: // // Description: -// This file contains the definition for the -// TImplementationProxy structure. +// This file contains the definition for the TImplementationProxy structure. // // - +/** + @file + @publishedAll + @released +*/ #ifndef __IMPLEMENTATIONPROXY_H__ #define __IMPLEMENTATIONPROXY_H__ +// ____________________________________________________________________________ +// INCLUDES + + #include + +// ____________________________________________________________________________ +// TYPES - TImplementationProxy + /** Pre-defined function pointer type used in TImplementationProxy - -@publishedAll -@released +@leave KErrNoMemory +@leave Or any of the System Wide error codes +@return TAny* A pointer to the instantiated interface implementation. */ typedef TAny* (*TFuncPtr)(); /** Typedef used to cover the difference between EABI and older handling of the instantiation method pointer. +*/ +#if defined(__EABI__) || defined(__GCCXML__) || defined(__X86GCC__) || defined(__GCCE__) + typedef TFuncPtr TProxyNewLPtr; +#else + typedef TAny* TProxyNewLPtr; +#endif -@publishedAll -@released -*/ -#if defined(__EABI__) || defined(__GCCXML__) -typedef TFuncPtr TProxyNewLPtr; -#else -typedef TAny* TProxyNewLPtr; -#endif /** The structure that defines the pairing required by the ECOM framework to correctly identify the instantiation method pointer to provide to a client's resolution request. - -@publishedAll -@released */ typedef struct { @@ -59,14 +65,16 @@ /** The pointer to the instantiation method for the Interface Implementation identified by the UID.*/ TProxyNewLPtr iNewLFuncPtr; } TImplementationProxy; - + /** Macro to initialise an element of a static array of TImplementationProxy objects. This macro deals with casting the function pointer to the type used in the structure. - -@publishedAll -@released */ #define IMPLEMENTATION_PROXY_ENTRY(aUid, aFuncPtr) {{aUid},(TProxyNewLPtr)(aFuncPtr)} +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#endif + + #endif // __IMPLEMENTATIONPROXY_H__