sysresmonitoring/oodmonitor/tsrc/ut_oodmonitorv1/src/ut_oodmonitor_timer.cpp
author hgs
Thu, 07 Oct 2010 06:25:45 +0300
changeset 77 b01c07dfcf84
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
77
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
* 
hgs
parents:
diff changeset
    14
* Description:
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <barsc.h>
hgs
parents:
diff changeset
    19
#include <barsread.h>
hgs
parents:
diff changeset
    20
#include <coreapplicationuisdomainpskeys.h>
hgs
parents:
diff changeset
    21
#include <e32debug.h>
hgs
parents:
diff changeset
    22
#include <e32property.h>
hgs
parents:
diff changeset
    23
#include <f32file.h>
hgs
parents:
diff changeset
    24
#include <lafshut.h>
hgs
parents:
diff changeset
    25
#include <w32std.h>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
#include "ut_oodmonitor_const.h"
hgs
parents:
diff changeset
    29
#include "ut_oodmonitor_timer.h"
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
Cut_OODMonitor_Timer* Cut_OODMonitor_Timer::NewLC(CLafShutdownManager* aShutdownManager, Tut_LafShutdownManager& aFriendLafShutdownManager, TTestCase aTestCase)
hgs
parents:
diff changeset
    32
    {
hgs
parents:
diff changeset
    33
    Cut_OODMonitor_Timer* self=new(ELeave) Cut_OODMonitor_Timer(aShutdownManager, aFriendLafShutdownManager, aTestCase);  
hgs
parents:
diff changeset
    34
    CleanupStack::PushL(self);  
hgs
parents:
diff changeset
    35
    self->ConstructL();  
hgs
parents:
diff changeset
    36
    return self;  
hgs
parents:
diff changeset
    37
    }
hgs
parents:
diff changeset
    38
    
hgs
parents:
diff changeset
    39
Cut_OODMonitor_Timer* Cut_OODMonitor_Timer::NewL(CLafShutdownManager* aShutdownManager, Tut_LafShutdownManager& aFriendLafShutdownManager, TTestCase aTestCase)
hgs
parents:
diff changeset
    40
    {
hgs
parents:
diff changeset
    41
    Cut_OODMonitor_Timer* self=Cut_OODMonitor_Timer::NewLC(aShutdownManager, aFriendLafShutdownManager, aTestCase);  
hgs
parents:
diff changeset
    42
    CleanupStack::Pop(self); 
hgs
parents:
diff changeset
    43
    return self;    
hgs
parents:
diff changeset
    44
    }
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
Cut_OODMonitor_Timer::Cut_OODMonitor_Timer(CLafShutdownManager* aShutdownManager, Tut_LafShutdownManager& aFriendLafShutdownManager, TTestCase aTestCase):
hgs
parents:
diff changeset
    47
        CTimer(EPriorityStandard), iFriendLafShutdownManager(aFriendLafShutdownManager), iShutdownManager(aShutdownManager), iTestCase(aTestCase),
hgs
parents:
diff changeset
    48
        iPhase(EPhase1)
hgs
parents:
diff changeset
    49
    {
hgs
parents:
diff changeset
    50
    
hgs
parents:
diff changeset
    51
    }
hgs
parents:
diff changeset
    52
    
hgs
parents:
diff changeset
    53
