Revision: 201013 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 14 Apr 2010 16:19:40 +0300
branchRCL_3
changeset 5 532ef74cdfa0
parent 4 c2e8c8b73582
child 6 43c4dec3cb1f
Revision: 201013 Kit: 201015
realtimenetprots/sipfw/Data/101f413c.cre
realtimenetprots/sipfw/Group/bld.inf
realtimenetprots/sipfw/ProfileAgent/Client/Api/sipmanagedprofile.h
realtimenetprots/sipfw/ProfileAgent/Group/sipimsagent.mmp
realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp
realtimenetprots/sipfw/ProfileAgent/Profile/Inc/SipProfileLog.inl
realtimenetprots/sipfw/SIP/sipapi/api/sipmessageelements.h
realtimenetprots/sipfw/rom/sipsw.iby
sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/Group/ut_cnsmldmsipadapter.mmp
sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/inc/SmlDmCallback_stub.h
sipplugins/sippdevmgmtsipadapter/tsrc/UT_CNSmlDmSIPAdapter/src/SmlDmCallback_stub.cpp
sipplugins/sippsipsettingsui/inc/gssipmodel.h
sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h
sipplugins/sippsipsettingsui/src/gssipmodel.cpp
sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp
sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp
Binary file realtimenetprots/sipfw/Data/101f413c.cre has changed
--- 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)
--- 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;
--- 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
 
--- 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)
                     {
--- 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 <flogger.h>
-#endif
 
 #include <e32base.h>
 #include <bautils.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
 	};
--- 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*/
 
--- 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
--- 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:
     
--- 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()
     {
--- 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   
--- 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.
--- 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<CSIPManagedProfile*>( 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<CSIPManagedProfile*>( 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( 
--- 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.
 // ---------------------------------------------------------------------------
 //
--- 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" )
     }