connectivitylayer/isce/isicommunicationmanager_dll/src/isicommunicationmanager.cpp
author mikaruus
Tue, 19 Oct 2010 13:16:20 +0300
changeset 9 8486d82aef45
parent 7 fa67e03b87df
permissions -rw-r--r--
modemadaptation release 2010wk40
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
     1
/*
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
     8
*
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    11
*
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    12
* Contributors:
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    13
*
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    14
* Description:
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    15
*
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    16
*/
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    17
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    18
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    19
#include <kernel.h>                       // For Kern
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    20
#include <phonetisi.h>                    // For ISI_HEADER_SIZE
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    21
#include <pn_const.h>                     // For PN_OBJ_ROUTING_REQ...
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    22
#include <commisi.h>                      // For Common messages
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    23
#include <pn_eventmodem_extisi.h>         // PN_COMMG, PNS_SUBSCRIBED_RESOURCES_...
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
    24
#include "isicommunicationmanager.h"      // For DISICommunicationManager
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    25
#include "misiobjectrouterif.h"           // For MISIObjectRouterIf
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    26
#include "isicommunicationmanagertrace.h" // For C_TRACE, ASSERT_RESET.. and fault codes
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    27
#include "memapi.h"                       // For MemApi
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    28
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    29
// HOX! nsisi.h is this also exported by isimsg
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    30
#include "nsisi.h"                        // For PN_NAMESERVICE.. 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    31
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
    32
#include "isihelpers.h"                   // For SET_RECEIVER_OBJ...
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    33
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
    34
#include "isirouter.h"                    // For GetDFCThread
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
    35
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    36
#include "isiindicationhandler.h"         // For DISIIndicationHandler
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    37
#include "ape_commgrisi.h"                // For APE_COMMGR..
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
    38
