adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/cbs/src/cbs.cpp
changeset 4 510c70acdbf6
parent 3 1972d8c2e329
child 5 8ccc39f9d787
equal deleted inserted replaced
3:1972d8c2e329 4:510c70acdbf6
     1 /*
       
     2 * Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:   Specific class for Cell Broadcast tests
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 // INCLUDE FILES
       
    22 #include <stiftestinterface.h>
       
    23 #include "cbs.h"
       
    24 
       
    25 
       
    26 
       
    27 // ============================ MEMBER FUNCTIONS ===============================
       
    28 
       
    29 // -----------------------------------------------------------------------------
       
    30 // CCbs::CCbs
       
    31 // C++ default constructor can NOT contain any code, that
       
    32 // might leave.
       
    33 // -----------------------------------------------------------------------------
       
    34 //
       
    35 CCbs::CCbs( CTestModuleIf& aTestModuleIf ):CCore( aTestModuleIf )
       
    36     {
       
    37     // Initial values
       
    38     }
       
    39 
       
    40 // -----------------------------------------------------------------------------
       
    41 // CCbs::ConstructL
       
    42 // Symbian 2nd phase constructor can leave.
       
    43 // -----------------------------------------------------------------------------
       
    44 //
       
    45 void CCbs::ConstructL()
       
    46     {
       
    47 #if ( NCP_COMMON_S60_VERSION_SUPPORT == S60_VERSION_32 )
       
    48     BaseConstructL();
       
    49 #else
       
    50     BaseConstructL( this );
       
    51 #endif
       
    52     iCbsLog = CStifLogger::NewL( KCbsLogPath,
       
    53                           KCbsLogFile,
       
    54                           CStifLogger::ETxt,
       
    55                           CStifLogger::EFile,
       
    56                           EFalse );
       
    57 
       
    58     iCbsLog->Log(_L8("CCbs::ConstructL"));
       
    59 
       
    60     InitializeIscControlL(KIscControlTestCaseFileCbs);
       
    61 
       
    62     // Initialise CB GSM data buffer from parameter checking
       
    63     TUint8 cbsDataGsm[RMobileBroadcastMessaging::KBroadcastPageSize]= {
       
    64         0x40,0x00,0x00,0x65,0x01,0x2a,0x68,0x3a,0x1d,0xae,0x7b,0xbd,0xee,0xf7,
       
    65         0xbb,0xcb,0xfd,0x5e,0xa7,0xc3,0xae,0xf1,0xbb,0xdd,0x50,0x80,0x40,0x20,
       
    66         0x10,0x08,0x04,0x02,0x81,0x40,0x20,0x10,0x08,0x04,0x02,0x81,0x40,0x20,
       
    67         0x10,0x08,0x04,0x02,0x81,0x40,0x20,0x10,0x08,0x04,0x02,0x81,0x40,0x20,
       
    68         0x10,0x08,0x04,0x02,0x81,0x40,0x20,0x10,0x08,0x04,0x02,0x81,0x40,0x20,
       
    69         0x10,0x08,0x04,0x02,0x81,0x40,0x20,0x10,0x08,0x04,0x02,0x81,0x40,0x20,
       
    70         0x10,0x08,0x04,0x02 };
       
    71     iCbsMsgGSM.Append( &cbsDataGsm[0],sizeof( cbsDataGsm ) );
       
    72 
       
    73     // Initialise CB WCDMA data buffer from parameter checking
       
    74     TUint8 cbsDataWcdma[RMobileBroadcastMessaging::KBroadcastPageSize]= {
       
    75         0xC3,0x32,0x9B,0x0D,0x12,0xCA,0xDF,0x61,0xF2,0x38,0x3C,0xA7,0x83,0x40,
       
    76         0xF4,0xF2,0x9C,0x0E,0x6A,0x97,0xE7,0xF3,0xF0,0xB9,0x0C,0xA2,0xBE,0xE1,
       
    77         0xE9,0x31,0x68,0x46,0x6B };
       
    78 
       
    79     iCbsMsgWCDMA.Append( &cbsDataWcdma[0],sizeof( cbsDataWcdma ) );
       
    80     iCbsMsgWCDMA.SetLength( 33 );
       
    81     }
       
    82 
       
    83 // -----------------------------------------------------------------------------
       
    84 // CCbs::NewL
       
    85 // Two-phased constructor.
       
    86 // -----------------------------------------------------------------------------
       
    87 //
       
    88 CCbs* CCbs::NewL( CTestModuleIf& aTestModuleIf )
       
    89     {
       
    90     CCbs* self = new (ELeave) CCbs( aTestModuleIf );
       
    91 
       
    92     CleanupStack::PushL((CScriptBase*)self );
       
    93     self->ConstructL();
       
    94     CleanupStack::Pop( self );
       
    95 
       
    96     return self;
       
    97     }
       
    98 
       
    99 // Destructor
       
   100 CCbs::~CCbs()
       
   101     {
       
   102     // Delete resources allocated from test methods
       
   103     Delete();
       
   104 
       
   105     delete iCbsLog;
       
   106     }
       
   107 
       
   108 // -----------------------------------------------------------------------------
       
   109 // CCbs::RouteCompletion
       
   110 // Completes a request or notification via the specific Tsy object, based on
       
   111 // IPC number and data package
       
   112 // -----------------------------------------------------------------------------
       
   113 //
       
   114 EXPORT_C void CCbs::RouteCompletion
       
   115     (
       
   116     TInt aIpc,
       
   117     CMmDataPackage* aDataPackage,
       
   118     TInt aResult
       
   119     )
       
   120     {
       
   121 
       
   122     // Process the ISI msg according to IPC requested.
       
   123     if ( !iHandleSpecifiedRequests )
       
   124         {
       
   125         switch(aIpc)
       
   126             {
       
   127             case EMobileBroadcastMessagingReceiveMessage:
       
   128                 {
       
   129                 CompleteActivateCbsReception( aResult );
       
   130                 break;
       
   131                 }
       
   132             case EMobileBroadcastMessagingReceiveMessageCancel:
       
   133                 {
       
   134                 CompleteDeactivateCbsReception( aResult );
       
   135                 break;
       
   136                 }
       
   137             case EMmTsyGsmBroadcastNotifyMessageReceived:
       
   138                 {
       
   139                 CompleteReceiveGsmCbs( aResult, *aDataPackage );
       
   140                 break;
       
   141                 }
       
   142             case EMmTsyWcdmaBroadcastNotifyMessageReceived:
       
   143                 {
       
   144                 CompleteReceiveWcdmaCbs( aResult, *aDataPackage );
       
   145                 break;
       
   146                 }
       
   147             case ECustomStartSimCbTopicBrowsingIPC:
       
   148                 {
       
   149                 CompleteReadCBSSimTopics( aResult, *aDataPackage );
       
   150                 break;
       
   151                 }
       
   152             case ECustomDeleteSimCbTopicIPC:
       
   153                 {
       
   154                 CompleteDeleteCBSSimTopic( aResult );
       
   155                 break;
       
   156                 }
       
   157             default:
       
   158                 {
       
   159                 break;
       
   160                 }
       
   161             }
       
   162         }
       
   163     else
       
   164         {
       
   165         switch(aIpc)
       
   166             {
       
   167             case EMobileBroadcastMessagingReceiveMessage:
       
   168                 {
       
   169                 if ( 0 == iSavedIPCNameForComparison.Compare
       
   170                     ( _L( "EMobileBroadcastMessagingReceiveMessage" ) ) )
       
   171                     {
       
   172                     CompleteActivateCbsReception( aResult );
       
   173                     CCore::GetNextExpectedCompleteIPC();
       
   174                     }
       
   175                 break;
       
   176                 }
       
   177             case EMobileBroadcastMessagingReceiveMessageCancel:
       
   178                 {
       
   179                 if ( 0 == iSavedIPCNameForComparison.Compare
       
   180                    ( _L( "EMobileBroadcastMessagingReceiveMessageCancel" ) ) )
       
   181                     {
       
   182                     CompleteDeactivateCbsReception( aResult );
       
   183                     CCore::GetNextExpectedCompleteIPC();
       
   184                     }
       
   185                 break;
       
   186                 }
       
   187             case EMmTsyGsmBroadcastNotifyMessageReceived:
       
   188                 {
       
   189                 if ( 0 == iSavedIPCNameForComparison.Compare
       
   190                     ( _L( "EMmTsyGsmBroadcastNotifyMessageReceived" ) ) )
       
   191                     {
       
   192                     CompleteReceiveGsmCbs( aResult, *aDataPackage );
       
   193                     CCore::GetNextExpectedCompleteIPC();
       
   194                     }
       
   195                 break;
       
   196                 }
       
   197             case EMmTsyWcdmaBroadcastNotifyMessageReceived:
       
   198                 {
       
   199                 if ( 0 == iSavedIPCNameForComparison.Compare
       
   200                     ( _L( "EMmTsyWcdmaBroadcastNotifyMessageReceived" ) ) )
       
   201                     {
       
   202                     CompleteReceiveWcdmaCbs( aResult, *aDataPackage );
       
   203                     CCore::GetNextExpectedCompleteIPC();
       
   204                     }
       
   205                 break;
       
   206                 }
       
   207             case ECustomStartSimCbTopicBrowsingIPC:
       
   208                 {
       
   209                 if ( 0 == iSavedIPCNameForComparison.Compare
       
   210                     ( _L( "ECustomStartSimCbTopicBrowsingIPC" ) ) )
       
   211                     {
       
   212                     CompleteReadCBSSimTopics( aResult, *aDataPackage );
       
   213                     CCore::GetNextExpectedCompleteIPC();
       
   214                     }
       
   215                 break;
       
   216                 }
       
   217             case ECustomDeleteSimCbTopicIPC:
       
   218                 {
       
   219                 if ( 0 == iSavedIPCNameForComparison.Compare
       
   220                     ( _L( "ECustomDeleteSimCbTopicIPC" ) ) )
       
   221                     {
       
   222                     CompleteDeleteCBSSimTopic( aResult );
       
   223                     CCore::GetNextExpectedCompleteIPC();
       
   224                     }
       
   225                 break;
       
   226                 }
       
   227             default:
       
   228                 {
       
   229                 break;
       
   230                 }
       
   231             }
       
   232         }
       
   233     }
       
   234 
       
   235 
       
   236 // ========================== OTHER EXPORTED FUNCTIONS =========================
       
   237 
       
   238 // -----------------------------------------------------------------------------
       
   239 // LibEntryL is a polymorphic Dll entry point.
       
   240 // Returns: CScriptBase: New CScriptBase derived object
       
   241 // -----------------------------------------------------------------------------
       
   242 //
       
   243 EXPORT_C CScriptBase* LibEntryL(
       
   244     CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
       
   245     {
       
   246 
       
   247     return ( CScriptBase* ) CCbs::NewL( aTestModuleIf );
       
   248 
       
   249     }
       
   250 
       
   251 //  End of File