messagingapp/msgappfw/plugins/msgplugin/tsrc/src/test_plugin.cpp
author hgs
Fri, 25 Jun 2010 15:47:40 +0530
changeset 37 518b245aa84c
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
#
hgs
parents:
diff changeset
     3
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     4
# All rights reserved.
hgs
parents:
diff changeset
     5
# This component and the accompanying materials are made available
hgs
parents:
diff changeset
     6
# under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     7
# which accompanies this distribution, and is available
hgs
parents:
diff changeset
     8
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     9
#
hgs
parents:
diff changeset
    10
# Initial Contributors:
hgs
parents:
diff changeset
    11
# Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    12
#
hgs
parents:
diff changeset
    13
# Contributors:
hgs
parents:
diff changeset
    14
#
hgs
parents:
diff changeset
    15
# Description: Test class for CS Message Plugin
hgs
parents:
diff changeset
    16
#
hgs
parents:
diff changeset
    17
*/
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
// INCLUDE FILES
hgs
parents:
diff changeset
    21
#include <Stiftestinterface.h>
hgs
parents:
diff changeset
    22
#include "test_plugin.h"
hgs
parents:
diff changeset
    23
#include <SettingServerClient.h>
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    26
// Ctest_plugin::Ctest_plugin
hgs
parents:
diff changeset
    27
// C++ default constructor can NOT contain any code, that
hgs
parents:
diff changeset
    28
// might leave.
hgs
parents:
diff changeset
    29
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
Ctest_plugin::Ctest_plugin( CTestModuleIf& aTestModuleIf ) : CScriptBase( aTestModuleIf )
hgs
parents:
diff changeset
    32
            {
hgs
parents:
diff changeset
    33
            }
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    36
// Ctest_plugin::ConstructL
hgs
parents:
diff changeset
    37
// Symbian 2nd phase constructor can leave.
hgs
parents:
diff changeset
    38
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    39
//
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
void Ctest_plugin::ConstructL()
hgs
parents:
diff changeset
    42
    {
hgs
parents:
diff changeset
    43
	 //Read logger settings to check whether test case name is to be
hgs
parents:
diff changeset
    44
	    //appended to log file name.
hgs
parents:
diff changeset
    45
	   RSettingServer settingServer;  
hgs
parents:
diff changeset
    46
	   TInt ret = settingServer.Connect();
hgs
parents:
diff changeset
    47
	   if(ret != KErrNone)
hgs
parents:
diff changeset
    48
	        {
hgs
parents:
diff changeset
    49
	        User::Leave(ret);
hgs
parents:
diff changeset
    50
	        }
hgs
parents:
diff changeset
    51
	    // Struct to StifLogger settigs.
hgs
parents:
diff changeset
    52
	    TLoggerSettings loggerSettings; 
hgs
parents:
diff changeset
    53
	    // Parse StifLogger defaults from STIF initialization file.
hgs
parents:
diff changeset
    54
	    ret = settingServer.GetLoggerSettings(loggerSettings);
hgs
parents:
diff changeset
    55
	    if(ret != KErrNone)
hgs
parents:
diff changeset
    56
	        {
hgs
parents:
diff changeset
    57
	        User::Leave(ret);
hgs
parents:
diff changeset
    58
	        } 
hgs
parents:
diff changeset
    59
	    // Close Setting server session
hgs
parents:
diff changeset
    60
	    settingServer.Close();
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
	    TFileName logFileName;
hgs
parents:
diff changeset
    63
	    
hgs
parents:
diff changeset
    64
	    if(loggerSettings.iAddTestCaseTitle)
hgs
parents:
diff changeset
    65
	        {
hgs
parents:
diff changeset
    66
	        TName title;
hgs
parents:
diff changeset
    67
	        TestModuleIf().GetTestCaseTitleL(title);
hgs
parents:
diff changeset
    68
	        logFileName.Format(KTestPluginTestLogFileWithTitle, &title);
hgs
parents:
diff changeset
    69
	        }
hgs
parents:
diff changeset
    70
	    else
hgs
parents:
diff changeset
    71
	        {
hgs
parents:
diff changeset
    72
	        logFileName.Copy(KTestPluginTestLogFile);
hgs
parents:
diff changeset
    73
	        }
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
	    iLog = CStifLogger::NewL( KTestPluginLogPath, 
hgs
parents:
diff changeset
    76
	                          logFileName,
hgs
parents:
diff changeset
    77
	                          CStifLogger::ETxt,
hgs
parents:
diff changeset
    78
	                          CStifLogger::EFile,
hgs
parents:
diff changeset
    79
	                          EFalse );
hgs
parents:
diff changeset
    80
	    
hgs
parents:
diff changeset
    81
	    iSession = CMsvSession::OpenSyncL( *this);
hgs
parents:
diff changeset
    82
	    iMtmRegistry = CClientMtmRegistry::NewL( *iSession );
hgs
parents:
diff changeset
    83
	    iSmsClientMtm = STATIC_CAST( CSmsClientMtm*, iMtmRegistry->NewMtmL( KUidMsgTypeSMS ));
hgs
parents:
diff changeset
    84
	    
hgs
parents:
diff changeset
    85
	    iMmsClientMtm = STATIC_CAST( CMmsClientMtm*, iMtmRegistry->NewMtmL( KUidMsgTypeMultimedia ));
hgs
parents:
diff changeset
    86
	    iPlugin = NULL;
hgs
parents:
diff changeset
    87
	    
hgs
parents:
diff changeset
    88
	    TestModuleIf().SetBehavior( CTestModuleIf::ETestLeaksHandles );  
hgs
parents:
diff changeset
    89
    }
