# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1271251180 -10800 # Node ID 532ef74cdfa075254b3329f4a965cdceda19f646 # Parent c2e8c8b73582b07bea16f1c2a20e3e9e4f49ff04 Revision: 201013 Kit: 201015 diff -r c2e8c8b73582 -r 532ef74cdfa0 realtimenetprots/sipfw/Data/101f413c.cre Binary file realtimenetprots/sipfw/Data/101f413c.cre has changed diff -r c2e8c8b73582 -r 532ef74cdfa0 realtimenetprots/sipfw/Group/bld.inf --- a/realtimenetprots/sipfw/Group/bld.inf Wed Mar 31 22:10:27 2010 +0300 +++ b/realtimenetprots/sipfw/Group/bld.inf Wed Apr 14 16:19:40 2010 +0300 @@ -35,6 +35,8 @@ ../Data/101F413C.txt z:/private/10202be9/101f413c.txt // ProfileAgent's cenrep configuration file for expiry duration ../Data/2001F889.txt z:/private/10202be9/2001f889.txt +// ProfileAgent's default cre file +../Data/101f413c.cre z:/private/10202be9/101f413c.cre // ConfML files ../conf/sipframework.confml MW_LAYER_EXPORTS_CONFML(sipframework.confml) diff -r c2e8c8b73582 -r 532ef74cdfa0 realtimenetprots/sipfw/ProfileAgent/Client/Api/sipmanagedprofile.h --- a/realtimenetprots/sipfw/ProfileAgent/Client/Api/sipmanagedprofile.h Wed Mar 31 22:10:27 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/Client/Api/sipmanagedprofile.h Wed Apr 14 16:19:40 2010 +0300 @@ -69,6 +69,15 @@ * The value is of type TBool. */ const TUint32 KSIPProfileLocked = 504; +/** +* Defines how autoregistration profile behaves on home network/roaming +* situations. If value is ETrue, automatic registration is not allowed +* while roaming. +* The value is of type TBool +* This constant will have no effect from Symbian ^ 3 onwards. +* Registrations in Roaming network can be controlled using "Data Use When Roaming" setting. */ +const TUint32 KSIPAllowAutoRegistrationOnlyOnHomeNetwork = 505; + // FORWARD DECLARATIONS class CSIPManagedProfileRegistry; diff -r c2e8c8b73582 -r 532ef74cdfa0 realtimenetprots/sipfw/ProfileAgent/Group/sipimsagent.mmp --- a/realtimenetprots/sipfw/ProfileAgent/Group/sipimsagent.mmp Wed Mar 31 22:10:27 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/Group/sipimsagent.mmp Wed Apr 14 16:19:40 2010 +0300 @@ -83,6 +83,7 @@ LIBRARY commsdat.lib LIBRARY flogger.lib LIBRARY efsrv.lib +LIBRARY satclient.lib VENDORID 0x70000001 diff -r c2e8c8b73582 -r 532ef74cdfa0 realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp --- a/realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp Wed Mar 31 22:10:27 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp Wed Apr 14 16:19:40 2010 +0300 @@ -567,11 +567,7 @@ if (response) { retry = RetryRegister( &aTransaction, responseCode); - if( retry ) - { - iCurrentState->ErrorOccured(*this, responseCode); - } - else + if( !retry ) { if (responseCode >= K300MultipleChoices) { diff -r c2e8c8b73582 -r 532ef74cdfa0 realtimenetprots/sipfw/ProfileAgent/Profile/Inc/SipProfileLog.inl --- a/realtimenetprots/sipfw/ProfileAgent/Profile/Inc/SipProfileLog.inl Wed Mar 31 22:10:27 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/Profile/Inc/SipProfileLog.inl Wed Apr 14 16:19:40 2010 +0300 @@ -21,9 +21,7 @@ */ -#if !defined(__FLOG_ACTIVE) #include -#endif #include #include diff -r c2e8c8b73582 -r 532ef74cdfa0 realtimenetprots/sipfw/SIP/sipapi/api/sipmessageelements.h --- a/realtimenetprots/sipfw/SIP/sipapi/api/sipmessageelements.h Wed Mar 31 22:10:27 2010 +0300 +++ b/realtimenetprots/sipfw/SIP/sipapi/api/sipmessageelements.h Wed Apr 14 16:19:40 2010 +0300 @@ -166,7 +166,7 @@ TBool iHeaderLookupOpen; private: // For testing purposes -#ifdef CPPUNIt_TEST +#ifdef CPPUNIT_TEST friend class CSIPMessageElementsTest; #endif }; diff -r c2e8c8b73582 -r 532ef74cdfa0 realtimenetprots/sipfw/rom/sipsw.iby --- a/realtimenetprots/sipfw/rom/sipsw.iby Wed Mar 31 22:10:27 2010 +0300 +++ b/realtimenetprots/sipfw/rom/sipsw.iby Wed Apr 14 16:19:40 2010 +0300 @@ -109,6 +109,8 @@ data=ZPRIVATE\101F413C\backup_registration.xml private\101F413C\backup_registration.xml data=DATAZ_\private\10202be9\2001F889.txt private\10202be9\2001F889.txt +// ProfileAgent's default cre file +data=DATAZ_\private\10202be9\101f413c.cre private\10202be9\101f413c.cre #endif /* SYMBIAN_EXCLUDE_SIP*/ diff -r c2e8c8b73582 -r 532ef74cdfa0 sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/Group/ut_cnsmldmsipadapter.mmp --- a/sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/Group/ut_cnsmldmsipadapter.mmp Wed Mar 31 22:10:27 2010 +0300 +++ b/sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/Group/ut_cnsmldmsipadapter.mmp Wed Apr 14 16:19:40 2010 +0300 @@ -62,7 +62,5 @@ LIBRARY nsmldmiapmatcher.lib LIBRARY sysutil.lib LIBRARY efsrv.lib -LIBRARY apengine.lib -LIBRARY commdb.lib // End of file diff -r c2e8c8b73582 -r 532ef74cdfa0 sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/inc/SmlDmCallback_stub.h --- a/sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/inc/SmlDmCallback_stub.h Wed Mar 31 22:10:27 2010 +0300 +++ b/sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/inc/SmlDmCallback_stub.h Wed Apr 14 16:19:40 2010 +0300 @@ -75,6 +75,9 @@ MSmlDmAdapter::TError& aStatus); HBufC8* GetLuidAllocL(const TDesC8& aURI); + + TInt RemoveMappingL(TUint32 aAdapterId, const TDesC8& aURI, TBool aChildAlso); + private: diff -r c2e8c8b73582 -r 532ef74cdfa0 sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/src/SmlDmCallback_stub.cpp --- a/sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/src/SmlDmCallback_stub.cpp Wed Mar 31 22:10:27 2010 +0300 +++ b/sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/src/SmlDmCallback_stub.cpp Wed Apr 14 16:19:40 2010 +0300 @@ -138,6 +138,13 @@ } return iLUID2; } + +TInt CSmlDmCallback_stub::RemoveMappingL( TUint32 /*aAdapterId*/, + const TDesC8& /*aURI*/, + TBool /*aChildAlso*/ ) + { + return KErrNone; + } void CSmlDmCallback_stub::ConstructL() { diff -r c2e8c8b73582 -r 532ef74cdfa0 sipplugins/sippsipsettingsui/inc/gssipmodel.h --- a/sipplugins/sippsipsettingsui/inc/gssipmodel.h Wed Mar 31 22:10:27 2010 +0300 +++ b/sipplugins/sippsipsettingsui/inc/gssipmodel.h Wed Apr 14 16:19:40 2010 +0300 @@ -331,6 +331,9 @@ //Index of new profile in the list TInt iAddedProfileIndex; + + //indicate the registering status + TBool iIsRegistering; }; #endif // GS_SIP_MODEL_H diff -r c2e8c8b73582 -r 532ef74cdfa0 sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h --- a/sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h Wed Mar 31 22:10:27 2010 +0300 +++ b/sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h Wed Apr 14 16:19:40 2010 +0300 @@ -103,6 +103,12 @@ * @return feature id. */ TInt CurrentFeatureId( ); + + /** + * Retrieves the DrawerFlags + * @return feature id. + */ + TInt DrawerFlags( ); /** * Defines observer for the middle softkey label changes. diff -r c2e8c8b73582 -r 532ef74cdfa0 sipplugins/sippsipsettingsui/src/gssipmodel.cpp --- a/sipplugins/sippsipsettingsui/src/gssipmodel.cpp Wed Mar 31 22:10:27 2010 +0300 +++ b/sipplugins/sippsipsettingsui/src/gssipmodel.cpp Wed Apr 14 16:19:40 2010 +0300 @@ -47,6 +47,7 @@ { __GSLOGSTRING("CGSSIPModel::CGSSIPModel" ) iQuitAfterSave = EFalse; + iIsRegistering = EFalse; } // ----------------------------------------------------------------------------- @@ -123,7 +124,7 @@ CSIPManagedProfile* profile = static_cast( iProfiles->At( aIndex ) ); - if ( iEngine->IsInUseL( *profile ) ) + if ( iEngine->IsInUseL( *profile ) || iIsRegistering ) { HBufC* errorTxt = StringLoader::LoadLC( R_QTN_SIP_ERROR_PROFILE_USED ); CAknErrorNote* note = new ( ELeave ) CAknErrorNote( ETrue ); @@ -432,6 +433,12 @@ { __GSLOGSTRING("CGSSIPModel::ErrorInRegistration" ) __GSLOGSTRING1("CGSSIPModel::ErrorInRegistration aIndex: %d", aIndex) + + if(iEngine->LastRegistrationError( + *( iProfiles->At( aIndex ) ) ) != KErrNone) + { + iIsRegistering = EFalse; + } return ( iEngine->LastRegistrationError( *( iProfiles->At( aIndex ) ) ) != KErrNone ); } @@ -457,8 +464,11 @@ break; case EProfileRegistered: case EProfileDeregistered: + { + iIsRegistering = EFalse; ProfileRegistrationStatusChanged( aSIPProfileId ); break; + } case EProfileDestroyed: ProfileDestroyed( aSIPProfileId ); break; @@ -750,6 +760,8 @@ { CSIPManagedProfile* profile = static_cast( profilePointerArray[j] ); + iIsRegistering = EFalse; + iProfiles->AppendL( profile ); profilePointerArray.Remove( j ); } @@ -942,6 +954,10 @@ } GSSIPProfileUtil::CopyProfileAttributesL( profile, iProfileData ); + if(iProfileData.iRegistrationMode == EGSAlwaysOn) + { + iIsRegistering = ETrue; + } GSSIPProfileUtil::CopyServerAttributesL( profile, KSIPOutboundProxy, iProfileData.iProxy ); GSSIPProfileUtil::CopyServerAttributesL( diff -r c2e8c8b73582 -r 532ef74cdfa0 sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp --- a/sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp Wed Mar 31 22:10:27 2010 +0300 +++ b/sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp Wed Apr 14 16:19:40 2010 +0300 @@ -389,6 +389,16 @@ } // --------------------------------------------------------------------------- +// CSIPSettingsContainer::DrawerFlags() +// +// --------------------------------------------------------------------------- +// +TInt CSIPSettingsContainer::DrawerFlags() + { + return iListBox->View()->ItemDrawer()->Flags(); + } + +// --------------------------------------------------------------------------- // Sets observer for MSK label updations. // --------------------------------------------------------------------------- // diff -r c2e8c8b73582 -r 532ef74cdfa0 sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp --- a/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp Wed Mar 31 22:10:27 2010 +0300 +++ b/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp Wed Apr 14 16:19:40 2010 +0300 @@ -496,30 +496,40 @@ void CSIPSettingsPlugin::ChangeDefaultProfileL() { __GSLOGSTRING("CSIPSettingsPlugin::ChangeDefaultProfileL Start " ) - TInt selectedIndex = iModel->DefaultProfileIndex(); - TInt oldProfileIndex = selectedIndex; - - // Get the array of the profile names, ownership changes - CDesCArray* array = iModel->ListOfProfileNamesL(); - CleanupStack::PushL( array ); - - // Create and display the pop-up list - CAknRadioButtonSettingPage* defaultPopUp = - new ( ELeave ) CAknRadioButtonSettingPage( - R_SIP_PROFILE_LIST_VIEW_DEFAULT_SETTING_PAGE, - selectedIndex, - array ); - if ( defaultPopUp->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) ) - { - if ( selectedIndex != oldProfileIndex ) - { - // User has changed the default profile, set new setting - // to persistent storage - iModel->SetDefaultProfileL( selectedIndex ); - } - } + + TInt aFlage = iContainer->DrawerFlags(); + if( aFlage & CTextListItemDrawer::EDisableMarquee ) + { + TInt selectedIndex = iContainer->CurrentIndex(); + iModel->SetDefaultProfileL( selectedIndex ); + } + else + { + TInt selectedIndex = iModel->DefaultProfileIndex(); + TInt oldProfileIndex = selectedIndex; + + // Get the array of the profile names, ownership changes + CDesCArray* array = iModel->ListOfProfileNamesL(); + CleanupStack::PushL( array ); + + // Create and display the pop-up list + CAknRadioButtonSettingPage* defaultPopUp = + new ( ELeave ) CAknRadioButtonSettingPage( + R_SIP_PROFILE_LIST_VIEW_DEFAULT_SETTING_PAGE, + selectedIndex, + array ); + if ( defaultPopUp->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) ) + { + if ( selectedIndex != oldProfileIndex ) + { + // User has changed the default profile, set new setting + // to persistent storage + iModel->SetDefaultProfileL( selectedIndex ); + } + } CleanupStack::PopAndDestroy( array ); // array + } __GSLOGSTRING("CSIPSettingsPlugin::ChangeDefaultProfileL End" ) }