#include "misicommunicationmanagerif.h"   // For MISICommunicationManagerIf
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    39
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    40
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    41
//#define ISCE_NO_NEED_TO_VALIDATE_RESOURCE // to skip resource validity check
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    42
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    43
// Faults
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    44
enum TISICommunicationManagerFaults
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    45
    {
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    46
    EISICommunicationManagerMemAllocFailure = 0x01,
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    47
    EISICommunicationManagerMemAllocFailure1,
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    48
    EISICommunicationManagerNullPointer,
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    49
    EISICommunicationManagerNullPointer1,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    50
    EISICommunicationManagerNullPointer2,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    51
    EISICommunicationManagerNullPointer3,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    52
    EISICommunicationManagerNullPointer4,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    53
    EISICommunicationManagerNullPointer5,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    54
    EISICommunicationManagerNullPointer6,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    55
    EISICommunicationManagerNullPointer7,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    56
    EISICommunicationManagerNullPointer8,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    57
    EISICommunicationManagerNullPointer9,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    58
    EISICommunicationManagerNullPointer10,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    59
    EISICommunicationManagerNullPointer11,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    60
    EISICommunicationManagerNullPointer12,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    61
    EISICommunicationManagerNullPointer13,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    62
    EISICommunicationManagerNullPointer14,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    63
    EISICommunicationManagerNullPointer15,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    64
    EISICommunicationManagerNullPointer16,        
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    65
    EISICommunicationManagerUnknownMessage,
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    66
    EISICommunicationManagerMutexCreateFailed,
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    67
    EISICommunicationManagerMutexWaitFailed,
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
    68
    EISICommunicationManagerWrongMessageOrder,
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    69
    EISICommunicationManagerWrongMessageOrder2,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    70
    EISICommunicationManagerWrongMessage,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    71
    EISICommunicationManagerFatalError,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    72
    EISICommunicationInvalidLength,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    73
    EISICommunicationInvalidLength1,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    74
    EISICommunicationInvalidLength2,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    75
    EISICommunicationInvalidLength3,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    76
    EISICommunicationInvalidLength4,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    77
    EISICommunicationInvalidLength5,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    78
    EISICommunicationInvalidLength6,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    79
    EISICommunicationInvalidLength7,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    80
    EISICommunicationInvalidLength8,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    81
    EISICommunicationInvalidLength9,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    82
    EISICommunicationInvalidLength10,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    83
    EISICommunicationInvalidLength11,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    84
    EISICommunicationInvalidLength12,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    85
    EISICommunicationInvalidLength13,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    86
    EISICommunicationInvalidLength14,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    87
    EISICommunicationManagerSendFailed,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    88
    EISICommunicationManagerSendFailed1,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    89
    EISICommunicationManagerSendFailed2,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    90
    EISICommunicationManagerSendFailed3,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    91
    EISICommunicationManagerSendFailed4,
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    92
    };
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    93
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    94
DMutex* DISICommunicationManager::iCommunicationManagerMutex = NULL;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    95
_LIT8( KCommunicationManagerMutex, "KCommunicationManagerMutex" );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    96
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    97
const TUint32 KCommunicationManagerUID( 0x2002B3D0 );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    98
const TUint8 KFiller( 0 );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    99
const TInt KInitDfcPriority( 7 );
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   100
const TUint8 KDone( 0 );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   101
const TUint8 KDefaultTransactionIdentifier( 0x00 );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   102
const TUint8 KUnitializedObjectIdentifier( 0xff );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   103
const TUint8 KNumberOfBootMessage( 0x04 );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   104
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   105
DISICommunicationManager::DISICommunicationManager(
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   106
        // None
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   107
        )
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   108
    : iObjectIdentifier( KUnitializedObjectIdentifier ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   109
      iBootMsgCount( KNumberOfBootMessage )
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   110
    {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   111
    C_TRACE( ( _T( "DISICommunicationManager::DISICommunicationManager 0x%x 0x%x>" ), iObjectIdentifier, iRouter ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   112
    iRouter = MISIObjectRouterIf::GetIf();    
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   113
    ASSERT_RESET_ALWAYS( iRouter, ( EISICommunicationManagerNullPointer | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   114
    iRouter->Connect( KCommunicationManagerUID, iObjectIdentifier, this );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   115
    ASSERT_RESET_ALWAYS( iObjectIdentifier == PN_OBJ_EVENT_MULTICAST, ( EISICommunicationManagerFatalError | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   116
    // Ordinal three as there is zero, one and two used in other places of ISCE.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   117
    TInt err( Kern::MutexCreate( iCommunicationManagerMutex, KCommunicationManagerMutex, KMutexOrdGeneral3 ) );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   118
    ASSERT_RESET_ALWAYS( ( KErrNone == err ), ( EISICommunicationManagerMutexCreateFailed | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   119
    iInitDfc = new TDfc( InitDfc, this, iRouter->GetDfcThread( MISIObjectRouterIf::EISIKernelMainThread ), KInitDfcPriority );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   120
    ASSERT_RESET_ALWAYS( iInitDfc, ( EISICommunicationManagerMemAllocFailure | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   121
    iISIIndicationHandler = new DISIIndicationHandler( iRouter );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   122
    ASSERT_RESET_ALWAYS( iISIIndicationHandler, ( EISICommunicationManagerMemAllocFailure1 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   123
    iInitDfc->Enque();
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   124
    C_TRACE( ( _T( "DISICommunicationManager::DISICommunicationManager 0x%x 0x%x<" ), iObjectIdentifier, iRouter ) );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   125
    }
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   126
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   127
void DISICommunicationManager::InitDfc(
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   128
        TAny* aPtr  // Pointer to this object.
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   129
        )
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   130
    {
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   131
    C_TRACE( ( _T( "DISICommunicationManager::InitDfc 0x%x>" ), aPtr ) );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   132
    DISICommunicationManager* tmp = reinterpret_cast<DISICommunicationManager*>( aPtr );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   133
    ASSERT_RESET_ALWAYS( tmp, ( EISICommunicationManagerNullPointer3 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   134
    tmp->SendNameAddReqs();
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   135
    C_TRACE( ( _T( "DISICommunicationManager::InitDfc 0x%x<" ), aPtr ) );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   136
    }
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   137
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   138
void DISICommunicationManager::SendNameAddReqs(
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   139
        // None
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   140
        )
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   141
    {
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   142
    C_TRACE( ( _T( "DISICommunicationManager::SendNameAddReqs>" ) ) );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   143
    //PN_COMMGR name
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   144
    TUint16 msgLength( ISI_HEADER_SIZE + SIZE_PNS_NAME_ADD_REQ );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   145
    TDes8& addMsg = MemApi::AllocBlock( msgLength );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   146
    addMsg.SetLength( msgLength );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   147
    TUint8* addPtr = const_cast<TUint8*>( addMsg.Ptr() );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   148
    ASSERT_RESET_ALWAYS( addPtr, ( EISICommunicationManagerNullPointer1 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   149
    ASSERT_RESET_ALWAYS( ( addMsg.Length() > ( ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_NAMEENTRY + PN_NAME_SRV_ITEM_STR_OFFSET_RESERVED ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   150
                         ( EISICommunicationInvalidLength | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   151
    addPtr[ ISI_HEADER_OFFSET_MEDIA ] = PN_MEDIA_ROUTING_REQ;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   152
    SET_RECEIVER_DEV( addPtr, PN_DEV_OWN );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   153
    SET_SENDER_DEV( addPtr, PN_DEV_OWN );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   154
    addPtr[ ISI_HEADER_OFFSET_RESOURCEID ] = PN_NAMESERVICE;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   155
    SET_LENGTH( addPtr, ( msgLength - PN_HEADER_SIZE ) );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   156
    SET_RECEIVER_OBJ( addPtr, PN_OBJ_ROUTER );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   157
    SET_SENDER_OBJ( addPtr, iObjectIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   158
    addPtr[ ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_UTID ] = KDefaultTransactionIdentifier;
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   159
    addPtr[ ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_SUBFUNCTION ] = PNS_NAME_ADD_REQ;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   160
    addPtr[ ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_RESERVED1 ] = KFiller;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   161
    addPtr[ ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_RESERVED2 ] = KFiller;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   162
    PUTB32( &addPtr[ ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_NAMEENTRY + PN_NAME_SRV_ITEM_STR_OFFSET_NAME ], PN_COMMGR );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   163
    addPtr[ ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_NAMEENTRY + PN_NAME_SRV_ITEM_STR_OFFSET_DEV ] = PN_DEV_OWN;
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   164
    addPtr[ ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_NAMEENTRY + PN_NAME_SRV_ITEM_STR_OFFSET_OBJ ] = iObjectIdentifier;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   165
    addPtr[ ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_NAMEENTRY + PN_NAME_SRV_ITEM_STR_OFFSET_FLAGS ] = PN_NAME_NOCHG;
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   166
    addPtr[ ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_NAMEENTRY + PN_NAME_SRV_ITEM_STR_OFFSET_RESERVED ] = KFiller;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   167
    //PN_APE_COMMGR name
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   168
    TDes8& addMsg2 = MemApi::AllocBlock( msgLength );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   169
    addMsg2.SetLength( msgLength );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   170
    addMsg2.Copy( addMsg );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   171
    TUint8* addPtr2 = const_cast<TUint8*>( addMsg2.Ptr() );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   172
    ASSERT_RESET_ALWAYS( addPtr2, ( EISICommunicationManagerNullPointer2 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   173
    ASSERT_RESET_ALWAYS( ( addMsg2.Length() > ( ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_NAMEENTRY + PN_NAME_SRV_ITEM_STR_OFFSET_NAME ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   174
                         ( EISICommunicationInvalidLength1 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   175
    PUTB32( &addPtr2[ ISI_HEADER_SIZE + PNS_NAME_ADD_REQ_OFFSET_NAMEENTRY + PN_NAME_SRV_ITEM_STR_OFFSET_NAME ], PN_APE_COMMGR );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   176
    TInt sendResult = iRouter->Send( addMsg, iObjectIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   177
    ASSERT_RESET_ALWAYS( ( sendResult == KErrNone ), ( EISICommunicationManagerSendFailed3 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );    
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   178
    sendResult = iRouter->Send( addMsg2, iObjectIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   179
    ASSERT_RESET_ALWAYS( ( sendResult == KErrNone ), ( EISICommunicationManagerSendFailed4 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );    
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   180
    C_TRACE( ( _T( "DISICommunicationManager::SendNameAddReqs<" ) ) );    
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   181
    }
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   182
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   183
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   184
DISICommunicationManager::~DISICommunicationManager(
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   185
        // None
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   186
        )
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   187
    {
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   188
    C_TRACE( ( _T( "DISICommunicationManager::~DISICommunicationManager>" ) ) );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   189
    if( iISIIndicationHandler )
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   190
        {
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   191
        delete iISIIndicationHandler;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   192
        iISIIndicationHandler = NULL;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   193
        }
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   194
    if ( iInitDfc )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   195
        {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   196
        iInitDfc->Cancel();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   197
        delete iInitDfc;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   198
        iInitDfc = NULL;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   199
        }
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   200
    if( iCommunicationManagerMutex )
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   201
        {
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   202
        ((DObject*)iCommunicationManagerMutex)->Close( NULL );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   203
        iCommunicationManagerMutex = NULL;
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   204
        }
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   205
    
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   206
    C_TRACE( ( _T( "DISICommunicationManager::~DISICommunicationManager<" ) ) );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   207
    }
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   208
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   209
void DISICommunicationManager::Receive(
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   210
        const TDesC8& aMessage
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   211
        )
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   212
    {
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   213
    C_TRACE( ( _T( "DISICommunicationManager::Receive 0x%x>" ), &aMessage ) );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   214
    TInt err( Kern::MutexWait( *iCommunicationManagerMutex ) );//! check usage of these mutexes (be aware of ordering violations)
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   215
    ASSERT_RESET_ALWAYS( ( KErrNone == err ), ( EISICommunicationManagerMutexWaitFailed | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   216
    const TUint8* msgPtr( aMessage.Ptr() );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   217
    TDes8* blockPtr = reinterpret_cast<TDes8*>( const_cast<TDesC8*>(&aMessage) );
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   218
    if( iBootMsgCount == KDone )
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   219
        {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   220
        switch(  msgPtr[ ISI_HEADER_OFFSET_RESOURCEID ] )
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   221
            {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   222
            case PN_APE_COMMGR:
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   223
                {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   224
                HandleApeCommunicationManagerMessage( *blockPtr );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   225
                break;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   226
                }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   227
            case PN_COMMGR:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   228
                {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   229
                HandlePnCommgrMessage( *blockPtr );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   230
                break;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   231
                }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   232
            default:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   233
                {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   234
                HandleMessageMulticast( *blockPtr );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   235
                break;
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   236
                }
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   237
            }
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   238
        }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   239
    else
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   240
        {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   241
        C_TRACE( ( _T( "DISICommunicationManager booting %d" ), iBootMsgCount ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   242
        HandleBootMessage( *blockPtr );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   243
        }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   244
    MemApi::DeallocBlock( *blockPtr );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   245
    Kern::MutexSignal( *iCommunicationManagerMutex );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   246
    C_TRACE( ( _T( "DISICommunicationManager::Receive 0x%x<" ), &aMessage ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   247
    }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   248
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   249
void DISICommunicationManager::HandleBootMessage(
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   250
        const TDesC8& aMessageDuringBoot
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   251
        )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   252
    {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   253
    C_TRACE( ( _T( "DISICommunicationManager::HandleBootMessage 0x%x>" ), &aMessageDuringBoot ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   254
    const TUint8* messageDuringBootPtr = aMessageDuringBoot.Ptr();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   255
    ASSERT_RESET_ALWAYS( messageDuringBootPtr, ( EISICommunicationManagerNullPointer7 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   256
    ASSERT_RESET_ALWAYS( ( aMessageDuringBoot.Length() > ( ISI_HEADER_SIZE + PNS_NAME_ADD_RESP_OFFSET_REASON ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   257
                         ( EISICommunicationInvalidLength5 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );    
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   258
    if( messageDuringBootPtr[ ISI_HEADER_OFFSET_RESOURCEID ] == PN_NAMESERVICE )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   259
        {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   260
        switch( messageDuringBootPtr[ ISI_HEADER_OFFSET_MESSAGEID ] )
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   261
            {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   262
            case PNS_NAME_ADD_IND :
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   263
                {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   264
                C_TRACE( ( _T( "DISICommunicationManager::HandleBootMessage PNS_NAME_ADD_IND" ) ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   265
                iBootMsgCount--;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   266
                break;
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   267
                }
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   268
            case PNS_NAME_ADD_RESP :
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   269
                {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   270
                C_TRACE( ( _T( "DISICommunicationManager::HandleBootMessage PNS_NAME_ADD_RESP" ) ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   271
                ASSERT_RESET_ALWAYS( ( messageDuringBootPtr[ ISI_HEADER_SIZE + PNS_NAME_ADD_RESP_OFFSET_REASON ] == PN_NAME_OK ), ( EISICommunicationManagerWrongMessage | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   272
                iBootMsgCount--;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   273
                break;
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   274
                }
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   275
            default:
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   276
                {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   277
                ASSERT_RESET_ALWAYS( 0, ( EISICommunicationManagerWrongMessageOrder2 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   278
                break;
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   279
                }
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   280
            }
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   281
        }
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   282
    else
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   283
        {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   284
        ASSERT_RESET_ALWAYS( 0, ( EISICommunicationManagerWrongMessageOrder | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   285
        }
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   286
    C_TRACE( ( _T( "DISICommunicationManager::HandleBootMessage 0x%x<" ), &aMessageDuringBoot ) );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   287
    }
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   288
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   289
void DISICommunicationManager::HandleApeCommunicationManagerMessage( 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   290
        const TDesC8& aMessageToCommunicationManager
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   291
        )
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   292
    {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   293
    C_TRACE( ( _T( "DISICommunicationManager::HandleApeCommunicationManagerMessage 0x%x>" ), &aMessageToCommunicationManager ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   294
    const TUint8* messagePtr = aMessageToCommunicationManager.Ptr();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   295
    ASSERT_RESET_ALWAYS( messagePtr, ( EISICommunicationManagerNullPointer9 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   296
    ASSERT_RESET_ALWAYS( ( aMessageToCommunicationManager.Length() > ( ISI_HEADER_OFFSET_MESSAGEID ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   297
                         ( EISICommunicationInvalidLength7 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );    
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   298
    if( messagePtr[ ISI_HEADER_OFFSET_MESSAGEID ] == COMMON_MESSAGE )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   299
        {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   300
        HandleCommunicationManagerCommonMessage( aMessageToCommunicationManager );		
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   301
        }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   302
    else
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   303
        {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   304
        C_TRACE( ( _T( "DISICommunicationManager::HandleApeCommunicationManagerMessage subscription x%x" ), &aMessageToCommunicationManager ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   305
        switch( messagePtr[ ISI_HEADER_OFFSET_MESSAGEID ] )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   306
            {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   307
            case APE_COMMGR_SUBSCRIBE_REQ:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   308
                {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   309
                SendApeCommgrSubscribeResp( aMessageToCommunicationManager );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   310
                iISIIndicationHandler->Subscribe( aMessageToCommunicationManager );        
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   311
                break;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   312
                }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   313
            default:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   314
                {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   315
                TRACE_ASSERT_ALWAYS;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   316
                SendCommServiceNotIdentifiedResp( aMessageToCommunicationManager );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   317
                break;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   318
                }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   319
            }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   320
        }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   321
    C_TRACE( ( _T( "DISICommunicationManager::HandleApeCommunicationManagerMessage 0x%x<" ), &aMessageToCommunicationManager ) );	
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   322
    }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   323
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   324
void DISICommunicationManager::HandlePnCommgrMessage(
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   325
        const TDesC8& aMessageToCommunicationManager
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   326
        )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   327
    {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   328
    C_TRACE( ( _T( "DISICommunicationManager::HandleCellmoCommunicationManagerMessage 0x%x>" ), &aMessageToCommunicationManager ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   329
    const TUint8* messagePtr = aMessageToCommunicationManager.Ptr();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   330
    ASSERT_RESET_ALWAYS( messagePtr, ( EISICommunicationManagerNullPointer15 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   331
    ASSERT_RESET_ALWAYS( ( aMessageToCommunicationManager.Length() > ( ISI_HEADER_OFFSET_MESSAGEID ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   332
                         ( EISICommunicationInvalidLength13 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );    
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   333
    if( messagePtr[ ISI_HEADER_OFFSET_MESSAGEID ] == COMMON_MESSAGE )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   334
        {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   335
        HandleCommunicationManagerCommonMessage( aMessageToCommunicationManager );	
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   336
        }
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   337
    else
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   338
        {
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   339
        C_TRACE( ( _T( "DISICommunicationManager::HandleCellmoCommunicationManagerMessage subscription x%x" ), &aMessageToCommunicationManager ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   340
        switch( messagePtr[ ISI_HEADER_OFFSET_MESSAGEID ] )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   341
             {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   342
             case PNS_SUBSCRIBED_RESOURCES_EXTEND_IND: //PNS_SUBSCRIBED_RESOURCES_EXTEND_IND:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   343
                {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   344
                iISIIndicationHandler->Subscribe( aMessageToCommunicationManager );          		  	
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   345
                break;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   346
                }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   347
            default:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   348
               {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   349
               TRACE_ASSERT_ALWAYS;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   350
               SendCommServiceNotIdentifiedResp( aMessageToCommunicationManager );              
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   351
               break;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   352
               }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   353
            }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   354
        }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   355
    C_TRACE( ( _T( "DISICommunicationManager::HandleCellmoCommunicationManagerMessage 0x%x<" ), &aMessageToCommunicationManager ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   356
    }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   357
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   358
void DISICommunicationManager::HandleCommunicationManagerCommonMessage(
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   359
        const TDesC8& aMessageToCommunicationManager
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   360
        )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   361
    {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   362
    C_TRACE( ( _T( "DISICommunicationManager::HandleCommunicationManagerCommonMessage 0x%x>" ), &aMessageToCommunicationManager ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   363
    const TUint8* messagePtr = aMessageToCommunicationManager.Ptr();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   364
    ASSERT_RESET_ALWAYS( messagePtr, ( EISICommunicationManagerNullPointer16 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   365
    ASSERT_RESET_ALWAYS( ( aMessageToCommunicationManager.Length() > ( ISI_HEADER_OFFSET_MESSAGEID ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   366
                         ( EISICommunicationInvalidLength14 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   367
    if( messagePtr[ ISI_HEADER_OFFSET_MESSAGEID ] == COMMON_MESSAGE )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   368
        {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   369
        ASSERT_RESET_ALWAYS( ( aMessageToCommunicationManager.Length() > ( ISI_HEADER_OFFSET_SUBMESSAGEID ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   370
                         ( EISICommunicationInvalidLength9 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   371
        switch( messagePtr[ ISI_HEADER_OFFSET_SUBMESSAGEID ] )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   372
            {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   373
            case COMM_ISA_ENTITY_NOT_REACHABLE_RESP:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   374
                {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   375
                C_TRACE( ( _T( "DISICommunicationManager::HandleCommunicationManagerCommonMessage COMM_ISA_ENTITY_NOT_REACHABLE_RESP0 x%x" ), &aMessageToCommunicationManager ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   376
                break;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   377
                }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   378
            case COMM_ISI_VERSION_GET_REQ:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   379
                {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   380
                C_TRACE( ( _T( "DISICommunicationManager::HandleCommunicationManagerCommonMessage COMM_ISI_VERSION_GET_REQ x%x" ), &aMessageToCommunicationManager ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   381
                SendCommIsiVersionGetResp( aMessageToCommunicationManager );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   382
                break;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   383
                }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   384
            default:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   385
                {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   386
                C_TRACE( ( _T( "DISICommunicationManager::HandleCommunicationManagerCommonMessage unknown COMMON_MESSAGE x%x" ), &aMessageToCommunicationManager ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   387
                SendCommServiceNotIdentifiedResp( aMessageToCommunicationManager );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   388
                break;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   389
                }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   390
             }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   391
        }
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   392
    }
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   393
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   394
void DISICommunicationManager::HandleMessageMulticast(
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   395
        const TDesC8& aMessageToMulticast
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   396
        )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   397
    {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   398
    C_TRACE( ( _T( "DISICommunicationManager::HandleMessageMulticast 0x%x>" ), &aMessageToMulticast ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   399
    const TUint8* messageToMulticastPtr = aMessageToMulticast.Ptr();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   400
    ASSERT_RESET_ALWAYS( messageToMulticastPtr, ( EISICommunicationManagerNullPointer10 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   401
    ASSERT_RESET_ALWAYS( ( aMessageToMulticast.Length() > ( ISI_HEADER_OFFSET_SENDERDEVICE ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   402
                         ( EISICommunicationInvalidLength8 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );    
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   403
    if( ( messageToMulticastPtr[ ISI_HEADER_OFFSET_SENDERDEVICE ] != PN_DEV_OWN ) ||
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   404
#ifndef ISCE_NO_NEED_TO_VALIDATE_RESOURCE
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   405
        ( MISICommunicationManagerIf::IsValidResource( aMessageToMulticast ) )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   406
#else
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   407
        ETrue
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   408
#endif
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   409
      )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   410
        {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   411
        C_TRACE( ( _T( "DISICommunicationManager::HandleMessageMulticast multicasting 0x%x" ), &aMessageToMulticast ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   412
        iISIIndicationHandler->Multicast( aMessageToMulticast );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   413
        }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   414
    else
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   415
        {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   416
        TRACE_ASSERT_ALWAYS;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   417
        C_TRACE( ( _T( "DISICommunicationManager::HandleMessageMulticast ILLEGAL Resource from APE in message 0x%x" ), &aMessageToMulticast ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   418
        }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   419
    C_TRACE( ( _T( "DISICommunicationManager::HandleMessageMulticast 0x%x<" ), &aMessageToMulticast ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   420
    }
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   421
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   422
void DISICommunicationManager::SendApeCommgrSubscribeResp(
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   423
        const TDesC8& aMessage
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   424
        )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   425
    {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   426
    C_TRACE( ( _T( "DISICommunicationManager::SendApeCommgrSubscribeResp 0x%x>" ), &aMessage ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   427
    TUint16 msgLength( ISI_HEADER_SIZE + SIZE_APE_COMMGR_SUBSCRIBE_RESP );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   428
    TDes8& pnsSubscribeResp = MemApi::AllocBlock( msgLength );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   429
    pnsSubscribeResp.SetLength( msgLength );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   430
    TUint8* msgPtr = const_cast<TUint8*>( aMessage.Ptr() );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   431
    ASSERT_RESET_ALWAYS( msgPtr, ( EISICommunicationManagerNullPointer4 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   432
    ASSERT_RESET_ALWAYS( ( aMessage.Length() > ( ISI_HEADER_OFFSET_TRANSID ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   433
                         ( EISICommunicationInvalidLength2 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   434
    TUint8* pnsSubscribeRespPtr = const_cast<TUint8*>( pnsSubscribeResp.Ptr() );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   435
    ASSERT_RESET_ALWAYS( pnsSubscribeRespPtr, ( EISICommunicationManagerNullPointer5 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   436
    ASSERT_RESET_ALWAYS( ( pnsSubscribeResp.Length() > ( ISI_HEADER_SIZE + APE_COMMGR_SUBSCRIBE_RESP_OFFSET_RESULT ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   437
                         ( EISICommunicationInvalidLength3 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   438
    pnsSubscribeRespPtr[ ISI_HEADER_OFFSET_MEDIA ] = msgPtr[ ISI_HEADER_OFFSET_MEDIA ];
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   439
    SET_RECEIVER_DEV( pnsSubscribeRespPtr, GET_SENDER_DEV( aMessage ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   440
    SET_SENDER_DEV( pnsSubscribeRespPtr, PN_DEV_OWN );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   441
    pnsSubscribeRespPtr[ ISI_HEADER_OFFSET_RESOURCEID ] = PN_APE_COMMGR;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   442
    SET_LENGTH( pnsSubscribeRespPtr, ( msgLength - PN_HEADER_SIZE ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   443
    SET_RECEIVER_OBJ( pnsSubscribeRespPtr, GET_SENDER_OBJ( aMessage ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   444
    SET_SENDER_OBJ( pnsSubscribeRespPtr, iObjectIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   445
    pnsSubscribeRespPtr[ ISI_HEADER_SIZE + APE_COMMGR_SUBSCRIBE_RESP_OFFSET_TRANSID ] = msgPtr[ ISI_HEADER_OFFSET_TRANSID ];
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   446
    pnsSubscribeRespPtr[ ISI_HEADER_SIZE + APE_COMMGR_SUBSCRIBE_RESP_OFFSET_MESSAGEID ] = APE_COMMGR_SUBSCRIBE_RESP;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   447
    pnsSubscribeRespPtr[ ISI_HEADER_SIZE + APE_COMMGR_SUBSCRIBE_RESP_OFFSET_RESULT ] = msgPtr[ ISI_HEADER_OFFSET_SENDERDEVICE ] == PN_DEV_OWN ? APE_COMMGR_OK : APE_COMMGR_NOT_ALLOWED;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   448
    TRACE_ASSERT( APE_COMMGR_OK == pnsSubscribeRespPtr[ ISI_HEADER_SIZE + APE_COMMGR_SUBSCRIBE_RESP_OFFSET_RESULT ] );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   449
    TInt sendResult = iRouter->Send( pnsSubscribeResp, iObjectIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   450
    ASSERT_RESET_ALWAYS( ( sendResult == KErrNone ), ( EISICommunicationManagerSendFailed2 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );    
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   451
    C_TRACE( ( _T( "DISICommunicationManager::SendApeCommgrSubscribeResp 0x%x<" ), &aMessage ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   452
    }
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   453
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   454
void DISICommunicationManager::SendCommServiceNotIdentifiedResp(
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   455
        const TDesC8& aMessage
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   456
        )
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   457
    {
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   458
    C_TRACE( ( _T( "DISICommunicationManager::SendCommServiceNotIdentifiedResp 0x%x>" ), &aMessage ) );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   459
    //  check if possible to go in wild loop if incoming message is not_reachable_resp 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   460
    TInt commonServiceNotIdentifiedLength( ISI_HEADER_SIZE + SIZE_COMMON_MESSAGE_COMM_SERVICE_NOT_IDENTIFIED_RESP );       
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   461
    TDes8& commonServiceNotIdentifiedResp = MemApi::AllocBlock( commonServiceNotIdentifiedLength );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   462
    commonServiceNotIdentifiedResp.SetLength( commonServiceNotIdentifiedLength );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   463
    TUint8* commonServiceNotIdentifiedRespPtr( const_cast<TUint8*>( commonServiceNotIdentifiedResp.Ptr() ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   464
    ASSERT_RESET_ALWAYS( commonServiceNotIdentifiedRespPtr, ( EISICommunicationManagerNullPointer6 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   465
    ASSERT_RESET_ALWAYS( ( commonServiceNotIdentifiedResp.Length() > ( ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_SERVICE_NOT_IDENTIFIED_RESP_OFFSET_FILLERBYTE3 ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   466
                         ( EISICommunicationInvalidLength4 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   467
    const TUint8* receivedMsgPtr( aMessage.Ptr() );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   468
    ASSERT_RESET_ALWAYS( receivedMsgPtr, ( EISICommunicationManagerNullPointer11 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   469
    ASSERT_RESET_ALWAYS( ( aMessage.Length() > ( ISI_HEADER_OFFSET_SUBMESSAGEID ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   470
                         ( EISICommunicationInvalidLength10 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   471
    SetIsiHeaderForCommonMessage( commonServiceNotIdentifiedResp, aMessage );    
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   472
    commonServiceNotIdentifiedRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_SERVICE_NOT_IDENTIFIED_RESP_OFFSET_SUBMESSAGEID ] = COMM_SERVICE_NOT_IDENTIFIED_RESP;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   473
    commonServiceNotIdentifiedRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_SERVICE_NOT_IDENTIFIED_RESP_OFFSET_NOTSERVEDMESSAGEID ] = receivedMsgPtr[ ISI_HEADER_OFFSET_MESSAGEID ];
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   474
    commonServiceNotIdentifiedRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_SERVICE_NOT_IDENTIFIED_RESP_OFFSET_FILLERBYTE1 ] = KFiller;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   475
    commonServiceNotIdentifiedRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_SERVICE_NOT_IDENTIFIED_RESP_OFFSET_NOTSERVEDSUBMESSAGEID ] = receivedMsgPtr[ ISI_HEADER_OFFSET_SUBMESSAGEID ];
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   476
    commonServiceNotIdentifiedRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_SERVICE_NOT_IDENTIFIED_RESP_OFFSET_FILLERBYTE2 ] = KFiller;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   477
    commonServiceNotIdentifiedRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_SERVICE_NOT_IDENTIFIED_RESP_OFFSET_FILLERBYTE3 ] = KFiller;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   478
    TInt sendResult = iRouter->Send( commonServiceNotIdentifiedResp, iObjectIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   479
    ASSERT_RESET_ALWAYS( ( sendResult == KErrNone ), ( EISICommunicationManagerSendFailed | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   480
    C_TRACE( ( _T( "DISICommunicationManager::SendCommServiceNotIdentifiedResp 0x%x<" ), &aMessage ) );
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   481
    }
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   482
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   483
void DISICommunicationManager::SendCommIsiVersionGetResp(
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   484
        const TDesC8& aMessage
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   485
        )
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   486
    {
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   487
    C_TRACE( ( _T( "DISICommunicationManager::SendCommIsiVersionGetResp 0x%x>" ), &aMessage ) );
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   488
    TInt commonIsiVersionGetRespLength( ISI_HEADER_SIZE + SIZE_COMMON_MESSAGE_COMM_ISI_VERSION_GET_RESP );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   489
    TDes8& commonIsiVersionGetResp = MemApi::AllocBlock( commonIsiVersionGetRespLength );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   490
    commonIsiVersionGetResp.SetLength( commonIsiVersionGetRespLength );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   491
    TUint8* commonIsiVersionGetRespPtr( const_cast<TUint8*>( commonIsiVersionGetResp.Ptr() ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   492
    ASSERT_RESET_ALWAYS( commonIsiVersionGetRespPtr, ( EISICommunicationManagerNullPointer8 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   493
    ASSERT_RESET_ALWAYS( ( commonIsiVersionGetResp.Length() > ( ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_ISI_VERSION_GET_RESP_OFFSET_FILLERBYTE3 ) ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   494
                         ( EISICommunicationInvalidLength6 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   495
    const TUint8* receivedMsgPtr( aMessage.Ptr() );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   496
    ASSERT_RESET_ALWAYS( receivedMsgPtr, ( EISICommunicationManagerNullPointer12 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   497
    SetIsiHeaderForCommonMessage( commonIsiVersionGetResp, aMessage );    
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   498
    commonIsiVersionGetRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_ISI_VERSION_GET_RESP_OFFSET_SUBMESSAGEID ] = COMM_ISI_VERSION_GET_RESP;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   499
    commonIsiVersionGetRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_ISI_VERSION_GET_RESP_OFFSET_ISIVERSIONZZZ ] = APE_COMMUNICATION_MANAGER_SERVER_ISI_VERSION_Z;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   500
    commonIsiVersionGetRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_ISI_VERSION_GET_RESP_OFFSET_ISIVERSIONYYY ] = APE_COMMUNICATION_MANAGER_SERVER_ISI_VERSION_Y;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   501
    commonIsiVersionGetRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_ISI_VERSION_GET_RESP_OFFSET_FILLERBYTE1 ] = KFiller;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   502
    commonIsiVersionGetRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_ISI_VERSION_GET_RESP_OFFSET_FILLERBYTE2 ] = KFiller;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   503
    commonIsiVersionGetRespPtr[ ISI_HEADER_SIZE + COMMON_MESSAGE_COMM_ISI_VERSION_GET_RESP_OFFSET_FILLERBYTE3 ] = KFiller;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   504
    TInt sendResult = iRouter->Send( commonIsiVersionGetResp, iObjectIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   505
    ASSERT_RESET_ALWAYS( ( sendResult == KErrNone ), ( EISICommunicationManagerSendFailed1 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   506
    C_TRACE( ( _T( "DISICommunicationManager::SendCommIsiVersionGetResp 0x%x<" ), &aMessage ) );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   507
    }
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   508
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   509
void DISICommunicationManager::SetIsiHeaderForCommonMessage(
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   510
        TDes8& aCommonResponse,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   511
        const TDesC8& aCommonRequest
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   512
        )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   513
    {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   514
    C_TRACE( ( _T( "DISICommunicationManager::SetIsiHeaderForCommonMessage 0x%x 0x%x>" ), &aCommonResponse, &aCommonRequest ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   515
    const TUint8* commonRequestPtr = aCommonRequest.Ptr();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   516
    TUint8* commonResponsePtr = const_cast<TUint8*>( aCommonResponse.Ptr() );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   517
    ASSERT_RESET_ALWAYS( commonRequestPtr, ( EISICommunicationManagerNullPointer13 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   518
    ASSERT_RESET_ALWAYS( commonResponsePtr, ( EISICommunicationManagerNullPointer14 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );     
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   519
    ASSERT_RESET_ALWAYS( ( aCommonRequest.Length() > ISI_HEADER_OFFSET_TRANSID ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   520
                         ( EISICommunicationInvalidLength11 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   521
    ASSERT_RESET_ALWAYS( ( aCommonResponse.Length() > ISI_HEADER_OFFSET_MESSAGEID ),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   522
                         ( EISICommunicationInvalidLength12 | EDISICommunicationManagerTraceId << KClassIdentifierShift ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   523
    commonResponsePtr[ ISI_HEADER_OFFSET_MEDIA ] = commonRequestPtr[ ISI_HEADER_OFFSET_MEDIA ];
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   524
    SET_RECEIVER_DEV( commonResponsePtr, GET_SENDER_DEV( commonRequestPtr ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   525
    SET_SENDER_DEV( commonResponsePtr, PN_DEV_OWN );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   526
    commonResponsePtr[ ISI_HEADER_OFFSET_RESOURCEID ] = commonRequestPtr[ ISI_HEADER_OFFSET_RESOURCEID ];
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   527
    SET_LENGTH( commonResponsePtr, ( aCommonResponse.Length() - PN_HEADER_SIZE ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   528
    SET_RECEIVER_OBJ( commonResponsePtr, GET_SENDER_OBJ( commonRequestPtr ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   529
    SET_SENDER_OBJ( commonResponsePtr, iObjectIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   530
    commonResponsePtr[ ISI_HEADER_OFFSET_TRANSID ] = commonRequestPtr[ ISI_HEADER_OFFSET_TRANSID ];
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   531
    commonResponsePtr[ ISI_HEADER_OFFSET_MESSAGEID ] = COMMON_MESSAGE;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   532
    C_TRACE( ( _T( "DISICommunicationManager::SetIsiHeaderForCommonMessage 0x%x 0x%x<" ), &aCommonResponse, &aCommonRequest ) );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   533
    }
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   534
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   535
DECLARE_STANDARD_EXTENSION()
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   536
    {
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   537
    Kern::Printf( "ISI Communication Manager extension>" );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   538
    // Create a container extension
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   539
    DISICommunicationManager* extension = new DISICommunicationManager();
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   540
    TRACE_ASSERT( extension );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   541
    Kern::Printf( "ISI Communication Manager extension<" );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   542
    return extension ? KErrNone : KErrNoMemory;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   543
    }
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   544
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   545