--- a/ipsservices/ipssossettings/src/ipssetdata.cpp Mon Mar 15 12:39:10 2010 +0200
+++ b/ipsservices/ipssossettings/src/ipssetdata.cpp Wed Mar 31 21:08:33 2010 +0300
@@ -523,7 +523,11 @@
ret.iIAP = 0;
if ( aIncoming )
{
-
+ if (iIncomingIapPref->SNAPDefined())
+ {
+ ret.iIAP = iIncomingIapPref->SNAPPreference();
+ }
+
if ( iIncomingIapPref->NumberOfIAPs() > 0 )
{
ret = iIncomingIapPref->IAPPreference(0);
@@ -916,10 +920,50 @@
CleanupStack::Pop( iIncomingIapPref );
iOutgoingIapPref = CImIAPPreferences::NewLC();
CleanupStack::Pop( iOutgoingIapPref );
-
iIncomingIapPref->AddIAPL( aIncomingIap );
iOutgoingIapPref->AddIAPL( aOutgoingIap );
}
+// ---------------------------------------------------------------------------
+// CIpsSetData::SetIapL()
+// ---------------------------------------------------------------------------
+//
+void CIpsSetData::SetIapL(
+ const CImIAPPreferences& aIncomingIap,
+ const CImIAPPreferences& aOutgoingIap )
+ {
+ FUNC_LOG;
+ // This is not ideal choice, but current situation forces to do this,
+ // until Reset() funcion is exported from class CImIAPPreferences
+ delete iIncomingIapPref;
+ iIncomingIapPref = NULL;
+ delete iOutgoingIapPref;
+ iOutgoingIapPref = NULL;
+
+ iIncomingIapPref = CImIAPPreferences::NewLC();
+ CleanupStack::Pop( iIncomingIapPref );
+ iOutgoingIapPref = CImIAPPreferences::NewLC();
+ CleanupStack::Pop( iOutgoingIapPref );
+
+ if (aIncomingIap.SNAPDefined())
+ {
+ iIncomingIapPref->SetSNAPL(aIncomingIap.SNAPPreference());
+ }
+ else
+ {
+ iIncomingIapPref->AddIAPL( aIncomingIap.IAPPreference(0) );
+ }
+
+ if (aOutgoingIap.SNAPDefined())
+ {
+ iOutgoingIapPref->SetSNAPL(aOutgoingIap.SNAPPreference());
+ }
+ else
+ {
+ iOutgoingIapPref->AddIAPL( aOutgoingIap.IAPPreference(0) );
+ }
+
+ }
+
// ---------------------------------------------------------------------------
// CIpsSetData::SetSecurity()