connectivitylayer/isce/isinameservice_dll/inc/isinameservice.h
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
#ifndef __ISINAMESERVICE_H__
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    20
#define __ISINAMESERVICE_H__
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    21
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    22
#include "misirouterobjectif.h"
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    23
#include "misicommunicationmanagerif.h"
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    24
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    25
#ifdef ISCE_INTERNAL_WIDER_NAME_SERVICE_IN_USE
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    26
class DISINameServiceExtended;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    27
#define ISCE_INTERNAL_EXTENDED_RESOURCE_ROUTING_SUPPORTED
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    28
#endif
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    29
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    30
class MISIObjectRouterIf;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    31
class DNameRecords;
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    32
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    33
/*
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    34
* ISI router.
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    35
*/
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
    36
NONSHARABLE_CLASS( DISINameService ) : public DBase, public MISIRouterObjectIf, public MISICommunicationManagerIf
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    37
    {
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    38
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    39
    public:
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    40
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    41
        /*
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    42
        * Default contructor
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    43
        */
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    44
        DISINameService();
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
        /*
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    47
        * Destructor
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    48
        */
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    49
        ~DISINameService();
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    50
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    51
        /*
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    52
        * See comments from MISIRouterObjectIf
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    53
        */
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    54
        void Receive( const TDesC8& aMessage );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    55
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    56
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    57
        * See comments from MISICommunicationManagerIf
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    58
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    59
        static TBool IsValidResource( const TDesC8& aMessage );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    60
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    61
        /*
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    62
        * See comments from MISICommunicationManagerIf
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    63
        */
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    64
        static TUint8 GetDeviceIdentifierByResource( const TUint32 aResourceIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    65
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    66
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    67
        * Return device identifier for a given resource identifier
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    68
        * @param aResourceIdentifier
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    69
        * @return device identifier
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    70
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    71
        TUint8 GetDeviceIdByResource( const TUint32 aResourceIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    72
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    73
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    74
        * Return device identifier for a given resource identifier
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    75
        * @param aMessage, message which contains the resource to check
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    76
        * @return ETrue if resource was valid
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    77
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    78
        TBool HandleResourceValidationCheck( const TDesC8& aMessage );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    79
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    80
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    81
        * Returns a pointer to self.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    82
        * If pointer does not exist shall assert and throw a fault.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    83
        * @return DISINameService*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    84
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    85
        static DISINameService* GetISINameServiceF();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    86
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    87
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    88
        * Returns pointer to name records.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    89
        * If pointer does not exist shall assert and throws a fault.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    90
        * @return DNameRecords*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    91
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    92
        DNameRecords* GetNameRecordsF();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    93
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
    94
    private:
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    95
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
        * Construct COMM_ISA_ENTITY_NOT_REACHABLE_RESP message and
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    98
        * send message to router.
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    99
        */
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   100
        void BuildAndSendCommIsaEntityNotReachableResp( const TDesC8& aMsg );
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   101
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   102
        void HandlePnsNameMessage( const TDesC8& aMessage );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   103
        void HandleNameQueryReq( const TDesC8& aPnsNameQueryReq );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   104
        void HandleNameRemoveReq( const TDesC8& aPnsNameRemoveReq );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   105
        void HandleNameAddReq( const TDesC8& aPnsNameAddReq );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   106
        void HandleCommonMessage( const TDesC8& aCommonMessage );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   107
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   108
        void SendCommServiceNotIdentifiedResp( TDes8& aCommServiceNotIdentifiedRespMsg );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   109
        void SendCommIsiVersionGetResp( TDes8& aCommIsiVersionGetRespMsg );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   110
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   111
        // Extended resource identifier support for NameService
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   112
        TUint32 GetResourceUsedInMessage( const TDesC8& aMessageToBeResourceRouted );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   113
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   114
        void SetIsiHeaderForCommonResp( const TDesC8& aResponseMessage,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   115
                                        const TDesC8& aRequestMessage );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   116
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   117
        void SetIsiHeaderForResp( const TDesC8& aResponseMessage,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   118
                                  const TDesC8& aRequestMessage,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   119
                                  const TUint8 aResponseMessageIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   120
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   121
        void SetIsiHeaderForIndication( const TDesC8& aIndicationToModify,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   122
                                        const TDesC8& aPnsNameRequest,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   123
                                        const TUint8 aIndicationMessageIdentifier );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   124
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   125
        void TxPnsNameAddInd( const TDesC8& aPnsNameAddReq,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   126
                              const TUint32 aName,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   127
                              const TUint16 aPhoNetAddress,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   128
                              const TUint8 aFlags );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   129
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   130
        void TxPnsNameRemoveInd( const TDesC8& aPnsNameRemoveReq,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   131
                                 const TUint32 aName,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   132
                                 const TUint16 aPhoNetAddress,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   133
                                 const TUint8 aFlags );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   134
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   135
#ifdef ISCE_INTERNAL_WIDER_NAME_SERVICE_IN_USE
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   136
    public:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   137
#endif // ISCE_INTERNAL_WIDER_NAME_SERVICE_IN_USE
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   138
        void SendToRouter( TDes8& aMessage );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   139
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   140
     // Because accessed from MISICommunicationManagerIf::IsValidResource function.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   141
     public:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   142
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   143
        void LockNameServiceDMutex();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   144
        void FreeNameServiceDMutex();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   145
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   146
#ifdef ISCE_INTERNAL_WIDER_NAME_SERVICE_IN_USE
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   147
    private:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   148
        DISINameServiceExtended* iISINameServiceExtended;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   149
#endif // ISCE_INTERNAL_WIDER_NAME_SERVICE_IN_USE
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   150
    private:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   151
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   152
        // Not owned.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   153
        MISIObjectRouterIf*     iRouter;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   154
        // Owned
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   155
        static DMutex*          iNameServiceMutex;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   156
        // Owned
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   157
        DNameRecords*           iNameRecords;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   158
        // Owned
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   159
        static DISINameService* iThisptr; 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   160
        TUint8                  iObjId;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   161
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   162
    };
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   163
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   164
#ifdef ISCE_INTERNAL_WIDER_NAME_SERVICE_IN_USE
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   165
class DISINameService;
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   166
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   167
/*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   168
* ISI router.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   169
*/
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   170
NONSHARABLE_CLASS( DISINameServiceExtended ) : public DBase
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   171
    {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   172
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   173
    private: 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   174
        
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   175
        enum TStateOfSubscription
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   176
            {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   177
            ENotSubscribed = 0,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   178
            ESubscribed,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   179
            EDone,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   180
            };
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   181
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   182
    public:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   183
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   184
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   185
        * Default contructor
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   186
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   187
        DISINameServiceExtended( DISINameService* aNameService );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   188
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   189
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   190
        * Destructor
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   191
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   192
        ~DISINameServiceExtended();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   193
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   194
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   195
        * Responsibility to deallocate message is transferred.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   196
        * @aPnsNameAddInd, message
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   197
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   198
        void RxPnsNameAddInd( const TDesC8& aPnsNameAddInd );
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   199
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   200
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   201
        * Ownership of the message is not transferred.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   202
        * @param aMessage, message where to check the device id
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   203
        * @return ETrue if own device
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   204
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   205
        TBool IsRxDeviceOwnDevice( const TDesC8& aMessage );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   206
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   207
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   208
        * Check is the ape commgr subscribe response message already received
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   209
        * @return ETrue if not received ape commgr subscribe resp already
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   210
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   211
        TBool ApeCommgrSubscribeRespNotReceived();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   212
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   213
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   214
        * @return ETrue if not subsribed name add ind message
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   215
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   216
        TBool NotSubscribedNameAddIndAlready();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   217
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   218
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   219
        * Receive the ape commgr subscribe response.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   220
        * Ownership of the message is transferred.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   221
        * @param aMessage
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   222
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   223
        void RxApeCommgrSubscribeResp( const TDesC8& aMessage );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   224
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   225
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   226
        * Subscribes pns name add ind
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   227
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   228
        void SubscribePnsNameAddInd();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   229
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   230
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   231
        * Modifies communication manager resource to contain also device identifier
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   232
        * [0]=PN_COMMGR [1]=Device Identifier [2]=don't care [3]=don't care
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   233
        * @param aCommgrResource, reference to resource, which value shall be modified
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   234
        * @param aDeviceIdentifier
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   235
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   236
        void ModifyCommgrResource( TUint32& aCommgrResource, const TUint8 aDeviceIdentifier );
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   237
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   238
    private:
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   239
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   240
        void AddModemResources();
7
fa67e03b87df New release based on our 2010wk08 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   241
        
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   242
        //void AddPnDevDspMainResources();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   243
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   244
        void HandleApeCommgrSubscribeResp( const TDesC8& aApeCommGrSubscribeResp );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   245
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   246
        //void HandleNameAddInd( const TDesC8& aNameAddInd );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   247
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   248
        //void SubscribeNameAddInd();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   249
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   250
        // Not owned
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   251
        DISINameService*        iISINameService;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   252
        TStateOfSubscription    iShNameAddIndSubscriptionState;
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   253
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   254
    };
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   255
#endif // ISCE_INTERNAL_WIDER_NAME_SERVICE_IN_USE
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 7
diff changeset
   256
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   257
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   258
#endif /* __ISINAMESERVICE_H__ */
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   259