equal
deleted
inserted
replaced
1 // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 1998-2010 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of "Eclipse Public License v1.0" |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
17 |
17 |
18 /** |
18 /** |
19 @file |
19 @file |
20 */ |
20 */ |
21 |
21 |
|
22 |
|
23 #include "OstTraceDefinitions.h" |
|
24 #ifdef OST_TRACE_COMPILER_IN_USE |
|
25 #include "smsuactTraces.h" |
|
26 #endif |
|
27 |
22 #include "smsuact.h" |
28 #include "smsuact.h" |
23 #include "SmsuTimer.h" |
29 #include "SmsuTimer.h" |
24 #include "smsstacklog.h" |
30 #include "smsstacklog.h" |
25 #include "smsumain.h" |
31 #include "smsumain.h" |
26 |
32 |
54 * This is required before use of TimedSetActive(). |
60 * This is required before use of TimedSetActive(). |
55 * @capability None |
61 * @capability None |
56 */ |
62 */ |
57 EXPORT_C void CSmsuActiveBase::ConstructTimeoutL() |
63 EXPORT_C void CSmsuActiveBase::ConstructTimeoutL() |
58 { |
64 { |
59 LOGSMSU1("CSmsuActiveBase::ConstructTimeoutL()"); |
65 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_CONSTRUCTTIMEOUTL_1, "CSmsuActiveBase::ConstructTimeoutL()"); |
60 |
66 |
61 iSmsuTimeout = CSmsuTimeout::NewL(*this); |
67 iSmsuTimeout = CSmsuTimeout::NewL(*this); |
62 } // CSmsuActiveBase::ConstructTimeoutL |
68 } // CSmsuActiveBase::ConstructTimeoutL |
63 |
69 |
64 |
70 |
68 * @param aTimeIntervalMicroSeconds32 Time after which to complete the object |
74 * @param aTimeIntervalMicroSeconds32 Time after which to complete the object |
69 * @capability None |
75 * @capability None |
70 */ |
76 */ |
71 EXPORT_C void CSmsuActiveBase::TimedSetActive(const TTimeIntervalMicroSeconds32& aTimeIntervalMicroSeconds32) |
77 EXPORT_C void CSmsuActiveBase::TimedSetActive(const TTimeIntervalMicroSeconds32& aTimeIntervalMicroSeconds32) |
72 { |
78 { |
73 LOGSMSU2("CSmsuActiveBase::TimedSetActive(): aTimeIntervalMicroSeconds32=%d", |
79 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_TIMEDSETACTIVE_1, "CSmsuActiveBase::TimedSetActive(): aTimeIntervalMicroSeconds32=%d",aTimeIntervalMicroSeconds32.Int()); |
74 aTimeIntervalMicroSeconds32.Int()); |
|
75 |
80 |
76 __ASSERT_DEBUG(iSmsuTimeout != NULL, SmsuPanic(ESmsuTimeoutNull)); |
81 __ASSERT_DEBUG(iSmsuTimeout != NULL, SmsuPanic(ESmsuTimeoutNull)); |
77 |
82 |
78 if (iSmsuTimeout != NULL) |
83 if (iSmsuTimeout != NULL) |
79 { |
84 { |
89 * |
94 * |
90 * @see TimedSetActive |
95 * @see TimedSetActive |
91 */ |
96 */ |
92 EXPORT_C void CSmsuActiveBase::TimedSetActiveCancel() |
97 EXPORT_C void CSmsuActiveBase::TimedSetActiveCancel() |
93 { |
98 { |
94 LOGSMSU1("CSmsuActiveBase::TimedSetActiveCancel()"); |
99 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_TIMEDSETACTIVECANCEL_1, "CSmsuActiveBase::TimedSetActiveCancel()"); |
95 |
100 |
96 if (iSmsuTimeout != NULL) |
101 if (iSmsuTimeout != NULL) |
97 { |
102 { |
98 iSmsuTimeout->Cancel(); |
103 iSmsuTimeout->Cancel(); |
99 } |
104 } |
105 * |
110 * |
106 * @see TimedSetActive |
111 * @see TimedSetActive |
107 */ |
112 */ |
108 EXPORT_C TBool CSmsuActiveBase::TimedOut() const |
113 EXPORT_C TBool CSmsuActiveBase::TimedOut() const |
109 { |
114 { |
110 LOGSMSU1("CSmsuActiveBase::TimedOut()"); |
115 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_TIMEDOUT_1, "CSmsuActiveBase::TimedOut()"); |
111 |
116 |
112 if (iSmsuTimeout != NULL) |
117 if (iSmsuTimeout != NULL) |
113 { |
118 { |
114 return iSmsuTimeout->TimedOut(); |
119 return iSmsuTimeout->TimedOut(); |
115 } |
120 } |
124 * @param aStatus Asynchronous status word of the observer |
129 * @param aStatus Asynchronous status word of the observer |
125 * @capability None |
130 * @capability None |
126 */ |
131 */ |
127 EXPORT_C void CSmsuActiveBase::Queue(TRequestStatus& aStatus) |
132 EXPORT_C void CSmsuActiveBase::Queue(TRequestStatus& aStatus) |
128 { |
133 { |
129 LOGSMSU1("CSmsuActiveBase::Queue()"); |
134 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_QUEUE_1, "CSmsuActiveBase::Queue()"); |
130 |
135 |
131 __ASSERT_DEBUG(iReport==NULL, SmsuPanic(ESmsuAlreadyActive)); |
136 __ASSERT_DEBUG(iReport==NULL, SmsuPanic(ESmsuAlreadyActive)); |
132 |
137 |
133 aStatus=KRequestPending; |
138 aStatus=KRequestPending; |
134 iReport=&aStatus; |
139 iReport=&aStatus; |
142 * is then called. If, after this, the object is not active, Complete() is called. |
147 * is then called. If, after this, the object is not active, Complete() is called. |
143 * @capability None |
148 * @capability None |
144 */ |
149 */ |
145 EXPORT_C void CSmsuActiveBase::RunL() |
150 EXPORT_C void CSmsuActiveBase::RunL() |
146 { |
151 { |
147 LOGSMSU1("CSmsuActiveBase::RunL()"); |
152 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_RUNL_1, "CSmsuActiveBase::RunL()"); |
148 |
153 |
149 if (iSmsuTimeout != NULL) |
154 if (iSmsuTimeout != NULL) |
150 { |
155 { |
151 iSmsuTimeout->Cancel(); |
156 iSmsuTimeout->Cancel(); |
152 } |
157 } |
172 * @param aStatus Active object status word |
177 * @param aStatus Active object status word |
173 * @capability None |
178 * @capability None |
174 */ |
179 */ |
175 EXPORT_C void CSmsuActiveBase::Complete(TInt aStatus) |
180 EXPORT_C void CSmsuActiveBase::Complete(TInt aStatus) |
176 { |
181 { |
177 LOGSMSU2("CSmsuActiveBase::Complete(): aStatus=%d", aStatus); |
182 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_COMPLETE_1, "CSmsuActiveBase::Complete(): aStatus=%d", aStatus); |
178 |
183 |
179 if (iReport) |
184 if (iReport) |
180 { |
185 { |
181 DoComplete(aStatus); |
186 DoComplete(aStatus); |
182 User::RequestComplete(iReport, aStatus); |
187 User::RequestComplete(iReport, aStatus); |
194 * @return KErrNone |
199 * @return KErrNone |
195 * @capability None |
200 * @capability None |
196 */ |
201 */ |
197 EXPORT_C TInt CSmsuActiveBase::RunError(TInt aError) |
202 EXPORT_C TInt CSmsuActiveBase::RunError(TInt aError) |
198 { |
203 { |
199 LOGSMSU2("CSmsuActiveBase::RunError(): aError=%d", aError); |
204 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_RUNERROR_1, "CSmsuActiveBase::RunError(): aError=%d", aError); |
200 |
205 |
201 __ASSERT_DEBUG(!IsActive(), User::Invariant()); |
206 __ASSERT_DEBUG(!IsActive(), User::Invariant()); |
202 |
207 |
203 Complete(aError); |
208 Complete(aError); |
204 |
209 |
215 */ |
220 */ |
216 EXPORT_C void CSmsuActiveBase::CompleteMyself(TInt aStatus, TBool aSetActive /* = ETrue */) |
221 EXPORT_C void CSmsuActiveBase::CompleteMyself(TInt aStatus, TBool aSetActive /* = ETrue */) |
217 { |
222 { |
218 // Ignore in code coverage - not used within the SMS stack. |
223 // Ignore in code coverage - not used within the SMS stack. |
219 BULLSEYE_OFF |
224 BULLSEYE_OFF |
220 LOGSMSU3("CSmsuActiveBase::CompleteMyself(): aStatus=%d, aSetActive=%d", |
225 OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_COMPLETEMYSELF_1, "CSmsuActiveBase::CompleteMyself(): aStatus=%d, aSetActive=%d",aStatus, aSetActive); |
221 aStatus, aSetActive); |
|
222 |
226 |
223 // Initialise iStatus with a pending request... |
227 // Initialise iStatus with a pending request... |
224 iStatus = KRequestPending; |
228 iStatus = KRequestPending; |
225 |
229 |
226 // Set active if required... |
230 // Set active if required... |
252 * |
256 * |
253 * @capability None |
257 * @capability None |
254 */ |
258 */ |
255 EXPORT_C void CSmsuActiveBase::CompleteMyselfAfterTimeout(TInt aStatus) |
259 EXPORT_C void CSmsuActiveBase::CompleteMyselfAfterTimeout(TInt aStatus) |
256 { |
260 { |
257 LOGSMSU2("CSmsuActiveBase::CompleteMyselfAfterTimeout(): aStatus=%d", aStatus); |
261 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_BORDER, CSMSUACTIVEBASE_COMPLETEMYSELFAFTERTIMEOUT_1, "CSmsuActiveBase::CompleteMyselfAfterTimeout(): aStatus=%d", aStatus); |
258 |
262 |
259 __ASSERT_DEBUG(iSmsuTimeout != NULL, SmsuPanic(ESmsuTimeoutNull)); |
263 __ASSERT_DEBUG(iSmsuTimeout != NULL, SmsuPanic(ESmsuTimeoutNull)); |
260 |
264 |
261 if (iSmsuTimeout != NULL && iSmsuTimeout->TimedOut()) |
265 if (iSmsuTimeout != NULL && iSmsuTimeout->TimedOut()) |
262 { |
266 { |