00001 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). 00002 // All rights reserved. 00003 // This component and the accompanying materials are made available 00004 // under the terms of "Eclipse Public License v1.0" 00005 // which accompanies this distribution, and is available 00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html". 00007 // 00008 // Initial Contributors: 00009 // Nokia Corporation - initial contribution. 00010 // 00011 // Contributors: 00012 // 00013 // Description: 00014 // 00015 00016 #ifndef _CEXAMPLEINTERFACE__ 00017 #define _CEXAMPLEINTERFACE__ 00018 00019 #include <e32base.h> 00020 #include <ecom.h> 00021 #include <badesca.h> 00022 00023 // UID of this interface 00024 const TUid KCExampleInterfaceUid = {0x10009DC0}; 00025 00036 class CExampleInterface : public CBase 00037 { 00038 public: 00039 // The interface for passing initialisation parameters 00040 // to the derived class constructor. 00041 struct TExampleInterfaceInitParams 00042 { 00043 TInt integer; 00044 const TDesC* descriptor; 00045 }; 00046 00047 // Instantiates an object of this type 00048 static CExampleInterface* NewL(); 00049 00050 // Instantiates an object of this type 00051 // using the aMatchString as the resolver parameters. 00052 static CExampleInterface* NewL(const TDesC8& aMatchString); 00053 00054 // Instantiates an object of this type 00055 // using the aMatchString as the resolver parameters 00056 // and passing the aParams parameters 00057 static CExampleInterface* NewL(const TDesC8& aMatchString, TExampleInterfaceInitParams& aParams); 00058 00059 // Destructor. 00060 virtual ~CExampleInterface(); 00061 00062 // Request a list of all available implementations which 00063 // satisfy this given interface. 00064 static void ListAllImplementationsL(RImplInfoPtrArray& aImplInfoArray); 00065 00066 // Pure interface method 00067 // Representative of a method provided on the interface by 00068 // the interface definer. 00069 virtual void DoMethodL(TDes& aString) = 0; 00070 00071 protected: 00072 //Default c'tor 00073 inline CExampleInterface(); 00074 00075 private: 00076 // Unique instance identifier key 00077 TUid iDtor_ID_Key; 00078 }; 00079 00080 #include "interface.inl" 00081 00082 #endif 00083
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.