Cut_OODMonitor_Timer::~Cut_OODMonitor_Timer()
hgs
parents:
diff changeset
    54
    {
hgs
parents:
diff changeset
    55
    iFileNameArray->Reset();
hgs
parents:
diff changeset
    56
    delete iFileNameArray;
hgs
parents:
diff changeset
    57
    }
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
void Cut_OODMonitor_Timer::ConstructL()
hgs
parents:
diff changeset
    60
    {
hgs
parents:
diff changeset
    61
    iFileNameArray = new (ELeave) CDesCArrayFlat(KArraySize);
hgs
parents:
diff changeset
    62
    CTimer::ConstructL();  
hgs
parents:
diff changeset
    63
    CActiveScheduler::Add(this);  
hgs
parents:
diff changeset
    64
    After(KTwoSecondInMicro);
hgs
parents:
diff changeset
    65
    }
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
void Cut_OODMonitor_Timer::RunL()
hgs
parents:
diff changeset
    68
    {
hgs
parents:
diff changeset
    69
    switch(iTestCase)
hgs
parents:
diff changeset
    70
        {
hgs
parents:
diff changeset
    71
        case EMMCTest:
hgs
parents:
diff changeset
    72
            {
hgs
parents:
diff changeset
    73
            switch(iPhase)
hgs
parents:
diff changeset
    74
                {
hgs
parents:
diff changeset
    75
                case EPhase1:
hgs
parents:
diff changeset
    76
                    {
hgs
parents:
diff changeset
    77
                    ChangeMMCStatus();                    
hgs
parents:
diff changeset
    78
                    iPhase = EPhase2;
hgs
parents:
diff changeset
    79
                    After(KTwoSecondInMicro); 
hgs
parents:
diff changeset
    80
                    break;
hgs
parents:
diff changeset
    81
                    }
hgs
parents:
diff changeset
    82
                case EPhase2:
hgs
parents:
diff changeset
    83
                    {
hgs
parents:
diff changeset
    84
                    ChangeMMCStatus();
hgs
parents:
diff changeset
    85
                    iPhase = EPhase3;
hgs
parents:
diff changeset
    86
                    After(KTwoSecondInMicro); 
hgs
parents:
diff changeset
    87
                    break;
hgs
parents:
diff changeset
    88
                    }
hgs
parents:
diff changeset
    89
                default:
hgs
parents:
diff changeset
    90
                    {
hgs
parents:
diff changeset
    91
                    CActiveScheduler::Stop();
hgs
parents:
diff changeset
    92
                    break;
hgs
parents:
diff changeset
    93
                    }
hgs
parents:
diff changeset
    94
                }
hgs
parents:
diff changeset
    95
            break;
hgs
parents:
diff changeset
    96
            }   // EMMCTest
hgs
parents:
diff changeset
    97
        case EDisplayNotes:
hgs
parents:
diff changeset
    98
            {
hgs
parents:
diff changeset
    99
            switch(iPhase)
hgs
parents:
diff changeset
   100
                {
hgs
parents:
diff changeset
   101
                case EPhase1:
hgs
parents:
diff changeset
   102
                    {
hgs
parents:
diff changeset
   103
                    iFriendLafShutdownManager.EatDiskL(iFileNameArray, EDriveC, ECritical); 
hgs
parents:
diff changeset
   104
                    ChangeDisplayNotes();                   
hgs
parents:
diff changeset
   105
                    iPhase = EPhase2;
hgs
parents:
diff changeset
   106
                    After(KTwoSecondInMicro); 
hgs
parents:
diff changeset
   107
                    break;
hgs
parents:
diff changeset
   108
                    }
hgs
parents:
diff changeset
   109
                case EPhase2:
hgs
parents:
diff changeset
   110
                    {
hgs
parents:
diff changeset
   111
                    ChangeDisplayNotes();
hgs
parents:
diff changeset
   112
                    iPhase = EPhase3;                    
hgs
parents:
diff changeset
   113
                    After(KTwoSecondInMicro); 
hgs
parents:
diff changeset
   114
                    break;
hgs
parents:
diff changeset
   115
                    }
hgs
parents:
diff changeset
   116
                case EPhase3:
hgs
parents:
diff changeset
   117
                   {
hgs
parents:
diff changeset
   118
                   iPhase = EPhase4;
hgs
parents:
diff changeset
   119
                   iFriendLafShutdownManager.FreeDiskL(iFileNameArray);
hgs
parents:
diff changeset
   120
                   iFileNameArray->Reset();
hgs
parents:
diff changeset
   121
                   After(KTwoSecondInMicro); 
hgs
parents:
diff changeset
   122
                   break;
hgs
parents:
diff changeset
   123
                   }
hgs
parents:
diff changeset
   124
                default:
hgs
parents:
diff changeset
   125
                    {
hgs
parents:
diff changeset
   126
                    CActiveScheduler::Stop();
hgs
parents:
diff changeset
   127
                    break;
hgs
parents:
diff changeset
   128
                    }
hgs
parents:
diff changeset
   129
                }
hgs
parents:
diff changeset
   130
            break;
hgs
parents:
diff changeset
   131
            }   // EDisplayNotes
hgs
parents:
diff changeset
   132
        case EAutolock:
hgs
parents:
diff changeset
   133
            {
hgs
parents:
diff changeset
   134
            switch(iPhase)
hgs
parents:
diff changeset
   135
                {
hgs
parents:
diff changeset
   136
                case EPhase1:
hgs
parents:
diff changeset
   137
                    {
hgs
parents:
diff changeset
   138
                    iFriendLafShutdownManager.EatDiskL(iFileNameArray, EDriveC, EWarning); 
hgs
parents:
diff changeset
   139
                    ChangeAutoLockStatus();                    
hgs
parents:
diff changeset
   140
                    iPhase = EPhase2;
hgs
parents:
diff changeset
   141
                    After(KTwoSecondInMicro); 
hgs
parents:
diff changeset
   142
                    break;
hgs
parents:
diff changeset
   143
                    }
hgs
parents:
diff changeset
   144
                case EPhase2:
hgs
parents:
diff changeset
   145
                    {
hgs
parents:
diff changeset
   146
                    ChangeAutoLockStatus();
hgs
parents:
diff changeset
   147
                    iPhase = EPhase3;
hgs
parents:
diff changeset
   148
                    After(KTwoSecondInMicro); 
hgs
parents:
diff changeset
   149
                    break;
hgs
parents:
diff changeset
   150
                    }
hgs
parents:
diff changeset
   151
                case EPhase3:
hgs
parents:
diff changeset
   152
                    {
hgs
parents:
diff changeset
   153
                    iPhase = EPhase4;
hgs
parents:
diff changeset
   154
                    iFriendLafShutdownManager.FreeDiskL(iFileNameArray);
hgs
parents:
diff changeset
   155
                    iFileNameArray->Reset();
hgs
parents:
diff changeset
   156
                    After(KTwoSecondInMicro); 
hgs
parents:
diff changeset
   157
                    break;
hgs
parents:
diff changeset
   158
                    }
hgs
parents:
diff changeset
   159
                default:
hgs
parents:
diff changeset
   160
                    {
hgs
parents:
diff changeset
   161
                    CActiveScheduler::Stop();
hgs
parents:
diff changeset
   162
                    break;
hgs
parents:
diff changeset
   163
                    }
hgs
parents:
diff changeset
   164
                }
hgs
parents:
diff changeset
   165
            break;
hgs
parents:
diff changeset
   166
            }   //   EAutolock     
hgs
parents:
diff changeset
   167
        case EOODWatcher:
hgs
parents:
diff changeset
   168
            {
hgs
parents:
diff changeset
   169
            switch(iPhase)
hgs
parents:
diff changeset
   170
                {
hgs
parents:
diff changeset
   171
                case EPhase1:
hgs
parents:
diff changeset
   172
                    {
hgs
parents:
diff changeset
   173
                    iFriendLafShutdownManager.EatDiskL(iFileNameArray, EDriveC, ECritical);                  
hgs
parents:
diff changeset
   174
                    iPhase = EPhase2;
hgs
parents:
diff changeset
   175
                    After(KTwoSecondInMicro); 
hgs
parents:
diff changeset
   176
                    break;
hgs
parents:
diff changeset
   177
                    }
hgs
parents:
diff changeset
   178
                case EPhase2:
hgs
parents:
diff changeset
   179
                    {
hgs
parents:
diff changeset
   180
                    iFriendLafShutdownManager.FreeDiskL(iFileNameArray);
hgs
parents:
diff changeset
   181
                    iFileNameArray->Reset();
hgs
parents:
diff changeset
   182
                    iPhase = EPhase3;
hgs
parents:
diff changeset
   183
                    After(KTwoSecondInMicro); 
hgs
parents:
diff changeset
   184
                    break;
hgs
parents:
diff changeset
   185
                    }
hgs
parents:
diff changeset
   186
                default:
hgs
parents:
diff changeset
   187
                    {
hgs
parents:
diff changeset
   188
                    CActiveScheduler::Stop();
hgs
parents:
diff changeset
   189
                    break;
hgs
parents:
diff changeset
   190
                    }
hgs
parents:
diff changeset
   191
                }
hgs
parents:
diff changeset
   192
            break;
hgs
parents:
diff changeset
   193
            }   //   EOODWatcher  
hgs
parents:
diff changeset
   194
        default:
hgs
parents:
diff changeset
   195
            {
hgs
parents:
diff changeset
   196
            CActiveScheduler::Stop();
hgs
parents:
diff changeset
   197
            }   // default
hgs
parents:
diff changeset
   198
        }
hgs
parents:
diff changeset
   199
    }
