diff -r 000000000000 -r dfb7c4ff071f commsfwsupport/commselements/NetInterfaces/inc/InterfaceTable.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwsupport/commselements/NetInterfaces/inc/InterfaceTable.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,79 @@ +// Copyright (c) 2007-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: +// + +/** + @file + @publishedPartner + @released +*/ + +#ifndef SYMBIAN_INTERFACETABLE_H +#define SYMBIAN_INTERFACETABLE_H + +#include + +/** +Helper macros. +Not intended to be used directly but only via helper macros (like IMPLEMENTERBASE_x) defined below. + +@publishedPartner +@released +*/ + +#define ITFHIERARCHY_1(TCLIENT,TIF1) NetInterfaces::TIfStaticFetcher,TCLIENT,TIF1> +#define ITFHIERARCHY_2(TCLIENT,TIF1,TIF2) NetInterfaces::TIfStaticFetcher +#define ITFHIERARCHY_3(TCLIENT,TIF1,TIF2,TIF3) NetInterfaces::TIfStaticFetcher +#define ITFHIERARCHY_4(TCLIENT,TIF1,TIF2,TIF3,TIF4) NetInterfaces::TIfStaticFetcher +//and so on if needed at all + +#define ITFHIERARCHY_LINK_1(TCLIENT,TLINK,TIF1) NetInterfaces::TIfStaticFetcherLinkBase +#define ITFHIERARCHY_LINK_2(TCLIENT,TLINK,TIF1,TIF2) NetInterfaces::TIfStaticFetcher +#define ITFHIERARCHY_LINK_3(TCLIENT,TLINK,TIF1,TIF2,TIF3) NetInterfaces::TIfStaticFetcher +#define ITFHIERARCHY_LINK_4(TCLIENT,TLINK,TIF1,TIF2,TIF3,TIF4) NetInterfaces::TIfStaticFetcher +#define ITFHIERARCHY_LINK_5(TCLIENT,TLINK,TIF1,TIF2,TIF3,TIF4,TIF5) NetInterfaces::TIfStaticFetcher + +//and so on if needed at all + + +/** +Helper macros usage example. + +Used by the implementer. An example usage has been ilustrated below: + +NONSHARABLE_CLASS(CIPNetworkConnectionProvider) : public CConnectionProviderBase, public MConnectionControlClient, public AMobilityProtocolReq, public AAvailabilityProtocolReq, + ITFHIERARCHY_2(CIPNetworkConnectionProvider,MMobilityProtocolReq,MAvailabilityProtocolReq) + { +public: + typedef ITFHIERARCHY_2(CIPNetworkConnectionProvider,MMobilityProtocolReq,MAvailabilityProtocolReq) TIfStaticFetcherNearestInHierarchy; + +protected: + CIPNetworkConnectionProvider(CConnectionProviderFactoryBase& aFactory) : + CConnectionProviderBase(aFactory), + TIfStaticFetcherNearestInHierarchy(this) + { + } + ... +public: + void ReturnInterfacePtrL(MMobilityProtocolReq*& aInterface); + void ReturnInterfacePtrL(MAvailabilityProtocolReq*& aInterface); + ... + }; +*/ + +#endif + //SYMBIAN_INTERFACETABLE_H + + +