startupservices/Startup/syserrcmd/src/syserrcmd.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 13 Oct 2010 14:43:04 +0300
branchRCL_3
changeset 82 4610cd70c542
parent 70 739cef680932
permissions -rw-r--r--
Revision: 201039 Kit: 201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
82
4610cd70c542 Revision: 201039
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 70
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
* Implementation of CSysErrCmd class.
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
*/
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include "syserrcmd.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include "trace.h"
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
63
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    22
#include <AknGlobalNote.h>
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    23
#include <aknSDData.h>
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <data_caging_path_literals.hrh>
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <featmgr.h>
70
739cef680932 Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 66
diff changeset
    26
#include <secondarydisplay/SecondaryDisplayStartupAPI.h>
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include <StringLoader.h>
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include <startup.rsg>
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include <stringresourcereader.h>
63
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    30
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    31
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    32
_LIT( KResourceFileName, "Z:startup.rsc" );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    33
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    34
// ======== LOCAL FUNCTIONS ========
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    35
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    36
// ---------------------------------------------------------------------------
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    37
// CSysErrorPlugin::GetResourceFileNameLC
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    38
//
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    39
// ---------------------------------------------------------------------------
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    40
//
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    41
static TFileName* GetResourceFileNameLC()
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    42
    {
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    43
    FUNC_LOG;
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    44
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    45
    // TParse uses a lot of stack space, so allocate it from heap.
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    46
    TParse* parse = new ( ELeave ) TParse; 
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    47
    CleanupDeletePushL( parse );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    48
    TInt errorCode = parse->Set( KResourceFileName, 
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    49
                                 &KDC_APP_RESOURCE_DIR, 
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    50
                                 NULL );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    51
    ERROR( errorCode, "parse::Set() failed with error code %d" );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    52
    User::LeaveIfError( errorCode );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    53
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    54
    TFileName* filename = new ( ELeave ) TFileName( parse->FullName() );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    55
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    56
    CleanupStack::PopAndDestroy( parse );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    57
    CleanupDeletePushL( filename );
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
63
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    59
    INFO_1( "Resource file name: %S", filename );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    60
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    61
    return filename;
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    62
    }
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    63
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    64
// ---------------------------------------------------------------------------
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    65
// CSysErrorPlugin::GetFatalErrorStringLC
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    66
//
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    67
// ---------------------------------------------------------------------------
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    68
//
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    69
static TBool IsCoverUiSupported()
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    70
    {
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    71
    FUNC_LOG;
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    72
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    73
    // If this fails, default to false.
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    74
    TRAPD( errorCode, FeatureManager::InitializeLibL() ); 
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    75
    ERROR( errorCode, "Failed to initialize FeatureManager" );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    76
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    77
    TBool retVal = EFalse;
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    78
    if ( errorCode == KErrNone &&
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    79
         FeatureManager::FeatureSupported( KFeatureIdCoverDisplay ) )
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    80
        {
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    81
        retVal = ETrue;
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    82
        }
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    83
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    84
    FeatureManager::UnInitializeLib();
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    85
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    86
    INFO_1( "CoverUiSupported = %d", retVal );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    87
    return retVal;
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
    88
    }
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
// ======== MEMBER FUNCTIONS ========
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
// CSysErrCmd::NewL
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
CSysErrCmd* CSysErrCmd::NewL()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
	{
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
    FUNC_LOG;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
	return new ( ELeave ) CSysErrCmd();
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
	}
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
// CSysErrCmd::~CSysErrCmd
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
CSysErrCmd::~CSysErrCmd()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
    FUNC_LOG;
63
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   110
    
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   111
    delete iNote;
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
// CSysErrCmd::Initialize
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
TInt CSysErrCmd::Initialize( CSsmCustomCommandEnv* aCmdEnv )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
    FUNC_LOG;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
    ASSERT_TRACE( aCmdEnv );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
    iEnv = aCmdEnv;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
    return KErrNone;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
// CSysErrCmd::Execute
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
void CSysErrCmd::Execute( const TDesC8& /*aParams*/, TRequestStatus& aRequest )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
    FUNC_LOG;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
    
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
    INFO_1( "[0x%08x] Execute", this );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
    TInt err( KErrNone );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
    TRAP( err, DoExecuteL( aRequest ) );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
    ERROR( err, "DoExecuteL failed." );
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
// CSysErrCmd::ExecuteCancel
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
void CSysErrCmd::ExecuteCancel()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
    FUNC_LOG;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
63
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   151
    if ( iNote )
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   152
        {
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   153
        TInt errorCode( KErrNone );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   154
        TRAP( errorCode, iNote->CancelNoteL( iNoteId ) );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   155
        ERROR( errorCode, "Failed to cancel global note" );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   156
        }
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   157
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   158
    delete iNote; // Note must be deleted here! Otherwise it doesn't complete
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   159
    iNote = NULL; // request with KErrCancel and Cancel() gets stuck.
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
// CSysErrCmd::Close
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
void CSysErrCmd::Close()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
    FUNC_LOG;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
// CSysErrCmd::Release
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
void CSysErrCmd::Release()
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
    {
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
    FUNC_LOG;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
	delete this;
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
    }
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
// CSysErrCmd::DoExecuteL
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
// ---------------------------------------------------------------------------
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
//
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
void CSysErrCmd::DoExecuteL( TRequestStatus& aRequest )
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
    {
63
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   190
    delete iNote;
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   191
    iNote = NULL;
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   192
    iNote = CAknGlobalNote::NewL();
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   193
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   194
    if ( IsCoverUiSupported() )
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   195
        {
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   196
        CAknSDData* sdData = CAknSDData::NewL( 
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   197
                        SecondaryDisplay::KCatStartup,
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   198
                        SecondaryDisplay::ECmdShowErrorNote,
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   199
                        TPckgBuf<TInt>( SecondaryDisplay::EContactService ) );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   200
        
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   201
        // ownership to notifier client
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   202
        iNote->SetSecondaryDisplayData( sdData ); 
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   203
        }
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   204
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   205
    TFileName* filename = GetResourceFileNameLC();
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   206
    
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   207
    RFs& fs = const_cast<RFs&>( iEnv->Rfs() );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   208
    
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   209
    CStringResourceReader* resReader = CStringResourceReader::NewLC( *filename,
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   210
                                                                     fs );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   211
    
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   212
    TPtrC errorStr( resReader->ReadResourceString( 
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   213
                                            R_SU_SELFTEST_FAILED_NOTE_TEXT ) );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   214
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   215
    iNoteId = iNote->ShowNoteL( aRequest, EAknGlobalPermanentNote, errorStr );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   216
    
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   217
    CleanupStack::PopAndDestroy( resReader );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   218
    CleanupStack::PopAndDestroy( filename );
c2c61fdca848 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 62
diff changeset
   219
    
0
2e3d3ce01487 Revision: 201002
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
    }