hgs
parents:
diff changeset
   200
void Cut_OODMonitor_Timer::ChangeMMCStatus()
hgs
parents:
diff changeset
   201
    {
hgs
parents:
diff changeset
   202
    TInt value;
hgs
parents:
diff changeset
   203
        
hgs
parents:
diff changeset
   204
    RProperty enableMMCWatchProperty = iFriendLafShutdownManager.GetEnableMMCWatchProperty(iShutdownManager);
hgs
parents:
diff changeset
   205
    enableMMCWatchProperty.Get(value);
hgs
parents:
diff changeset
   206
hgs
parents:
diff changeset
   207
    RDebug::Print(_L("CLafShutdownManager::enableMMCWatchProperty=%d"), value);
hgs
parents:
diff changeset
   208
    
hgs
parents:
diff changeset
   209
    const TInt mmcRemovedStatus = 0;
hgs
parents:
diff changeset
   210
    const TInt mmcInsertedStatus = 1;
hgs
parents:
diff changeset
   211
    
hgs
parents:
diff changeset
   212
    if(mmcRemovedStatus == value)
hgs
parents:
diff changeset
   213
        {
hgs
parents:
diff changeset
   214
        value = mmcInsertedStatus;
hgs
parents:
diff changeset
   215
        }
hgs
parents:
diff changeset
   216
    else
hgs
parents:
diff changeset
   217
        {
hgs
parents:
diff changeset
   218
        value = mmcRemovedStatus;
hgs
parents:
diff changeset
   219
        }
hgs
parents:
diff changeset
   220
    
hgs
parents:
diff changeset
   221
    enableMMCWatchProperty.Set(value);
hgs
parents:
diff changeset
   222
    }
