sl@0: /* sl@0: * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: #if defined (_MSC_VER) && (_MSC_VER >= 1000) sl@0: #pragma once sl@0: #endif sl@0: #if (!defined __TEST_ECOM_INTERFACE_H__) sl@0: #define __TEST_ECOM_INTERFACE_H__ sl@0: sl@0: #include sl@0: #include sl@0: sl@0: #define CTestEComInterface_UID 0x2000371E sl@0: sl@0: sl@0: class CTestEComInterface : public CBase sl@0: { sl@0: /** sl@0: @internalComponent sl@0: CTestEComInterface which is an example abstract class being representative sl@0: of the concrete class which the client wishes to use. sl@0: It acts as a base, for a real class to provide all the sl@0: functionality that a client requires. sl@0: It supplies instantiation & destruction by using sl@0: the ECom framework, and functional services sl@0: by using the methods of the actual class. sl@0: */ sl@0: public: sl@0: //The function which instantiates an object of this type sl@0: //using aUid as a resolution parameter. sl@0: //(eg NewL for a CBase derived object). sl@0: static CTestEComInterface* NewL(const TUid aUid); sl@0: sl@0: //Standardised destructor. sl@0: virtual ~CTestEComInterface(); sl@0: sl@0: //Pure interface method sl@0: //Representative of a method provided on the interface by sl@0: //the interface definer. sl@0: virtual void DoMethod1L() = 0; sl@0: sl@0: //Pure interface method sl@0: //Representative of a method provided on the interface by sl@0: //the interface definer. sl@0: virtual TInt DoMethod2L() = 0; sl@0: sl@0: protected: sl@0: //Default constructor sl@0: inline CTestEComInterface(); sl@0: sl@0: //Attributes sl@0: public: sl@0: TUid iDtor_ID_Key; sl@0: }; sl@0: sl@0: #include "TestEComInterface.inl" sl@0: sl@0: #endif /* __TEST_ECOM_INTERFACE_H__ */