00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef _CEXAMPLEINTERFACE__
00017 #define _CEXAMPLEINTERFACE__
00018
00019 #include <e32base.h>
00020 #include <ecom.h>
00021 #include <badesca.h>
00022
00023
00024 const TUid KCExampleInterfaceUid = {0x10009DC0};
00025
00036 class CExampleInterface : public CBase
00037 {
00038 public:
00039
00040
00041 struct TExampleInterfaceInitParams
00042 {
00043 TInt integer;
00044 const TDesC* descriptor;
00045 };
00046
00047
00048 static CExampleInterface* NewL();
00049
00050
00051
00052 static CExampleInterface* NewL(const TDesC8& aMatchString);
00053
00054
00055
00056
00057 static CExampleInterface* NewL(const TDesC8& aMatchString, TExampleInterfaceInitParams& aParams);
00058
00059
00060 virtual ~CExampleInterface();
00061
00062
00063
00064 static void ListAllImplementationsL(RImplInfoPtrArray& aImplInfoArray);
00065
00066
00067
00068
00069 virtual void DoMethodL(TDes& aString) = 0;
00070
00071 protected:
00072
00073 inline CExampleInterface();
00074
00075 private:
00076
00077 TUid iDtor_ID_Key;
00078 };
00079
00080 #include "interface.inl"
00081
00082 #endif
00083