hgs
parents:
diff changeset
   223
hgs
parents:
diff changeset
   224
void Cut_OODMonitor_Timer::ChangeDisplayNotes()
hgs
parents:
diff changeset
   225
    {
hgs
parents:
diff changeset
   226
    TInt value;
hgs
parents:
diff changeset
   227
    
hgs
parents:
diff changeset
   228
    RProperty canDisplayNotesProperty = iFriendLafShutdownManager.GetCanDisplayNotesProperty(iShutdownManager);
hgs
parents:
diff changeset
   229
    canDisplayNotesProperty.Get(value);
hgs
parents:
diff changeset
   230
hgs
parents:
diff changeset
   231
    RDebug::Print(_L("CLafShutdownManager::canDisplayNotesProperty=%d"), value);
hgs
parents:
diff changeset
   232
    
hgs
parents:
diff changeset
   233
    const TInt notShowDisplayNotes = 0;
hgs
parents:
diff changeset
   234
    const TInt ShowDisplayNotes = 1;
hgs
parents:
diff changeset
   235
    
hgs
parents:
diff changeset
   236
    if(notShowDisplayNotes == value)
hgs
parents:
diff changeset
   237
        {
hgs
parents:
diff changeset
   238
        value = ShowDisplayNotes;
hgs
parents:
diff changeset
   239
        }
hgs
parents:
diff changeset
   240
    else
hgs
parents:
diff changeset
   241
        {
hgs
parents:
diff changeset
   242
        value = notShowDisplayNotes;
hgs
parents:
diff changeset
   243
        }
hgs
parents:
diff changeset
   244
    
hgs
parents:
diff changeset
   245
    canDisplayNotesProperty.Set(value);
hgs
parents:
diff changeset
   246
    }
hgs
parents:
diff changeset
   247
hgs
parents:
diff changeset
   248
void Cut_OODMonitor_Timer::ChangeAutoLockStatus()
hgs
parents:
diff changeset
   249
    {
hgs
parents:
diff changeset
   250
    TInt value;
hgs
parents:
diff changeset
   251
    
hgs
parents:
diff changeset
   252
    RProperty autolockStatusProperty = iFriendLafShutdownManager.GetAutolockStatusProperty(iShutdownManager);
hgs
parents:
diff changeset
   253
    autolockStatusProperty.Get(value);
hgs
parents:
diff changeset
   254
hgs
parents:
diff changeset
   255
    RDebug::Print(_L("CLafShutdownManager::autolockStatusProperty=%d"), value);
hgs
parents:
diff changeset
   256
    
hgs
parents:
diff changeset
   257
    if(EAutolockOff == value)
hgs
parents:
diff changeset
   258
        {
hgs
parents:
diff changeset
   259
        value = EManualLocked;
hgs
parents:
diff changeset
   260
        }
hgs
parents:
diff changeset
   261
    else
hgs
parents:
diff changeset
   262
        {
hgs
parents:
diff changeset
   263
        value = EAutolockOff;
hgs
parents:
diff changeset
   264
        }
hgs
parents:
diff changeset
   265
    
hgs
parents:
diff changeset
   266
    autolockStatusProperty.Set(value);
hgs
parents:
diff changeset
   267
    }