1 // Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 1999-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". |
72 * |
66 * |
73 * @return a newly created CSmsMonitorDiskSpace object. |
67 * @return a newly created CSmsMonitorDiskSpace object. |
74 */ |
68 */ |
75 CSmsMonitorDiskSpace* CSmsMonitorDiskSpace::NewL(MSmsComm& aSmsComm, RMobileSmsMessaging& aSmsMessaging,RFs& aFs) |
69 CSmsMonitorDiskSpace* CSmsMonitorDiskSpace::NewL(MSmsComm& aSmsComm, RMobileSmsMessaging& aSmsMessaging,RFs& aFs) |
76 { |
70 { |
77 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMONITORDISKSPACE_NEWL_1, "CSmsMonitorDiskSpace::NewL()"); |
71 LOGSMSPROT1("CSmsMonitorDiskSpace::NewL()"); |
78 |
72 |
79 CSmsMonitorDiskSpace* self = new(ELeave) CSmsMonitorDiskSpace(aSmsComm, aSmsMessaging, aFs); |
73 CSmsMonitorDiskSpace* self = new(ELeave) CSmsMonitorDiskSpace(aSmsComm, aSmsMessaging, aFs); |
80 CleanupStack::PushL(self); |
74 CleanupStack::PushL(self); |
81 self->ConstructL(); |
75 self->ConstructL(); |
82 CleanupStack::Pop(); |
76 CleanupStack::Pop(); |
161 #endif |
155 #endif |
162 |
156 |
163 // |
157 // |
164 // Log the filename in use and whether it is ROM based... |
158 // Log the filename in use and whether it is ROM based... |
165 // |
159 // |
166 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMONITORDISKSPACE_CONSTRUCTL_1, "CSmsMonitorDiskSpace::ConstructL(): fileName=\"%S\"", fileName); |
160 #ifdef _SMS_LOGGING_ENABLED |
167 |
161 TBuf8<KMaxFileName> buf8; |
|
162 buf8.Copy(fileName); |
|
163 LOGSMSPROT2("CSmsMonitorDiskSpace::ConstructL(): fileName=\"%S\"", &buf8); |
|
164 #endif |
168 |
165 |
169 if (iFs.IsFileInRom(fileName) == NULL) |
166 if (iFs.IsFileInRom(fileName) == NULL) |
170 { |
167 { |
171 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMONITORDISKSPACE_CONSTRUCTL_2, "CSmsMonitorDiskSpace::ConstructL(): Smsu.rsc not in ROM"); |
168 LOGSMSPROT1("CSmsMonitorDiskSpace::ConstructL(): Smsu.rsc not in ROM"); |
172 } |
169 } |
173 |
170 |
174 // |
171 // |
175 // Read the low and high limits... |
172 // Read the low and high limits... |
176 // |
173 // |
200 iInOODTesting = ETrue; |
197 iInOODTesting = ETrue; |
201 |
198 |
202 TInt ret = iFreeDiskSpaceProperty.Attach(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey); |
199 TInt ret = iFreeDiskSpaceProperty.Attach(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey); |
203 if (ret != KErrNone) |
200 if (ret != KErrNone) |
204 { |
201 { |
205 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMONITORDISKSPACE_CONSTRUCTL_3, "iFreeDiskSpaceProperty.Attach(): error=%d", ret); |
202 LOGSMSPROT2("iFreeDiskSpaceProperty.Attach(): error=%d", ret); |
206 User::Leave(ret); |
203 User::Leave(ret); |
207 } |
204 } |
208 } |
205 } |
209 #endif |
206 #endif |
210 |
207 |
211 OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMONITORDISKSPACE_CONSTRUCTL_4, "CSmsMonitorDiskSpace::ConstructL(): iLowLimit=%u, iHighLimit=%u",iLowLimit, iHighLimit); |
208 LOGSMSPROT3("CSmsMonitorDiskSpace::ConstructL(): iLowLimit=%d, iHighLimit=%d", |
|
209 iLowLimit, iHighLimit); |
212 } // CSmsMonitorDiskSpace::ConstructL |
210 } // CSmsMonitorDiskSpace::ConstructL |
213 |
211 |
214 |
212 |
215 /** |
213 /** |
216 * Handles a completed disk monitor or resume request. |
214 * Handles a completed disk monitor or resume request. |
217 */ |
215 */ |
218 void CSmsMonitorDiskSpace::RunL() |
216 void CSmsMonitorDiskSpace::RunL() |
219 { |
217 { |
220 OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMONITORDISKSPACE_RUNL_1, "CSmsMonitorDiskSpace:RunL(): iStatus=%d, iState=%d",iStatus.Int(), iState ); |
218 LOGSMSPROT3("CSmsMonitorDiskSpace:RunL(): iStatus=%d, iState=%d", |
|
219 iStatus.Int(), iState ); |
221 |
220 |
222 switch (iState) |
221 switch (iState) |
223 { |
222 { |
224 case ESmsMonitorDiskSpaceMonitorLowLimit: |
223 case ESmsMonitorDiskSpaceMonitorLowLimit: |
225 { |
224 { |
299 /** |
298 /** |
300 * Handles a request to cancel the current state machine operation. |
299 * Handles a request to cancel the current state machine operation. |
301 */ |
300 */ |
302 void CSmsMonitorDiskSpace::DoCancel() |
301 void CSmsMonitorDiskSpace::DoCancel() |
303 { |
302 { |
304 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMONITORDISKSPACE_DOCANCEL_1, "CSmsMonitorDiskSpace::DoCancel(): iState=%d", iState); |
303 LOGSMSPROT2("CSmsMonitorDiskSpace::DoCancel(): iState=%d", iState); |
305 |
304 |
306 switch (iState) |
305 switch (iState) |
307 { |
306 { |
308 case ESmsMonitorDiskSpaceIdle: |
307 case ESmsMonitorDiskSpaceIdle: |
309 { |
308 { |
347 /** |
346 /** |
348 * Checks for enough disk space, and starts monitoring disk space if needed. |
347 * Checks for enough disk space, and starts monitoring disk space if needed. |
349 */ |
348 */ |
350 void CSmsMonitorDiskSpace::CheckDiskSpaceForPDUL(TBool aPDUIsClass0) |
349 void CSmsMonitorDiskSpace::CheckDiskSpaceForPDUL(TBool aPDUIsClass0) |
351 { |
350 { |
352 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMONITORDISKSPACE_CHECKDISKSPACEFORPDUL_1, "CSmsMonitorDiskSpace::CheckDiskSpaceForPDUL(): aPDUIsClass0=%d",aPDUIsClass0); |
351 LOGSMSPROT2("CSmsMonitorDiskSpace::CheckDiskSpaceForPDUL(): aPDUIsClass0=%d", |
|
352 aPDUIsClass0); |
353 |
353 |
354 // |
354 // |
355 // First check the actual disk space before working out what to do. |
355 // First check the actual disk space before working out what to do. |
356 // |
356 // |
357 // If enough space exists, then we don't need to do anything else (even if |
357 // If enough space exists, then we don't need to do anything else (even if |
436 * @param aState State to transition to when this request is made. |
436 * @param aState State to transition to when this request is made. |
437 */ |
437 */ |
438 void CSmsMonitorDiskSpace::NotifyDiskSpace(TInt aLimit, |
438 void CSmsMonitorDiskSpace::NotifyDiskSpace(TInt aLimit, |
439 TSmsMonitorDiskSpaceState aState) |
439 TSmsMonitorDiskSpaceState aState) |
440 { |
440 { |
441 OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMONITORDISKSPACE_NOTIFYDISKSPACE_1, "CSmsMonitorDiskSpace::NotifyDiskSpace(): aLimit=%d, aState=%d",aLimit, aState); |
441 LOGSMSPROT3("CSmsMonitorDiskSpace::NotifyDiskSpace(): aLimit=%d, aState=%d", |
|
442 aLimit, aState); |
442 |
443 |
443 // |
444 // |
444 // Cancel any previously outstanding requests... |
445 // Cancel any previously outstanding requests... |
445 // |
446 // |
446 if (iState != ESmsMonitorDiskSpaceIdle) |
447 if (iState != ESmsMonitorDiskSpaceIdle) |
510 * SMS may attempt to be delivered, but monitoring will restart as |
511 * SMS may attempt to be delivered, but monitoring will restart as |
511 * before. So again no problem. |
512 * before. So again no problem. |
512 */ |
513 */ |
513 void CSmsMonitorDiskSpace::ResumeSmsReception() |
514 void CSmsMonitorDiskSpace::ResumeSmsReception() |
514 { |
515 { |
515 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSMSMONITORDISKSPACE_RESUMESMSRECEPTION_1, "CSmsMonitorDiskSpace::ResumeSmsReception"); |
516 LOGSMSPROT1("CSmsMonitorDiskSpace::ResumeSmsReception"); |
516 |
517 |
517 // |
518 // |
518 // Cancel any previously outstanding requests... |
519 // Cancel any previously outstanding requests... |
519 // |
520 // |
520 if (iState != ESmsMonitorDiskSpaceIdle) |
521 if (iState != ESmsMonitorDiskSpaceIdle) |