hgs
parents:
diff changeset
    90
hgs
parents:
diff changeset
    91
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    92
// Ctest_plugin::NewL
hgs
parents:
diff changeset
    93
// Two-phased constructor.
hgs
parents:
diff changeset
    94
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    95
//
hgs
parents:
diff changeset
    96
Ctest_plugin* Ctest_plugin::NewL( 
hgs
parents:
diff changeset
    97
    CTestModuleIf& aTestModuleIf )
hgs
parents:
diff changeset
    98
    {
hgs
parents:
diff changeset
    99
	Ctest_plugin* self = new (ELeave) Ctest_plugin( aTestModuleIf );
hgs
parents:
diff changeset
   100
    CleanupStack::PushL( self );
hgs
parents:
diff changeset
   101
    self->ConstructL();
hgs
parents:
diff changeset
   102
    CleanupStack::Pop();
hgs
parents:
diff changeset
   103
    return self;
hgs
parents:
diff changeset
   104
    }
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   107
// Ctest_plugin::~Cimcache_test
hgs
parents:
diff changeset
   108
// Destructor
hgs
parents:
diff changeset
   109
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   110
//
hgs
parents:
diff changeset
   111
Ctest_plugin::~Ctest_plugin()
hgs
parents:
diff changeset
   112
    { 
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
    // Delete resources allocated from test methods
hgs
parents:
diff changeset
   115
    Delete();
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
    // Delete logger
hgs
parents:
diff changeset
   118
    delete iLog; 
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
    }
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
   123
       // Ctest_plugin::HandleSessionEventL
hgs
parents:
diff changeset
   124
       // Implemented for MMsvSessionObserver
hgs
parents:
diff changeset
   125
       // ----------------------------------------------------------------------------
hgs
parents:
diff changeset
   126
       //
hgs
parents:
diff changeset
   127
void Ctest_plugin::HandleSessionEventL(TMsvSessionEvent /*aEvent*/, 
hgs
parents:
diff changeset
   128
               TAny */*aArg1*/, 
hgs
parents:
diff changeset
   129
               TAny */*aArg2*/, 
hgs
parents:
diff changeset
   130
               TAny */*aArg3*/)
hgs
parents:
diff changeset
   131
           {
hgs
parents:
diff changeset
   132
hgs
parents:
diff changeset
   133
           }
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
// ========================== OTHER EXPORTED FUNCTIONS =========================
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   138
// LibEntryL is a polymorphic Dll entry point.
hgs
parents:
diff changeset
   139
// Returns: CScriptBase: New CScriptBase derived object
hgs
parents:
diff changeset
   140
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   141
//
hgs
parents:
diff changeset
   142
EXPORT_C CScriptBase* LibEntryL( 
hgs
parents:
diff changeset
   143
    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
hgs
parents:
diff changeset
   144
    {
hgs
parents:
diff changeset
   145
    return ( CScriptBase* ) Ctest_plugin::NewL( aTestModuleIf );
hgs
parents:
diff changeset
   146
    }
hgs
parents:
diff changeset
   147
hgs
parents:
diff changeset
   148
hgs
parents:
diff changeset
   149
//  End of File