author | mikaruus |
Tue, 19 Oct 2010 13:16:20 +0300 | |
changeset 9 | 8486d82aef45 |
parent 5 | 8ccc39f9d787 |
permissions | -rw-r--r-- |
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 "namerecords.h" |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
20 |
#include <nsisi.h> |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
21 |
#include "isinameservicetrace.h" // For C_TRACE, ASSERT_RESET.. and fault codes |
9 | 22 |
#include "isihelpers.h" // For PN_DEV_OWN |
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
23 |
|
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
24 |
enum TISINameRecordsFaults |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
25 |
{ |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
26 |
EISINameRecordsMemAllocFailure = 0x01, |
9 | 27 |
EISINameRecordsNullPointer, |
28 |
EISINameRecordsNullPointer2, |
|
29 |
EISINameRecordsNullPointer3, |
|
30 |
EISINameRecordsNullPointer4, |
|
31 |
EISINameRecordsNotFoundEntry, |
|
5
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 |
|
9 | 34 |
const TUint8 KAlwaysAssert( 0x00 ); |
35 |
const TUint16 KOwnDeviceRouter( PN_DEV_OWN << 8 ); |
|
36 |
||
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
37 |
DNameRecords::DNameRecords() |
9 | 38 |
{ |
39 |
//nothing |
|
40 |
C_TRACE( ( _T( "DNameRecords::DNameRecords <>" ) ) ); |
|
41 |
} |
|
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 |
DNameRecords::~DNameRecords() |
9 | 44 |
{ |
45 |
C_TRACE( ( _T( "DNameRecords::~DNameRecords>" ) ) ); |
|
46 |
for( TUint32 i( 0 ); i < iNameTableArray.Count(); i++ ) |
|
47 |
{ |
|
48 |
delete iNameTableArray[ i ]; |
|
49 |
iNameTableArray.Remove( i ); |
|
50 |
} |
|
51 |
iNameTableArray.Reset(); |
|
52 |
C_TRACE( ( _T( "DNameRecords::~DNameRecords<" ) ) ); |
|
53 |
} |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
54 |
|
9 | 55 |
TUint8 DNameRecords::AddName( |
56 |
const TUint32 aName, |
|
57 |
const TUint16 aPhonetAddress, |
|
58 |
const TUint8 aFlags |
|
59 |
) |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
60 |
{ |
9 | 61 |
C_TRACE( ( _T( "DNameRecords::AddName name:0x%x phonetAdd:0x%04x flags: 0x%x>" ), aName, aPhonetAddress, aFlags ) ); |
62 |
TUint8 error( PN_NAME_OK ); |
|
63 |
switch( aFlags ) |
|
64 |
{ |
|
65 |
case PN_NAME_UNDEF : |
|
66 |
case PN_NAME_NOCHG : |
|
67 |
{ |
|
68 |
error = AddNewName( aName, aPhonetAddress, aFlags ); |
|
69 |
break; |
|
70 |
} |
|
71 |
default: |
|
72 |
{ |
|
73 |
TRACE_ASSERT_ALWAYS( KAlwaysAssert ); |
|
74 |
error = PN_NAME_UNKNOWN; |
|
75 |
break; |
|
76 |
} |
|
77 |
} |
|
78 |
C_TRACE( ( _T( "DNameRecords::AddName name:0x%x phonetAdd:0x%04x flags: 0x%x %d<" ), aName, aPhonetAddress, aFlags, error ) ); |
|
79 |
return error; |
|
80 |
} |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
81 |
|
9 | 82 |
TUint8 DNameRecords::RemoveName( |
83 |
const TUint32 aName |
|
84 |
) |
|
85 |
{ |
|
86 |
C_TRACE( ( _T( "DNameRecords::RemoveName name:0x%x>" ), aName ) ); |
|
87 |
TUint8 error( PN_NAME_UNKNOWN ); |
|
88 |
TNameTableEntry* nameEntry = FindMatchingNameTableEntry( aName ); |
|
89 |
if( nameEntry ) |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
90 |
{ |
9 | 91 |
if( nameEntry->iFlags == PN_NAME_UNDEF ) |
92 |
{ |
|
93 |
RemoveUndefinedEntry( *nameEntry ); |
|
94 |
error = PN_NAME_OK; |
|
95 |
} |
|
96 |
else |
|
97 |
{ |
|
98 |
error = PN_NAME_NOT_ALLOWED; |
|
99 |
TRACE_ASSERT_ALWAYS( KAlwaysAssert ); |
|
100 |
} |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
101 |
} |
9 | 102 |
// No need for else, as name is unknown |
103 |
TRACE_ASSERT_ALWAYS( PN_NAME_OK == error ); |
|
104 |
C_TRACE( ( _T( "DNameRecords::RemoveName name:0x%x %d<" ), aName, error ) ); |
|
105 |
return error; |
|
106 |
} |
|
107 |
||
108 |
TInt DNameRecords::LookupPhonetAddress( |
|
109 |
const TUint32 aName, |
|
110 |
TUint16* aPhonetAddress |
|
111 |
) |
|
112 |
{ |
|
113 |
C_TRACE( ( _T( "DNameRecords::LookupPhonetAddress name:0x%x>" ), aName ) ); |
|
114 |
ASSERT_RESET_ALWAYS( aPhonetAddress, ( EISINameRecordsNullPointer2 | EDISINameRecordsTraceId << KClassIdentifierShift ) ); |
|
115 |
TInt error( KErrNotFound ); |
|
116 |
TNameTableEntry* nameEntry = FindMatchingNameTableEntry( aName ); |
|
117 |
if( nameEntry ) |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
118 |
{ |
9 | 119 |
*aPhonetAddress = nameEntry->iPhonetAddress; |
120 |
error = KErrNone; |
|
121 |
} |
|
122 |
// No need for else, as name is not found |
|
123 |
C_TRACE( ( _T( "DNameRecords::LookupPhonetAddress name:0x%x %d<" ), aName, error ) ); |
|
124 |
return error; |
|
125 |
} |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
126 |
|
9 | 127 |
TInt DNameRecords::LookupNamePhonetAddressAndFlags( |
128 |
const TUint32 aName, |
|
129 |
TUint16* aPhonetAddress, |
|
130 |
TUint8* aFlags |
|
131 |
) |
|
132 |
{ |
|
133 |
C_TRACE( ( _T( "DNameRecords::LookupNamePhonetAddressAndFlags name:0x%x>" ), aName ) ); |
|
134 |
ASSERT_RESET_ALWAYS( aPhonetAddress, ( EISINameRecordsNullPointer3 | EDISINameRecordsTraceId << KClassIdentifierShift ) ); |
|
135 |
ASSERT_RESET_ALWAYS( aFlags, ( EISINameRecordsNullPointer4 | EDISINameRecordsTraceId << KClassIdentifierShift ) ); |
|
136 |
TInt error( KErrNotFound ); |
|
137 |
TNameTableEntry* nameEntry = FindMatchingNameTableEntry( aName ); |
|
138 |
if( nameEntry ) |
|
139 |
{ |
|
140 |
*aPhonetAddress = nameEntry->iPhonetAddress; |
|
141 |
*aFlags = nameEntry->iFlags; |
|
142 |
error = KErrNone; |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
143 |
} |
9 | 144 |
// No need for else, as name is not found |
145 |
C_TRACE( ( _T( "DNameRecords::LookupNamePhonetAddressAndFlags name:0x%x %d<" ), aName, error ) ); |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
146 |
return error; |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
147 |
} |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
148 |
|
9 | 149 |
void DNameRecords::NameQuery( |
150 |
const TUint32 aName, |
|
151 |
const TUint32 aMask, |
|
152 |
RArray <TNameTableEntry*>* aResultsArray |
|
153 |
) |
|
154 |
{ |
|
155 |
C_TRACE( ( _T( "DNameRecords::NameQuery name:0x%x mask:0x%x &aResultsArray: 0x%x>" ), aName, aMask, &aResultsArray ) ); |
|
156 |
FindMatchingNameTableEntriesWithMask( aName, aMask, aResultsArray ); |
|
157 |
C_TRACE( ( _T( "DNameRecords::NameQuery name:0x%x mask:0x%x &aResultsArray: 0x%x<" ), aName, aMask, &aResultsArray ) ); |
|
158 |
} |
|
159 |
||
160 |
// privates start |
|
161 |
||
162 |
TUint8 DNameRecords::AddNewName( |
|
163 |
const TUint32 aName, |
|
164 |
const TUint16 aPhonetAddress, |
|
165 |
const TUint8 aFlags |
|
166 |
) |
|
167 |
{ |
|
168 |
E_TRACE( ( _T( "DNameRecords::AddNewName 0x%x 0x%04x 0x%x>" ), aName, aPhonetAddress, aFlags ) ); |
|
169 |
const TUint32 nameTableCount( iNameTableArray.Count() ); |
|
170 |
TUint8 error( PN_NAME_OK ); |
|
171 |
TNameTableEntry* nameEntry = FindMatchingNameTableEntry( aName ); |
|
172 |
if( nameEntry ) |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
173 |
{ |
9 | 174 |
error = AddExistinNameToNameTableArray( nameEntry, aName, aPhonetAddress, aFlags ); |
175 |
} |
|
176 |
else |
|
177 |
{ |
|
178 |
error = AddNewNameToNameTableArray( aName, aPhonetAddress, aFlags ); |
|
179 |
} |
|
180 |
E_TRACE( ( _T( "DNameRecords::AddNewName 0x%x 0x%04x 0x%x error %d<" ), aName, aPhonetAddress, aFlags, error ) ); |
|
181 |
return error; |
|
182 |
} |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
183 |
|
9 | 184 |
TUint8 DNameRecords::AddExistinNameToNameTableArray( |
185 |
TNameTableEntry* aNameTableEntry, |
|
186 |
const TUint32 aName, |
|
187 |
const TUint16 aPhonetAddress, |
|
188 |
const TUint8 aFlags |
|
189 |
) |
|
190 |
{ |
|
191 |
E_TRACE( ( _T( "DNameRecords::AddExistinNameToNameTableArray 0x%x 0x%04x 0x%x exists 0x%x>" ), aName, aPhonetAddress, aFlags, aNameTableEntry ) ); |
|
192 |
TUint8 error( PN_NAME_NOT_ALLOWED ); |
|
193 |
ASSERT_RESET_ALWAYS( aNameTableEntry, ( EISINameRecordsNullPointer | EDISINameRecordsTraceId << KClassIdentifierShift ) ); |
|
194 |
if( aNameTableEntry->iFlags != PN_NAME_NOCHG ) |
|
195 |
{ |
|
196 |
aNameTableEntry->iPhonetAddress = aPhonetAddress; |
|
197 |
aNameTableEntry->iFlags = aFlags; |
|
198 |
error = PN_NAME_OK; |
|
199 |
} |
|
200 |
// No need for else, if not changeable doing nothing. |
|
201 |
TRACE_ASSERT_ALWAYS( PN_NAME_OK == error ); |
|
202 |
E_TRACE( ( _T( "DNameRecords::AddExistinNameToNameTableArray 0x%x 0x%04x 0x%x exists 0x%x error %d<" ), aName, aPhonetAddress, aFlags, aNameTableEntry, error ) ); |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
203 |
return error; |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
204 |
} |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
205 |
|
9 | 206 |
TUint8 DNameRecords::AddNewNameToNameTableArray( |
207 |
const TUint32 aName, |
|
208 |
const TUint16 aPhonetAddress, |
|
209 |
const TUint8 aFlags |
|
210 |
) |
|
211 |
{ |
|
212 |
E_TRACE( ( _T( "DNameRecords::AddNewNameToNameTableArray 0x%x 0x%04x 0x%x>" ), aName, aPhonetAddress, aFlags ) ); |
|
213 |
TUint8 error( PN_NAME_NOT_ALLOWED ); |
|
214 |
// This check is only needed here as these PhoNet addresses may never exist. |
|
215 |
if( KOwnDeviceRouter != aPhonetAddress ) |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
216 |
{ |
9 | 217 |
TNameTableEntry* table = new TNameTableEntry( aName, aPhonetAddress, aFlags ); |
218 |
E_TRACE( ( _T( "DNameRecords::AddNewNameToNameTableArray 0x%x 0x%x 0x%x new 0x%x<>" ), aName, aPhonetAddress, aFlags, table ) ); |
|
219 |
ASSERT_RESET_ALWAYS( table, ( EISINameRecordsMemAllocFailure | EDISINameRecordsTraceId << KClassIdentifierShift ) ); |
|
220 |
iNameTableArray.Append( table ); |
|
221 |
error = PN_NAME_OK; |
|
222 |
} |
|
223 |
// No need for else as not allowed. |
|
224 |
TRACE_ASSERT_ALWAYS( PN_NAME_OK == error ); |
|
225 |
E_TRACE( ( _T( "DNameRecords::AddNewNameToNameTableArray 0x%x 0x%04x 0x%x 0x%x<" ), aName, aPhonetAddress, aFlags, error ) ); |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
226 |
return error; |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
227 |
} |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
228 |
|
9 | 229 |
TNameTableEntry* DNameRecords::FindMatchingNameTableEntry( |
230 |
const TUint32 aName |
|
231 |
) |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
232 |
{ |
9 | 233 |
E_TRACE( ( _T( "DNameRecords::FindMatchingNameTableEntry 0x%x>" ), aName ) ); |
234 |
TNameTableEntry* tableEntry = NULL; |
|
235 |
const TUint32 nameTableCount( iNameTableArray.Count() ); |
|
236 |
for( TUint32 i( 0 ); i < nameTableCount; i++ ) |
|
237 |
{ |
|
238 |
if( iNameTableArray[ i ]->iName == aName ) |
|
239 |
{ |
|
240 |
tableEntry = iNameTableArray[ i ]; |
|
241 |
break; |
|
242 |
} |
|
243 |
// No need for else, continue for |
|
244 |
} |
|
245 |
E_TRACE( ( _T( "DNameRecords::FindMatchingNameTableEntry 0x%x entry 0x%x<" ), aName, tableEntry ) ); |
|
246 |
return tableEntry; |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
247 |
} |
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
248 |
|
9 | 249 |
void DNameRecords::FindMatchingNameTableEntriesWithMask( |
250 |
const TUint32 aName, |
|
251 |
const TUint32 aMask, |
|
252 |
RArray <TNameTableEntry*>* aResultsArray |
|
253 |
) |
|
254 |
{ |
|
255 |
E_TRACE( ( _T( "DNameRecords::FindMatchingNameTableEntriesWithMask 0x%x 0x%x 0x%x>" ), aName, aMask, aResultsArray ) ); |
|
256 |
const TUint32 nameTableCount( iNameTableArray.Count() ); |
|
257 |
for( TUint32 i( 0 ); i < nameTableCount; i++ ) |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
258 |
{ |
9 | 259 |
TNameTableEntry* tableEntry = iNameTableArray[ i ]; |
260 |
if( ( aName == tableEntry->iName ) || |
|
261 |
( ( aName & aMask ) == ( tableEntry->iName & aMask ) ) ) |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
262 |
{ |
9 | 263 |
E_TRACE( ( _T( "DNameRecords::FindMatchingNameTableEntriesWithMask 0x%x 0x%x found" ), aName, aMask ) ); |
264 |
aResultsArray->Append( tableEntry ); |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
265 |
} |
9 | 266 |
// No need for else, if not found no actions. |
267 |
} |
|
268 |
E_TRACE( ( _T( "DNameRecords::FindMatchingNameTableEntriesWithMask 0x%x 0x%x 0x%x<" ), aName, aMask, aResultsArray ) ); |
|
269 |
} |
|
5
8ccc39f9d787
New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents:
diff
changeset
|
270 |
|
9 | 271 |
void DNameRecords::RemoveUndefinedEntry( |
272 |
TNameTableEntry& aNameEntryToRemove |
|
273 |
) |
|
274 |
{ |
|
275 |
E_TRACE( ( _T( "DNameRecords::RemoveUndefinedEntry 0x%x>" ), &aNameEntryToRemove ) ); |
|
276 |
const TInt index = iNameTableArray.Find( &aNameEntryToRemove ); |
|
277 |
ASSERT_RESET_ALWAYS( ( index != KErrNotFound ), ( EISINameRecordsNotFoundEntry | EDISINameRecordsTraceId << KClassIdentifierShift ) ); |
|
278 |
delete iNameTableArray[ index ]; |
|
279 |
iNameTableArray.Remove( index ); |
|
280 |
iNameTableArray.Compress(); |
|
281 |
E_TRACE( ( _T( "DNameRecords::RemoveUndefinedEntry 0x%x<" ), &aNameEntryToRemove ) ); |
|
282 |
} |