--- a/omadm/omadmextensions/adapters/nsmldinternet/src/NSmlInternetAdapter.cpp Fri Mar 12 15:41:35 2010 +0200
+++ b/omadm/omadmextensions/adapters/nsmldinternet/src/NSmlInternetAdapter.cpp Mon Mar 15 12:39:36 2010 +0200
@@ -189,7 +189,8 @@
iNetworkId = KErrNotFound;
iLingerValue = NULL;
- iLingerFlag = ETrue;
+ iLingerFlag = ETrue;
+ isAdd = EFalse;
}
//------------------------------------------------------------------------------
@@ -303,7 +304,7 @@
//
MSmlDmDDFObject& nNameDDF = nNAPDefDDF.AddChildObjectL(KNSmlDdfNAPName); // Name
FillNodeInfoL( nNameDDF,
- aclTypesAddGet,
+ aclTypesNoDelete,
MSmlDmDDFObject::EZeroOrOne,
MSmlDmDDFObject::EDynamic,
MSmlDmDDFObject::EChr,
@@ -830,6 +831,8 @@
_DBG_FILE("CNSmlInternetAdapter::AddLeafObjectL(): begin");
DBG_ARGS8(_S8("AP:add aURI AddLeafObjectL - %S - %S"), &aURI, &aParentLUID);
DBG_ARGS8(_S8("AP:Object %S"), &aObject);
+
+ isAdd = ETrue;
TInt parentLUID(0);
if(aParentLUID.Length()<=0 )
@@ -3487,16 +3490,20 @@
// name
if ( aURI.Find( KNSmlDdfNAPName ) >= 0 )
{
- CCommsDbTableView* tableView = iDatabase->OpenViewMatchingUintLC(serviceType,
+ TUint32 iapID10 = IntLUID(aLUID);
+ /* CCommsDbTableView* tableView = iDatabase->OpenViewMatchingUintLC(serviceType,
qDB,
- serviceId);
+ serviceId);*/
+ CCommsDbTableView* tableView = iDatabase->OpenViewMatchingUintLC(TPtrC(IAP),
+ TPtrC(COMMDB_ID),
+ iapID);
errorCode = tableView->GotoFirstRecord();
if ( errorCode == KErrNone )
{
TBuf<KCommsDbSvrMaxFieldLength> columnValue;
- TRAPD(leavecode,tableView->ReadTextL(qColumn, columnValue));
+ TRAPD(leavecode,tableView->ReadTextL(TPtrC(COMMDB_NAME ), columnValue));
if(leavecode != 0)
{
CleanupStack::PopAndDestroy(); // tableView
@@ -3508,6 +3515,8 @@
pushed++;
}
CleanupStack::PopAndDestroy(); // tableView
+ CleanupStack::PopAndDestroy(pushed);
+ return CSmlDmAdapter::EOk;
}
// BearerL + NoPxForL + IAPService
else if (aURI.Find(KNSmlDdfIAPService) >= 0)
@@ -4835,10 +4844,19 @@
{
// Not correct name
// Remove all mappings from AP/xxx level
- TInt ret = iCallBack->RemoveMappingL( KNSmlInternetAdapterImplUid,
- GetDynamicAPNodeUri( aURI ) , ETrue );
- iPrevURI->Des().Format( KNullDesC8 );
- iPrevLUID = 0;
+ if(isAdd)
+ {
+ TInt ret = iCallBack->RemoveMappingL( KNSmlInternetAdapterImplUid,
+ GetDynamicAPNodeUri( aURI ) , ETrue );
+ iPrevURI->Des().Format( KNullDesC8 );
+ iPrevLUID = 0;
+ }
+ else
+ {
+ iIAPExists = ETrue;
+ iLeafType = EDMUpdate;
+ }
+
}
else
{