connectivitylayer/isce/isinameservice_dll/inc/namerecords.h
author mikaruus
Tue, 19 Oct 2010 13:16:20 +0300
changeset 9 8486d82aef45
parent 5 8ccc39f9d787
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 __NAMERECORDS_H__
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    20
#define __NAMERECORDS_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 <e32def.h>                 // For TUint16
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    23
#include <e32cmn.h>                 // For TDesC8
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    24
#include <klib.h>                   // For DBase
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    25
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    26
NONSHARABLE_CLASS( TNameTableEntry )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    27
    {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    28
    public:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    29
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    30
        TNameTableEntry( const TUint32 aName, const TUint16 aPhonetAddress, const TUint8 aFlags )
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    31
                    :iName(aName),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    32
                     iPhonetAddress(aPhonetAddress),
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    33
                     iFlags(aFlags)
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    34
                     {}
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    35
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    36
        TUint32     iName;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    37
        TUint16     iPhonetAddress;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    38
        TUint8      iFlags;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    39
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    40
    };
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    41
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    42
NONSHARABLE_CLASS( DNameRecords ) : public DBase
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    43
    {
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    44
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    45
    public:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    46
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    47
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    48
        * Assumption each function executed from single thread at the time.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    49
        * Constructor
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    50
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    51
        DNameRecords();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    52
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    53
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    54
        * Assumption each function executed from single thread at the time.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    55
        * Destructor
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    56
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    57
        ~DNameRecords();
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    58
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    59
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    60
        * Assumption each function executed from single thread at the time.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    61
        * @param aName, name to be added
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    62
        * @param aPhonetAddress, PhoNet address of the name to be added
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    63
        * @param aFlags, flags of the name to be added
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    64
        * @return PN_NAME_UNKNOWN if flags value invalid, PN_NAME_NOT_ALLOWED if not changeable name
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    65
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    66
        TUint8 AddName( const TUint32 aName,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    67
                        const TUint16 aPhonetAddress,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    68
                        const TUint8  aFlags );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    69
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    70
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    71
        * Assumption each function executed from single thread at the time.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    72
        * @param aName
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    73
        * @param aPhonetAddress, modified to contain names PhoNet address if name is found
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    74
        * @return KErrNone if found KErrNotFound if not
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    75
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    76
        TInt LookupPhonetAddress( const TUint32 aName, TUint16* aPhonetAddress );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    77
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    78
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    79
        * Assumption each function executed from single thread at the time.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    80
        * @param aName
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    81
        * @param aPhonetAddress, modified to contain names PhoNet address if name is found
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    82
        * @param aFlags, modified to contain names flag if name is found
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    83
        * @return KErrNone if found KErrNotFound if not
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    84
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    85
        TInt LookupNamePhonetAddressAndFlags( const TUint32 aName, TUint16* aPhonetAddress, TUint8* aFlags );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    86
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    87
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    88
        * Assumption each function executed from single thread at the time.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    89
        * @param aName
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    90
        * @param aMask, mask for matching names
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    91
        * @param aResultsArray, array where matches are appended
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    92
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    93
        void NameQuery( const TUint32 aName, const TUint32 aMask, RArray <TNameTableEntry*> *aResultsArray );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
    94
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    95
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    96
        * Assumption each function executed from single thread at the time.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    97
        * @param aName
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    98
        * @return PN_NAME_UNKNOWN if name not found, PN_NAME_NOT_ALLOWED if not allowed to remove name
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
    99
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   100
        TUint8 RemoveName( const TUint32 aName );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   101
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   102
    private:
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   103
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   104
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   105
        * Adds new name to name table.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   106
        * @param aName
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   107
        * @param aPhonetAddress
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   108
        * @param aFlags
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   109
        * @return PN_NAME_NOT_ALLOWED if name not found or it's address was equal to own device router, otherwise PN_NAME_OK
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   110
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   111
        TUint8 AddNewName( const TUint32 aName,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   112
                           const TUint16 aPhonetAddress,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   113
                           const TUint8 aFlags );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   114
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   115
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   116
        * Ownership of the parameter not given.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   117
        * Adds existing name to the name table.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   118
        * @param aNameTableEntry
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   119
        * @param aName
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   120
        * @param aPhonetAddress
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   121
        * @param aFlags
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   122
        * @return PN_NAME_NOT_ALLOWED if not changeable PN_NAME_OK otherwise
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   123
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   124
        TUint8 AddExistinNameToNameTableArray( TNameTableEntry* aNameTableEntry,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   125
                                               const TUint32 aName,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   126
                                               const TUint16 aPhonetAddress,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   127
                                               const TUint8 aFlags );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   128
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   129
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   130
        * Adds and creates new name table entry
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   131
        * @param aName
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   132
        * @param aPhonetAddress
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   133
        * @param aFlags
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   134
        * @return PN_NAME_NOT_ALLOWED if router object tried to add PN_NAME_OK otherwise
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   135
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   136
        TUint8 AddNewNameToNameTableArray( const TUint32 aName,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   137
                                           const TUint16 aPhonetAddress,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   138
                                           const TUint8 aFlags );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   139
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   140
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   141
        * Ownership of the return value not given.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   142
        * @param aName
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   143
        * @return pointer to table entry, NULL if not found
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   144
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   145
        TNameTableEntry* FindMatchingNameTableEntry( const TUint32 aName );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   146
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   147
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   148
        * Ownership of the array is not given.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   149
        * @param aName
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   150
        * @param aMask, mask to find name table entries
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   151
        * @aResultsArray, array where found name table entries are added
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   152
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   153
        void FindMatchingNameTableEntriesWithMask( const TUint32 aName,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   154
                                                   const TUint32 aMask,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   155
                                                   RArray <TNameTableEntry*>* aResultsArray );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   156
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   157
        /*
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   158
        * Remove entry given as paramater.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   159
        * @param aNameEntryToRemove
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   160
        */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   161
        void RemoveUndefinedEntry( TNameTableEntry& aNameEntryToRemove );
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   162
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   163
        // Name table array, owned.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   164
        RArray<TNameTableEntry*> iNameTableArray;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   165
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 5
diff changeset
   166
    };
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   167
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff changeset
   168
#endif /* __NAMERECORDS_H__ */