|
1 /* |
|
2 * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 |
|
20 #if (!defined __TEST_ECOM_INTERFACE2_H__) |
|
21 #define __TEST_ECOM_INTERFACE2_H__ |
|
22 |
|
23 #include "TestEComInterface.h" |
|
24 |
|
25 #define CTestEComInterface2_UID 0x20003724 |
|
26 |
|
27 // ____________________________________________________________________________ |
|
28 // |
|
29 /** |
|
30 @internalComponent |
|
31 Intended usage: This class implements the functionality promised by |
|
32 the CTestEComInterface defintion class. It does little apart from provides a test instance |
|
33 which may be retrieved and run for testing purposes. |
|
34 Its resolution is based upon its registered default data string. |
|
35 @since 7.0 |
|
36 */ |
|
37 class CTestEComInterface2 : public CTestEComInterface |
|
38 { |
|
39 // Methods |
|
40 public: |
|
41 /** |
|
42 @fn NewL(TAny* aInitParams) |
|
43 Intended Usage : Standardised safe construction which leaves nothing the cleanup stack. |
|
44 Error Condition : Leaves with error code. |
|
45 @leave KErrNoMemory. |
|
46 @since 7.0 |
|
47 @return CTestEComInterface2* The class instance. |
|
48 @pre None |
|
49 @post CTestEComInterface2 has been constructed, |
|
50 and initialised. |
|
51 */ |
|
52 static CTestEComInterface2* NewL(); |
|
53 |
|
54 /** |
|
55 @fn ~CTestEComInterface2() |
|
56 Intended Usage : Default Destructor |
|
57 Error Condition : None |
|
58 @since 7.0 |
|
59 @pre CTestEComInterface2 has been constructed |
|
60 @post CTestEComInterface2 has been completely destroyed. |
|
61 */ |
|
62 virtual ~CTestEComInterface2(); |
|
63 |
|
64 /** |
|
65 @fn DoMethod1L() |
|
66 Intended Usage : Overload of the pure interface method |
|
67 Representative of a method provided on |
|
68 the interface by the interface definer. |
|
69 Error Condition : Leaves with an error code. |
|
70 @leave KErrNoMemory, KErrNotSupported. |
|
71 @since 7.0 |
|
72 @return None |
|
73 @pre CTestEComInterface2 has been constructed |
|
74 @post Unspecified |
|
75 */ |
|
76 void DoMethod1L(); |
|
77 |
|
78 /** |
|
79 @fn DoMethod2L() |
|
80 Intended Usage : Overload of the pure interface method |
|
81 Representative of a method provided on |
|
82 the interface by the interface definer. |
|
83 Error Condition : Leaves with an error code. |
|
84 @leave KErrNoMemory, KErrNotSupported. |
|
85 @since 7.0 |
|
86 @return Number of calls to DoMethod1L() |
|
87 @pre CTestEComInterfaceImplementation1 has been constructed |
|
88 @post Unspecified |
|
89 */ |
|
90 TInt DoMethod2L(); |
|
91 |
|
92 private: |
|
93 /** |
|
94 @fn CTestEComInterface2() |
|
95 Intended Usage : Default Constructor : usable only by derived classes |
|
96 Error Condition : None |
|
97 @since 7.0 |
|
98 @pre None |
|
99 @post CTestEComInterface2 has been constructed |
|
100 */ |
|
101 CTestEComInterface2(); |
|
102 |
|
103 /** |
|
104 @fn ConstructL(TAny* aInitParams) |
|
105 Intended Usage : Completes the safe construction of the CTestEComInterface2 object |
|
106 Error Condition : Leaves with the error code. |
|
107 @leave KErrNoMemory. |
|
108 @since 7.0 |
|
109 @pre CTestEComInterface2 has been constructed |
|
110 @post CTestEComInterface2 has been fully initialised. |
|
111 */ |
|
112 void ConstructL(); |
|
113 |
|
114 private: |
|
115 TInt iDoMethodL1Calls; |
|
116 }; // End of CTestEComInterface2 definition |
|
117 #endif /* __TEST_ECOM_INTERFACE2_H__ */ |