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