--- a/callcontinuity/vcc/src/cvcctransferprovider.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/callcontinuity/vcc/src/cvcctransferprovider.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -92,6 +92,10 @@
target = targetCall->PrimaryCall();
}
}
+ else
+ {
+ return KErrNotReady;
+ }
return iCallTransferProvider->AttendedTransfer( *target );
}
--- a/callcontinuity/vcc/src/tvccstatecalling.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/callcontinuity/vcc/src/tvccstatecalling.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -118,9 +118,17 @@
RUBY_DEBUG0( "TVccStateCalling::CallStateChanged - swap the calls" );
aContext.SetCall(aContext.SecondaryCall());
- TRAP_IGNORE( aContext.Notifier().NotifySubscriberL( EVccCsToPsHoInprogress,
- KErrNone ) );
+ if ( aContext.Parameters().CallType() == CCPCall::ECallTypePS )
+ {
+ TRAP_IGNORE( aContext.Notifier().NotifySubscriberL( EVccCsToPsHoInprogress,
+ KErrNone ) );
+ }
+ else
+ {
+ TRAP_IGNORE( aContext.Notifier().NotifySubscriberL( EVccPsToCsHoInprogress,
+ KErrNone ) );
+ }
//-> Set Next State - if the call is idle just destroy call object and
//go to init-state
__ASSERT_DEBUG( aContext.SecondaryCall() != NULL,
--- a/callcontinuity/vcc/src/vccengpsproperty.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/callcontinuity/vcc/src/vccengpsproperty.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -87,6 +87,7 @@
case EVccCsToPsHoStarted:
case EVccPsToCsHoStarted:
case EVccCsToPsHoInprogress:
+ case EVccPsToCsHoInprogress:
case EVccCsToPsHoSuccessful:
case EVccCsToPsHoFailure:
case EVccHoUnavailable:
--- a/commsconfig/cscapplicationui/inc/cscappui.h Fri Mar 12 15:42:09 2010 +0200
+++ b/commsconfig/cscapplicationui/inc/cscappui.h Mon Mar 15 12:39:55 2010 +0200
@@ -183,8 +183,14 @@
*/
void NotifyConnectionEvent(
CCSCEngConnectionHandler::TConnectionEvent aConnectionEvent );
-
-
+
+ /**
+ * From MCoeMessageObserver.
+ */
+ MCoeMessageObserver::TMessageResponse HandleMessageL(
+ TUint32 aClientHandleOfTargetWindowGroup, TUid aMessageUid,
+ const TDesC8& aMessageParameters);
+
private:
/*
--- a/commsconfig/cscapplicationui/inc/cscconstants.h Fri Mar 12 15:42:09 2010 +0200
+++ b/commsconfig/cscapplicationui/inc/cscconstants.h Mon Mar 15 12:39:55 2010 +0200
@@ -30,6 +30,9 @@
// Advanced settings plugin UID
const TUid KAdvancedSettingsPluginUID = { 0x1028331D };
+// Help context UID
+const TUid KCscHelpUid = { 0x1020E566 };
+
// Filename and path for bitmaps and icons.
_LIT( KDriveZ, "z:" );
_LIT( KCSCAifFile, "csc_aif.mif");
--- a/commsconfig/cscapplicationui/src/cscappui.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/commsconfig/cscapplicationui/src/cscappui.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -31,7 +31,6 @@
#include <mspnotifychangeobserver.h>
#include <gsfwviewuids.h>
#include <apgwgnam.h>
-#include <csc.hlp.hrh>
#include "cscappui.h"
#include "csclogger.h"
@@ -502,7 +501,7 @@
embeddeeuid = windowName1->AppUid();
// Check if CSC is the child of GS
- if ( KUidCscHelp == embeddeeuid )
+ if ( KUidCSCApp == embeddeeuid )
{
ret = ETrue;
gstask.EndTask();
@@ -515,3 +514,33 @@
return ret;
}
+
+// ---------------------------------------------------------------------------
+// Handle view change messages (e.g. from MeCo)
+// ---------------------------------------------------------------------------
+//
+MCoeMessageObserver::TMessageResponse CCSCAppUi::HandleMessageL(
+ TUint32 /*aClientHandleOfTargetWindowGroup*/, TUid aMessageUid,
+ const TDesC8& aMessageParameters )
+ {
+ CSCDEBUG( "CCSCAppUi::HandleMessageL - begin" );
+
+ MCoeMessageObserver::TMessageResponse ret = EMessageNotHandled;
+
+ if ( TUid::Uid( KUidApaMessageSwitchOpenFileValue ) == aMessageUid &&
+ aMessageParameters.Length() &&
+ aMessageParameters.Length() <= KMaxParamLength )
+ {
+ TBuf<KMaxParamLength> params;
+ params.Copy( aMessageParameters );
+ iStartupHandler->SetStartupParametersL( params );
+
+ iServiceView->InitializeWithStartupParametersL();
+ iServiceView->ExecuteStartupActionsL( EFalse, EFalse );
+
+ ret = EMessageHandled;
+ }
+
+ CSCDEBUG( "CCSCAppUi::HandleMessageL - end" );
+ return ret;
+ }
--- a/commsconfig/cscapplicationui/src/cscservicecontainer.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/commsconfig/cscapplicationui/src/cscservicecontainer.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -28,15 +28,16 @@
#include <coecntrl.h>
#include <AknsUtils.h>
#include <cchclient.h>
-#include <csc.hlp.hrh>
#include <akncontext.h>
#include <AknIconArray.h>
#include <StringLoader.h>
#include <aknViewAppUi.h>
#include <AiwServiceHandler.h>
#include <mspnotifychangeobserver.h>
+#include <cscengsettingscleanupplugininterface.h>
+
+#include <csxhelp/voip.hlp.hrh>
#include <data_caging_path_literals.hrh>
-#include <cscengsettingscleanupplugininterface.h>
#include "mcscservicecontainerobserver.h"
#include "csclogger.h"
@@ -789,7 +790,7 @@
void CCSCServiceContainer::GetHelpContext(
TCoeHelpContext& aContext ) const
{
- aContext.iMajor = KUidCscHelp;
+ aContext.iMajor = KCscHelpUid;
aContext.iContext = KVOIP_HLP_CSC;
}
--- a/commsconfig/cscsettingsui/inc/cscsettingsuimainview.h Fri Mar 12 15:42:09 2010 +0200
+++ b/commsconfig/cscsettingsui/inc/cscsettingsuimainview.h Mon Mar 15 12:39:55 2010 +0200
@@ -68,6 +68,13 @@
* @since S60 v3.2
*/
void UpdateSoftkeysL( );
+
+ /**
+ * Resets service settings when switching services.
+ *
+ * @since S60 v5.2
+ */
+ void ResetViewL();
// from base class CAknView
--- a/commsconfig/cscsettingsui/src/cscsettingsuiimpl.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/commsconfig/cscsettingsui/src/cscsettingsuiimpl.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -119,6 +119,12 @@
iMainView = CCSCSettingsUiMainView::NewL( *iModel );
AppUi()->AddViewL( iMainView ); // ownership is transferred
}
+ else
+ {
+ // Already initialised. Reset view since we're probably switching
+ // between different service settings.
+ iMainView->ResetViewL();
+ }
// Set initialization information data. The function leaves if given
// service does not exist.
--- a/commsconfig/cscsettingsui/src/cscsettingsuimaincontainer.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/commsconfig/cscsettingsui/src/cscsettingsuimaincontainer.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -19,14 +19,15 @@
#include <aknlists.h>
#include <coecntrl.h>
#include <cchclient.h>
-#include <csc.hlp.hrh>
#include <cmmanagerext.h>
#include <StringLoader.h>
#include <spdefinitions.h>
#include <cscsettingsui.rsg>
#include <aknlistquerydialog.h>
#include <cvimpstsettingsstore.h>
+#include <csxhelp/voip.hlp.hrh>
+#include "cscconstants.h"
#include "cscsettingsui.hrh"
#include "cscsettingsuimodel.h"
#include "cscsettingsuilogger.h"
@@ -290,7 +291,7 @@
void CCSCSettingsUiMainContainer::GetHelpContext(
TCoeHelpContext& aContext ) const
{
- aContext.iMajor = KUidCscSettingsUiHelp;
+ aContext.iMajor = KCscHelpUid;
aContext.iContext = KSERVTAB_HLP_SETTINGS;
}
--- a/commsconfig/cscsettingsui/src/cscsettingsuimainview.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/commsconfig/cscsettingsui/src/cscsettingsuimainview.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -915,4 +915,30 @@
CSCSETUIDEBUG( "CCSCSettingsUiMainView::HandleSettingsUiExitL - OUT" );
}
-
+
+// ---------------------------------------------------------------------------
+// CCSCSettingsUiMainView::ResetViewL
+// Resets service settings when switching services
+// ---------------------------------------------------------------------------
+//
+void CCSCSettingsUiMainView::ResetViewL()
+ {
+ CSCSETUIDEBUG( "CCSCSettingsUiMainView::ResetViewL - IN" );
+
+ // Create container when view is activated.
+ if ( !iContainer )
+ {
+ iContainer = new (ELeave) CCSCSettingsUiMainContainer( iModel );
+ iContainer->SetMopParent( this );
+ iContainer->ConstructL( ClientRect() );
+ AppUi()->AddToStackL( *this, iContainer );
+ iContainer->ListBox()->SetListBoxObserver( this );
+ }
+
+ SetTitleTextL();
+ UpdateSoftkeysL();
+ iContainer->UpdateContainerL();
+
+ CSCSETUIDEBUG( "CCSCSettingsUiMainView::ResetViewL - OUT" );
+ }
+
--- a/commsconfig/group/bld.inf Fri Mar 12 15:42:09 2010 +0200
+++ b/commsconfig/group/bld.inf Mon Mar 15 12:39:55 2010 +0200
@@ -21,16 +21,9 @@
#include <platform_paths.hrh>
PRJ_EXPORTS
-#ifdef __SERIES60_HELP
-../cscapplicationui/inc/csc.hlp.hrh MW_LAYER_PLATFORM_EXPORT_PATH( csc.hlp.hrh )
-#endif
-
../rom/csc.iby CORE_APP_LAYER_IBY_EXPORT_PATH( csc.iby )
-// Temporarily move resource iby to core due missing localization
-//../rom/cscresources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH( cscresources.iby )
-../rom/cscresources.iby CORE_APP_LAYER_IBY_EXPORT_PATH( cscresources.iby )
-
+../rom/cscresources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH( cscresources.iby )
//ROM SIS stub
../sis/commsconfig_stub.sis /epoc32/data/z/system/install/commsconfig_stub.sis
@@ -45,6 +38,10 @@
OPTION SOURCEFILE iconlist.txt
END
+
+// Help exports
+#include "../help/group/bld.inf"
+
//subcomponent includes
#include "../cscgsplugin/group/bld.inf"
#include "../cscsipvoipcleanupplugin/group/bld.inf"
Binary file commsconfig/help/data/xhtml.zip has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commsconfig/help/group/bld.inf Mon Mar 15 12:39:55 2010 +0200
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - Initial contribution
+*
+* Contributors:
+*
+*
+* Description:
+* Export help related files.
+*
+*/
+
+#include <platform_paths.hrh>
+PRJ_EXPORTS
+:zip ../data/xhtml.zip /epoc32/data/z/resource/ overwrite
+:zip ../data/xhtml.zip /epoc32/winscw/c/resource/ overwrite
+
+../inc/voip.hlp.hrh MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/voip.hlp.hrh)
+../rom/cscapplicationuihelps_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(cscapplicationuihelps_variant.iby)
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commsconfig/help/inc/voip.hlp.hrh Mon Mar 15 12:39:55 2010 +0200
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+//
+// voip.hlp.hrh generated by CSXHelp Utilities.
+//
+
+#ifndef __VOIP_HLP_HRH__
+#define __VOIP_HLP_HRH__
+
+_LIT(KSMSVO_HLP_CS_VIDEO_AND_XSP_VOIP, "SMSVO_HLP_CS_VIDEO_AND_XSP_VOIP"); //
+_LIT(KVOIP_HLP_CSC, "VOIP_HLP_CSC"); //
+_LIT(KVOIP_HLP_SERVCATALOG, "VOIP_HLP_SERVCATALOG"); //
+_LIT(KSERVTAB_HLP_SETTINGS, "SERVTAB_HLP_SETTINGS"); //
+
+#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commsconfig/help/rom/cscapplicationuihelps_variant.iby Mon Mar 15 12:39:55 2010 +0200
@@ -0,0 +1,11 @@
+#ifndef __CSCHELPS_VARIANT_IBY__
+#define __CSCHELPS_VARIANT_IBY__
+
+#if defined(FF_S60_HELPS_IN_USE)
+ data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020E566\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x1020E566\contents.zip)
+ data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020E566\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x1020E566\index.xml)
+ data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020E566\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x1020E566\keywords.xml)
+ data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x1020E566\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x1020E566\meta.xml)
+#endif
+
+#endif
\ No newline at end of file
--- a/convergedconnectionhandler/cchclientapi/cchuinotif/group/cchuinotif.mmp Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchclientapi/cchuinotif/group/cchuinotif.mmp Mon Mar 15 12:39:55 2010 +0200
@@ -40,6 +40,7 @@
HEADER
TARGETPATH APP_RESOURCE_DIR
// LANG SC
+LANGUAGE_IDS
END // RESOURCE
USERINCLUDE ../inc
--- a/convergedconnectionhandler/cchclientapi/group/cch.mmp Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchclientapi/group/cch.mmp Mon Mar 15 12:39:55 2010 +0200
@@ -41,6 +41,7 @@
SOURCE cchuiglobalqueryhandler.cpp
SOURCE cchuiclientobserver.cpp
SOURCE cchuitimer.cpp
+SOURCE cchserviceimplasynchroniser.cpp
USERINCLUDE ../inc
USERINCLUDE ../../inc // CCH's internal headers
--- a/convergedconnectionhandler/cchclientapi/inc/cchserviceimpl.h Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchclientapi/inc/cchserviceimpl.h Mon Mar 15 12:39:55 2010 +0200
@@ -30,7 +30,7 @@
class CCchClientObserver;
class CCchImpl;
-
+class CCchServiceImplAsynchroniser;
#ifdef CCHAPI_USE_CCHUI
class CCchUiPrivateApi;
#else
@@ -269,6 +269,11 @@
* CCH connectivity UI handling private API
*/
CCchUiPrivateApi& iCchUi;
+
+ /**
+ * CCH server request handler
+ */
+ CCchServiceImplAsynchroniser* iAsynchroniser;
#ifdef CCHUNITTEST
friend class UT_CCchService;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/convergedconnectionhandler/cchclientapi/inc/cchserviceimplasynchroniser.h Mon Mar 15 12:39:55 2010 +0200
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef CCHSERVICEIMPLASYNCHRONISER_H
+#define CCHSERVICEIMPLASYNCHRONISER_H
+
+#include <e32base.h> // For CActive, link against: euser.lib
+#include <e32std.h> // For RTimer, link against: euser.lib
+//from cchclient
+#include <cchtypes.h>
+#include "cchimpl.h"
+#include "cch.h"
+
+class CCchImpl;
+
+#ifdef CCHAPI_USE_CCHUI
+class CCchUiPrivateApi;
+#else
+#define CCchUiPrivateApi TInt
+#endif
+
+
+
+NONSHARABLE_CLASS ( CCchServiceImplAsynchroniser) : public CActive
+ {
+public:
+
+ enum TCchServiceImplState
+ {
+ EIdle = 0,
+ EEnabling = 1,
+ EDisabling = 2
+ };
+ // Cancel and destroy
+ ~CCchServiceImplAsynchroniser();
+
+ // Two-phased constructor.
+ static CCchServiceImplAsynchroniser* NewL(CCchImpl& aCch, TInt iServiceId, CCchUiPrivateApi& aCchUi);
+
+ // Two-phased constructor.
+ static CCchServiceImplAsynchroniser* NewLC(CCchImpl& aCch, TInt iServiceId, CCchUiPrivateApi& aCchUi);
+
+ void Enable( TCCHSubserviceType aType );
+
+ void Disable( TCCHSubserviceType aType );
+
+private:
+ // C++ constructor
+ CCchServiceImplAsynchroniser(CCchImpl& aCch, TInt iServiceId, CCchUiPrivateApi& aCchUi);
+
+ // Second-phase constructor
+ void ConstructL();
+
+private:
+ // From CActive
+ // Handle completion
+ void RunL();
+
+ // How to cancel me
+ void DoCancel();
+
+ // Override to handle leaves from RunL(). Default implementation causes
+ // the active scheduler to panic.
+ TInt RunError(TInt aError);
+
+private:
+ CCchImpl& iCch;
+ TInt iServiceId;
+ CCchUiPrivateApi& iCchUi;
+ TCchServiceImplState iState;
+ };
+
+#endif // CCHSERVICEIMPLASYNCHRONISER_H
--- a/convergedconnectionhandler/cchclientapi/inc/cchuiconnectionhandler.h Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchclientapi/inc/cchuiconnectionhandler.h Mon Mar 15 12:39:55 2010 +0200
@@ -120,6 +120,14 @@
* @param aIapId access point id to be removed
*/
void RemoveConnectionL( const TDesC& aServiceName, TInt aIapId );
+
+ /**
+ * Returns ETrue if wlan search (query) is ongoing.
+ *
+ * @since S60 5.0
+ * @return ETrue if wlan search ongoing.
+ */
+ TBool SearchWlanOngoing();
private:
@@ -234,6 +242,11 @@
*/
RConnectionMonitor iConnMon;
+ /**
+ * Flag for determining if search wlan search (query) is ongoing
+ */
+ TBool iSearchWlanOngoing;
+
CCHUI_UNIT_TEST( UT_CchUi )
};
--- a/convergedconnectionhandler/cchclientapi/src/cchserviceimpl.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchclientapi/src/cchserviceimpl.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -24,6 +24,7 @@
#include "cchimpl.h"
#include "cchclientobserver.h"
#include "cchclientserverinternal.h"
+#include "cchserviceimplasynchroniser.h"
#ifdef CCHAPI_USE_CCHUI
#include "cchuiprivateapi.h"
@@ -79,6 +80,7 @@
RemoveObserver();
}
delete iObserver;
+ delete iAsynchroniser;
}
// ---------------------------------------------------------------------------
@@ -90,6 +92,7 @@
{
CCHLOGSTRING( "CCchServiceImpl::ConstructL: IN" );
iObserver = CCchClientObserver::NewL( *this );
+ iAsynchroniser = CCchServiceImplAsynchroniser::NewL(iCch, iServiceId, iCchUi );
CCHLOGSTRING( "CCchServiceImpl::ConstructL: OUT" );
}
// ---------------------------------------------------------------------------
@@ -134,26 +137,9 @@
{
CCHLOGSTRING( "CCchServiceImpl::Enable: IN" );
- TRequestStatus status = KErrNone;
- TServiceSelection selection( iServiceId, aType );
- iCch.CchClient().EnableService( selection, status, EFalse );
- //even the cchclient api seems to be asynchronous,
- //this method is completed immediately
- User::WaitForRequest( status );
- CCHLOGSTRING( "CCchServiceImpl::Enable: OUT" );
-
- if ( iCch.ConnectivityDialogsAllowed() )
- {
- TRAPD( err, iCchUi.ManualEnableResultL(
- iServiceId, status.Int() ) );
-
- if( err != KErrNone )
- {
- return KErrNotReady;
- }
- }
-
- return status.Int();
+ iAsynchroniser->Enable(aType);
+ CCHLOGSTRING( "CCchServiceImpl::Enable: OUT" );
+ return KErrNone;
}
// ---------------------------------------------------------------------------
@@ -163,15 +149,10 @@
TInt CCchServiceImpl::Disable( TCCHSubserviceType aType )
{
CCHLOGSTRING( "CCchServiceImpl::Disable: IN" );
-
- TRequestStatus status = KErrNone;
- TServiceSelection selection( iServiceId, aType );
- iCch.CchClient().DisableService( selection, status );
- //even the cchclient api seems to be asynchronous,
- //this method is completed immediately
- User::WaitForRequest( status );
+
+ iAsynchroniser->Disable(aType);
CCHLOGSTRING( "CCchServiceImpl::Disable: OUT" );
- return status.Int();
+ return KErrNone;
}
// ---------------------------------------------------------------------------
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/convergedconnectionhandler/cchclientapi/src/cchserviceimplasynchroniser.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: cch client api implementation
+*
+*/
+
+
+#include "cchserviceimplasynchroniser.h"
+#include "cchlogger.h"
+
+CCchServiceImplAsynchroniser::CCchServiceImplAsynchroniser(CCchImpl& aCch, TInt aServiceId, CCchUiPrivateApi& aCchUi) :
+ CActive(EPriorityStandard),// Standard priority
+ iCch( aCch ),
+ iServiceId( aServiceId ),
+ iCchUi( aCchUi ),
+ iState ( EIdle )
+
+ {
+ }
+
+CCchServiceImplAsynchroniser* CCchServiceImplAsynchroniser::NewLC(CCchImpl& aCch, TInt aServiceId, CCchUiPrivateApi& aCchUi)
+ {
+ CCchServiceImplAsynchroniser* self =
+ new (ELeave) CCchServiceImplAsynchroniser(aCch, aServiceId, aCchUi );
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+CCchServiceImplAsynchroniser* CCchServiceImplAsynchroniser::NewL(CCchImpl& aCch, TInt aServiceId, CCchUiPrivateApi& aCchUi)
+ {
+ CCchServiceImplAsynchroniser* self =
+ CCchServiceImplAsynchroniser::NewLC(aCch, aServiceId, aCchUi );
+ CleanupStack::Pop(); // self;
+ return self;
+ }
+
+void CCchServiceImplAsynchroniser::Enable( TCCHSubserviceType aType )
+ {
+ CCHLOGSTRING( "CCchServiceImplAsynchroniser::Enable IN" );
+ if (iState == EIdle)
+ {
+ iState = EEnabling;
+ TServiceSelection selection( iServiceId, aType );
+ SetActive();
+ iCch.CchClient().EnableService( selection, iStatus, EFalse );
+ }
+ else
+ {
+ CCHLOGSTRING( "CCchServiceImplAsynchroniser already active" );
+ }
+ CCHLOGSTRING( "CCchServiceImplAsynchroniser::Enable OUT" );
+ }
+
+void CCchServiceImplAsynchroniser::Disable( TCCHSubserviceType aType )
+ {
+ CCHLOGSTRING( "CCchServiceImplAsynchroniser::Disable IN" );
+ if (iState == EIdle)
+ {
+ iState = EDisabling;
+ TRequestStatus status = KErrNone;
+ TServiceSelection selection( iServiceId, aType );
+ SetActive();
+ iCch.CchClient().DisableService( selection, iStatus );
+ }
+ else
+ {
+ CCHLOGSTRING( "CCchServiceImplAsynchroniser already active" );
+ }
+ CCHLOGSTRING( "CCchServiceImplAsynchroniser::Disable OUT" );
+ }
+
+
+void CCchServiceImplAsynchroniser::ConstructL()
+ {
+ CActiveScheduler::Add(this); // Add to scheduler
+ }
+
+CCchServiceImplAsynchroniser::~CCchServiceImplAsynchroniser()
+ {
+ Cancel(); // Cancel any request, if outstanding
+ // Delete instance variables if any
+ }
+
+void CCchServiceImplAsynchroniser::DoCancel()
+ {
+
+ }
+
+void CCchServiceImplAsynchroniser::RunL()
+ {
+ CCHLOGSTRING( "CCchServiceImplAsynchroniser::RunL IN" );
+ if (iStatus.Int() != KErrCancel)
+ {
+ switch (iState)
+ {
+ case EEnabling:
+ {
+ if ( iCch.ConnectivityDialogsAllowed() )
+ {
+ iCchUi.ManualEnableResultL( iServiceId, iStatus.Int() );
+ }
+ CCHLOGSTRING( "CCchServiceImplAsynchroniser::RunL EEnabling done" );
+ iState = EIdle;
+ break;
+ }
+ case EDisabling:
+ {
+ CCHLOGSTRING( "CCchServiceImplAsynchroniser::RunL EDisabling done" );
+ iState = EIdle;
+ break;
+ }
+ default:
+ {
+ break;
+ }
+
+ }
+ }
+ iState = EIdle;
+ CCHLOGSTRING( "CCchServiceImplAsynchroniser::RunL OUT" );
+ }
+
+TInt CCchServiceImplAsynchroniser::RunError(TInt aError)
+ {
+ return aError;
+ }
--- a/convergedconnectionhandler/cchclientapi/src/cchuiapiimpl.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchclientapi/src/cchuiapiimpl.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -1142,9 +1142,10 @@
}
// Check that dialog showing is allowed.
- __ASSERT_ALWAYS( StateIsAllowed( state ) ||
- KCCHErrorInvalidSettings == aServiceStatus.Error(),
- User::Leave( KErrNotSupported ) );
+ __ASSERT_ALWAYS( ( StateIsAllowed( state ) ||
+ KCCHErrorInvalidSettings == aServiceStatus.Error() ) &&
+ !iConnectionHandler->SearchWlanOngoing(),
+ User::Leave( KErrNotSupported ) );
switch ( aServiceStatus.Error() )
{
--- a/convergedconnectionhandler/cchclientapi/src/cchuiconnectionhandler.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchclientapi/src/cchuiconnectionhandler.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -42,7 +42,8 @@
CCchUiCchHandler& aCchHandler,
CCchUiSpsHandler& aSpsHandler ):
iCCHHandler( aCchHandler ),
- iSpsHandler( aSpsHandler )
+ iSpsHandler( aSpsHandler ),
+ iSearchWlanOngoing( EFalse )
{
}
@@ -108,9 +109,14 @@
CCHUIDEBUG(
"CCchUiConnectionHandler::SearchAccessPointsL - begin search wlan" );
+ // Set flag which indicates that search wlan query is open
+ iSearchWlanOngoing = ETrue;
+
TBool ret = iConnUiUtils->SearchWLANNetwork(
ssid, connectionMode, securityMode );
+ iSearchWlanOngoing = EFalse;
+
if ( !ret )
{
//ret is ETrue if user pressed OK softkey. Otherwise leave
@@ -717,6 +723,19 @@
}
// ---------------------------------------------------------------------------
+// Returns ETrue if wlan search (query) is ongoing.
+// ---------------------------------------------------------------------------
+//
+TBool CCchUiConnectionHandler::SearchWlanOngoing()
+ {
+ CCHUIDEBUG2( "CCchUiConnectionHandler::SearchWlanOngoing ongoing=%d",
+ iSearchWlanOngoing );
+
+ return iSearchWlanOngoing;
+ }
+
+
+// ---------------------------------------------------------------------------
// Creates service snap
// ---------------------------------------------------------------------------
//
--- a/convergedconnectionhandler/cchserver/group/cchserver.mmp Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchserver/group/cchserver.mmp Mon Mar 15 12:39:55 2010 +0200
@@ -31,7 +31,7 @@
VENDORID VID_DEFAULT
SOURCEPATH ../src
SOURCE cchconnmonhandler.cpp
-SOURCE cchcommdbwatcher.cpp
+SOURCE cchcommdbwatcher.cpp
SOURCE cchrequeststorage.cpp
SOURCE cchspshandler.cpp
SOURCE cchserverbase.cpp
@@ -50,7 +50,6 @@
SOURCE cchwakeupeventnotifier.cpp
SOURCE cchstartupcounter.cpp
SOURCE cchactivescheduler.cpp
-SOURCE cchphonestartupmonitor.cpp
START RESOURCE ../data/cch.rss
HEADER
@@ -67,7 +66,7 @@
LIBRARY euser.lib
LIBRARY flogger.lib // for logging purposes
LIBRARY connmon.lib
-LIBRARY cmmanager.lib
+LIBRARY cmmanager.lib
LIBRARY ecom.lib // for plug-ins
LIBRARY serviceprovidersettings.lib
LIBRARY aknnotify.lib
--- a/convergedconnectionhandler/cchserver/inc/cchservicehandler.h Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchserver/inc/cchservicehandler.h Mon Mar 15 12:39:55 2010 +0200
@@ -29,7 +29,6 @@
#include "cchservicenotifier.h"
#include "cchclientserver.h"
#include "cchcommdbwatcherobserver.h"
-#include "cchphonestartupmonitor.h"
// CONSTANTS
// None
@@ -48,7 +47,6 @@
class CCchUIHandler;
class CCchWlanExtension;
class CCCHCommDbWatcher;
-class CCCHPhoneStartupMonitor;
// DATA TYPES
typedef RPointerArray<CCCHServiceInfo> RServiceArray;
@@ -392,16 +390,38 @@
void CancelPluginUnloadTimer();
/**
+ * Starts handle notify delay timer
+ * @param aFunction The function to call after the time out
+ */
+ void StartHandleNotifyDelayTimer();
+
+ /**
+ * Cancels the handler notify delay timer
+ */
+ void CancelHandleNotifyDelayTimer();
+
+ /**
* Plugin unload callback
* @param aSelf this object
*/
static TInt PluginUnloadEvent( TAny* aSelf );
/**
+ * Handle notify event callback
+ * @param aSelf this object
+ */
+ static TInt HandleNotifyEvent( TAny* aSelf );
+
+ /**
* Handles plugin unload event
*/
void HandlePluginUnload();
-
+
+ /**
+ * Handles delayed notify event
+ */
+ void HandleDelayedNotifyEvent();
+
/**
* From MCCHCommDbWatcherObserver, handles commsdb events
*/
@@ -455,11 +475,6 @@
CCchUIHandler* iCchUIHandler;
/**
- * Phone startup monitor. Owned.
- */
- CCchPhoneStartupMonitor * iPhoneStartupMonitor;
-
- /**
* Connection recovery timer. Owned.
*/
CPeriodic* iConnectionRecoveryTimer;
@@ -470,6 +485,11 @@
CPeriodic* iPluginUnloadTimer;
/**
+ * Handle notify delay timer. Owned.
+ */
+ CPeriodic* iHandleNotifyDelayTimer;
+
+ /**
* Recovery trial counter
*/
TInt iConnectionRecoveryTry;
@@ -498,6 +518,11 @@
* Disable SPSettings notifications
*/
TBool iCancelNotify;
+
+ /**
+ * Service id of delayed handle notify event
+ */
+ TServiceId iDelayedHandleNotifyServiceId;
};
#endif // C_CCHSERVICEHANDLER_H
--- a/convergedconnectionhandler/cchserver/inc/cchuihandler.h Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchserver/inc/cchuihandler.h Mon Mar 15 12:39:55 2010 +0200
@@ -192,11 +192,6 @@
* Note handler
*/
CCchNoteHandler* iNoteHandler;
-
- /**
- * Are we out of cs network?
- */
- TBool iVoIPEmergencyNoteState;
/**
* ETel observer
--- a/convergedconnectionhandler/cchserver/src/cchservicehandler.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchserver/src/cchservicehandler.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -48,6 +48,9 @@
const TInt KCCHFifthRecovery = 60000000;
const TInt KCCHPluginUnloadTimeout = 5000000;
+
+const TInt KCCHHandleNotifyDelay = 1000000;
+
// MACROS
// None
@@ -89,10 +92,10 @@
{
iNotifier = CSPNotifyChange::NewL( *this );
iCchUIHandler = CCchUIHandler::NewL( iServer, *this );
- iPhoneStartupMonitor = CCchPhoneStartupMonitor::NewL( *iCchUIHandler );
iConnectionRecoveryTimer = CPeriodic::NewL( CPeriodic::EPriorityStandard );
iCommDbWatcher = CCCHCommDbWatcher::NewL( *this );
iPluginUnloadTimer = CPeriodic::NewL( CPeriodic::EPriorityStandard );
+ iHandleNotifyDelayTimer = CPeriodic::NewL( CPeriodic::EPriorityStandard );
iRecoveryInterval.Append( KCCHFirstRecovery );
iRecoveryInterval.Append( KCCHSecondRecovery );
iRecoveryInterval.Append( KCCHThirdRecovery );
@@ -134,10 +137,10 @@
iCchUIHandler->Destroy();
}
- delete iPhoneStartupMonitor;
delete iWlanExtension;
delete iConnectionRecoveryTimer;
delete iPluginUnloadTimer;
+ delete iHandleNotifyDelayTimer;
delete iCommDbWatcher;
if( iNotifier )
@@ -523,6 +526,44 @@
}
// -----------------------------------------------------------------------------
+// CCCHServiceHandler::StartHandleNotifyDelayTimer
+// -----------------------------------------------------------------------------
+//
+void CCCHServiceHandler::StartHandleNotifyDelayTimer( )
+ {
+ CCHLOGSTRING2( "CCCHServiceHandler[0x%x]::StartHandleNotifyDelayTimer; IN", this );
+
+ CancelHandleNotifyDelayTimer();
+ if( !iHandleNotifyDelayTimer->IsActive() )
+ {
+ iHandleNotifyDelayTimer->Start(
+ KCCHHandleNotifyDelay ,
+ 0,
+ TCallBack( CCCHServiceHandler::HandleNotifyEvent, this ) );
+
+ CCHLOGSTRING( "CCCHServiceHandler::StartHandleNotifyDelayTimer; timer started");
+ }
+
+ CCHLOGSTRING( "CCCHServiceHandler::StartHandleNotifyDelayTimer; OUT" );
+ }
+
+// -----------------------------------------------------------------------------
+// CCCHServiceHandler::CancelHandleNotifyDelayTimer
+// -----------------------------------------------------------------------------
+//
+void CCCHServiceHandler::CancelHandleNotifyDelayTimer()
+ {
+ CCHLOGSTRING2( "CCCHServiceHandler[0x%x]::CancelHandleNotifyDelayTimer; IN", this );
+
+ if( iHandleNotifyDelayTimer->IsActive() )
+ {
+ iHandleNotifyDelayTimer->Cancel();
+ }
+
+ CCHLOGSTRING( "CCCHServiceHandler::CancelHandleNotifyDelayTimer; OUT" );
+ }
+
+// -----------------------------------------------------------------------------
// CCCHServiceHandler::PluginUnloadEvent
// -----------------------------------------------------------------------------
//
@@ -536,6 +577,21 @@
}
// -----------------------------------------------------------------------------
+// CCCHServiceHandler::HandleNotifyEvent
+// -----------------------------------------------------------------------------
+//
+TInt CCCHServiceHandler::HandleNotifyEvent( TAny* aSelf )
+ {
+ CCHLOGSTRING( "CCCHServiceHandler::HandleNotifyEvent; IN" );
+
+ CCHLOGSTRING( "CCCHServiceHandler::PluginUnloadEvent; IN" );
+ CCCHServiceHandler* self = static_cast<CCCHServiceHandler*>( aSelf );
+ self->HandleDelayedNotifyEvent();
+ CCHLOGSTRING( "CCCHServiceHandler::HandleNotifyEvent; OUT" );
+ return 0;
+ }
+
+// -----------------------------------------------------------------------------
// CCCHServiceHandler::HandlePluginUnload
// -----------------------------------------------------------------------------
//
@@ -549,6 +605,63 @@
CCHLOGSTRING( "CCCHServiceHandler::HandlePluginUnload OUT" );
}
+// -----------------------------------------------------------------------------
+// CCCHServiceHandler::HandleDelayedNotifyEvent
+// -----------------------------------------------------------------------------
+//
+void CCCHServiceHandler::HandleDelayedNotifyEvent()
+ {
+ CCHLOGSTRING2( "CCCHServiceHandler[0x%x]::HandleDelayedNotifyEvent IN",
+ this );
+
+ iDelayedHandleNotifyServiceId = 0;
+ CancelHandleNotifyDelayTimer();
+
+ TServiceSelection selection;
+ selection.iServiceId = iDelayedHandleNotifyServiceId;
+ TInt index( ServiceExist( selection ) );
+
+ TRAPD( err,
+ {
+ if ( KErrNotFound != index )
+ {
+ iServices[ index ]->UpdateL( ETrue );
+ }
+ else
+ {
+ TCCHService service;
+ iServer.SPSHandler().GetServiceInfoL(
+ iDelayedHandleNotifyServiceId, service );
+ AddServiceL( service );
+ }
+ } );
+
+ //Check if service is already marked as enabled, and enable it
+ if ( KErrNone == err )
+ {
+ index = ServiceExist( selection );
+ if ( KErrNotFound != index )
+ {
+ if( iServices[ index ]->StartupFlagSet() &&
+ ECCHEnabled != iServices[ index ]->GetState() )
+ {
+ iCancelNotify = EFalse;
+ EnableService( selection, EFalse );
+ iCancelNotify = ETrue;
+ }
+ }
+ }
+
+ // If service has removed, err must be other than none
+ // and we have to update all services
+ if ( KErrNone != err )
+ {
+ TRAP_IGNORE( UpdateL( ETrue ) );
+ }
+
+ CCHLOGSTRING( "CCCHServiceHandler::HandleDelayedNotifyEvent OUT" );
+ }
+
// ---------------------------------------------------------------------------
// CCCHServiceHandler::Exists
// (other items were commented in a header).
@@ -1522,49 +1635,11 @@
//
void CCCHServiceHandler::HandleNotifyChange( TServiceId aServiceId )
{
- CCHLOGSTRING( "CCCHServiceHandler::HandleNotifyChange: IN" );
- TServiceSelection selection;
- selection.iServiceId = aServiceId;
- TInt index( ServiceExist( selection ) );
- TRAPD( err,
- {
- if ( KErrNotFound != index )
- {
- iServices[ index ]->UpdateL( ETrue );
- }
- else
- {
- TCCHService service;
- iServer.SPSHandler().GetServiceInfoL( aServiceId, service );
- AddServiceL( service );
- }
- } );
+ CCHLOGSTRING( "CCCHServiceHandler::HandleNotifyChange IN" );
- //Check if service is already marked as enabled, and enable it
- if ( KErrNone == err )
- {
- index = ServiceExist( selection );
- if ( KErrNotFound != index )
- {
- CCHLOGSTRING( "CCCHServiceHandler::HandleNotifyChange: service found" );
- if( iServices[ index ]->StartupFlagSet() &&
- ECCHEnabled != iServices[ index ]->GetState() )
- {
- CCHLOGSTRING( "CCCHServiceHandler::HandleNotifyChange: enabling..." );
- iCancelNotify = EFalse;
- EnableService( selection, EFalse );
- iCancelNotify = ETrue;
- }
- }
- }
-
- // If service has removed, err must be other than none
- // and we have to update all services
- if ( KErrNone != err )
- {
- TRAP_IGNORE( UpdateL( ETrue ) );
- }
- CCHLOGSTRING( "CCCHServiceHandler::HandleNotifyChange: OUT" );
+ CancelHandleNotifyDelayTimer();
+ StartHandleNotifyDelayTimer();
+ iDelayedHandleNotifyServiceId = aServiceId;
}
// ---------------------------------------------------------------------------
--- a/convergedconnectionhandler/cchserver/src/cchsubserviceinfo.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchserver/src/cchsubserviceinfo.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -149,10 +149,9 @@
// ---------------------------------------------------------------------------
//
TCCHSubserviceType CCCHSubserviceInfo::Type()
- {
- GetServiceNetworkInfo();
- return iType;
- }
+ {
+ return iType;
+ }
// ---------------------------------------------------------------------------
// CCCHSubserviceInfo::SetState
--- a/convergedconnectionhandler/cchserver/src/cchuihandler.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/cchserver/src/cchuihandler.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -172,7 +172,6 @@
void CCchUIHandler::MobileNetworkNoService( )
{
CCHLOGSTRING( "CCchUIHandler::MobileNetworkNoService" );
- TRAP_IGNORE( ShowEmergencyWarningNoteL( EFalse ) );
}
// ---------------------------------------------------------------------------
@@ -205,19 +204,10 @@
KCCHVoIPEmergencyWarningShown, emergencyWarningShown );
if( err == KErrNone )
{
- if ( !iVoIPEmergencyNoteState )
- {
- iVoIPEmergencyNoteState =
- iCchEtelNetworkStatusNotifier->IsNetworkStatusNoService();
- }
if( !emergencyWarningShown )
{
ShowEmergencyWarningNoteL( ETrue );
}
- else if( iVoIPEmergencyNoteState )
- {
- ShowEmergencyWarningNoteL( EFalse );
- }
}
}
else if ( !aStatus && iVoIPSmallIndicatorShown )
@@ -302,20 +292,7 @@
SecondaryDisplay::ECmdShowVoipEmergencyCallReadinessQuery );
iServer.SetVoIPEmergencyNoteShown( ETrue );
}
- else
- {
- TInt voIPEmergencyNoteDoNotShow( 0 );
- iCchRepository->Get(
- KCCHVoIPShowEmergencyWarningOnOff, voIPEmergencyNoteDoNotShow );
- if ( voIPEmergencyNoteDoNotShow && !iServer.VoIPEmergencyNoteShown() )
- {
- iServer.SetVoIPEmergencyNoteShown( ETrue );
- iNoteHandler->LaunchGlobalNoteL(
- R_QTN_VOIP_EM_CALL_ERROR_NOTE_NO_CS,
- R_AVKON_SOFTKEYS_OK_EMPTY,
- SecondaryDisplay::ECmdShowVoipEmergencyCallErrorNoteNoCsQuery );
- }
- }
+
}
}
--- a/convergedconnectionhandler/group/bld.inf Fri Mar 12 15:42:09 2010 +0200
+++ b/convergedconnectionhandler/group/bld.inf Mon Mar 15 12:39:55 2010 +0200
@@ -22,9 +22,7 @@
PRJ_EXPORTS
../rom/cch.iby CORE_APP_LAYER_IBY_EXPORT_PATH( cch.iby )
-// Temporarily move resource iby to core due missing localization
-//../rom/cchresources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH( cchresources.iby )
-../rom/cchresources.iby CORE_APP_LAYER_IBY_EXPORT_PATH( cchresources.iby )
+../rom/cchresources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH( cchresources.iby )
#include "../cchserver/group/bld.inf"
#include "../cchclient/group/bld.inf"
--- a/sipvoipprovider/src/svpsessionbase.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/sipvoipprovider/src/svpsessionbase.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -284,7 +284,13 @@
}
ExecCbCallStateChanged( MCCPCallObserver::ECCPStateDisconnecting );
- ExecCbCallStateChanged( MCCPCallObserver::ECCPStateIdle );
+
+ TRAPD( errTimer, StartTimerL( KSVPTerminatingTime, KSVPRemoteEndDiedExpired ));
+ if ( errTimer )
+ {
+ SVPDEBUG2("CSVPSessionBase::No Answer timer leave with error code %d",
+ errTimer )
+ }
}
if ( KSVPTerminationTimerExpired == aTimerId )
--- a/voipplugins/accountcreationplugin/data/accountcreationplugin.rss Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/accountcreationplugin/data/accountcreationplugin.rss Mon Mar 15 12:39:55 2010 +0200
@@ -109,11 +109,13 @@
{
command = EAknSoftkeySelect;
txt = qtn_voip_option_service_details;
+ flags = EEikMenuItemSpecific;
},
MENU_ITEM
{
command = EAcpDownload;
txt = qtn_voip_option_service_download_service;
+ flags = EEikMenuItemSpecific;
},
MENU_ITEM
{
--- a/voipplugins/accountcreationplugin/engine/src/acphttphandler.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/accountcreationplugin/engine/src/acphttphandler.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -273,7 +273,7 @@
TCommDbConnPref pref;
pref.SetDirection( ECommDbConnectionDirectionOutgoing );
pref.SetBearerSet( KCommDbBearerLAN | KCommDbBearerCSD |
- KCommDbBearerWcdma );
+ KCommDbBearerWcdma | KCommDbBearerWLAN );
// Show connection prompt only once.
if ( !iPromptShown )
--- a/voipplugins/accountcreationplugin/src/acpproviderlistview.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/accountcreationplugin/src/acpproviderlistview.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -467,7 +467,7 @@
switch ( aEventType )
{
case EEventEnterKeyPressed:
- case EEventItemDoubleClicked:
+ case EEventItemSingleClicked:
HandleCommandL( EAknSoftkeySelect );
break;
default:
--- a/voipplugins/sipconnectionprovider/inc/scppresencehandler.h Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/sipconnectionprovider/inc/scppresencehandler.h Mon Mar 15 12:39:55 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -104,6 +104,14 @@
void HandleSipConnectionEvent( const TUint32 aProfileId,
TScpConnectionEvent aSipEvent );
+ /**
+ * Query is starting to ALR allowed.
+ * Client can start ALR later if needed to do something first
+ *
+ * @return ETrue if allowed.
+ */
+ TBool IsSipProfileAllowedToStartAlr();
+
public: // From MScpSubServiceObserver
/**
* Handle SubService state change.
--- a/voipplugins/sipconnectionprovider/inc/scpprofilehandler.h Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/sipconnectionprovider/inc/scpprofilehandler.h Mon Mar 15 12:39:55 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -206,6 +206,13 @@
const TDesC8& aPassword,
TBool aSetPassword );
+ /**
+ * Informs SIP to allow ALR migration
+ *
+ * @param aProfileId SIP profile ID
+ */
+ void StartAlrMigration( TUint32 aProfileId );
+
#ifdef _DEBUG
void GetDebugInfo( TDes& aInfo ) const;
#endif
@@ -286,6 +293,14 @@
*/
void HandleSipConnectionEvent( TUint32 aProfileId,
TScpConnectionEvent aSipEvent );
+
+ /**
+ * Query is starting to ALR allowed.
+ * Client can start ALR later if needed to do something first
+ *
+ * @return ETrue if allowed.
+ */
+ TBool IsSipProfileAllowedToStartAlr();
private:
@@ -350,6 +365,16 @@
*/
CIpVmbxInterface* iVmbxInterface;
+ /**
+ * New IapId received in ALR event
+ */
+ TUint iNewAlrIapId;
+
+ /**
+ * Is ALR Migration Allowed To Start Immediately
+ */
+ TBool iAlrAllowedToStartImmediately;
+
// This need to be cleaned to separate macro/header
#ifdef _DEBUG
friend class T_CScpServiceManager;
--- a/voipplugins/sipconnectionprovider/inc/scpservicehandlerbase.h Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/sipconnectionprovider/inc/scpservicehandlerbase.h Mon Mar 15 12:39:55 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -105,7 +105,16 @@
*/
virtual void HandleSipConnectionEvent( const TUint32 aProfileId,
TScpConnectionEvent aSipEvent ) = 0;
-
+
+ /**
+ * From base class MScpSipConnectionObserver
+ * Query is starting to ALR allowed.
+ * Client can start ALR later if needed to do something first
+ *
+ * @return ETrue if allowed.
+ */
+ virtual TBool IsSipProfileAllowedToStartAlr();
+
/**
* Forced sip profile disable call back
* @param aSelf this object
--- a/voipplugins/sipconnectionprovider/inc/scpsipconnectionobserver.h Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/sipconnectionprovider/inc/scpsipconnectionobserver.h Mon Mar 15 12:39:55 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -39,7 +39,15 @@
*/
virtual void HandleSipConnectionEvent( TUint32 aProfileId,
TScpConnectionEvent aEvent ) = 0;
-
+
+ /**
+ * Query is starting to ALR allowed.
+ * Client can start ALR later if needed to do something first
+ *
+ * @return ETrue if allowed.
+ */
+ virtual TBool IsSipProfileAllowedToStartAlr() = 0;
+
};
/**
--- a/voipplugins/sipconnectionprovider/src/scppresencehandler.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/sipconnectionprovider/src/scppresencehandler.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -39,7 +39,7 @@
#include <ximpcontext.h>
#include <ximpstatus.h>
#include <pressettingsapi.h> //presence settings
-#include <XdmSettingsApi.h>
+#include <xdmsettingsapi.h>
#include <cvimpstsettingsstore.h>
#include "scppresencehandler.h"
@@ -322,6 +322,14 @@
SCPLOGSTRING( "CScpPresenceHandler::HandleSipConnectionEvent OUT" );
}
+// -----------------------------------------------------------------------------
+// CScpPresenceHandler::HandleSipConnectionEvent
+// -----------------------------------------------------------------------------
+//
+TBool CScpPresenceHandler::IsSipProfileAllowedToStartAlr()
+ {
+ return EFalse;
+ }
// ======================= From MXIMPContextObserver ===========================
@@ -695,7 +703,6 @@
MPresenceInfoFieldValueEnum* enumField2 =
iFeature->PresenceObjectFactory().NewEnumInfoFieldLC();
-
TInt availabilityEnum(0);
RBuf customMessage;
CleanupClosePushL( customMessage );
@@ -910,8 +917,19 @@
// Unbind request complete
else if ( reqType == EUnBindReq && EUnBinding == iPresenceState )
{
- SCPLOGSTRING( "CScpPresenceHandler::HandleRequestCompleteEvent status offline" );
- DeregisterNow();
+ SCPLOGSTRING( "CScpPresenceHandler::HandleRequestCompleteEvent status offline" );
+
+ // Do not send info to our client if roaming is ongoing
+ if ( !iSubService.IsRoaming() )
+ {
+ DeregisterNow();
+ }
+ // Inform SIP to start ALR migration
+ else
+ {
+ iSubService.ProfileHandler().StartAlrMigration( iSubService.SipProfileId() );
+ }
+
SCPLOGSTRING( "CScpPresenceHandler::HandleRequestCompleteEvent status offline end" );
}
--- a/voipplugins/sipconnectionprovider/src/scpprofilehandler.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/sipconnectionprovider/src/scpprofilehandler.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -459,6 +459,26 @@
}
// -----------------------------------------------------------------------------
+// CScpProfileHandler::StartAlrMigration
+// -----------------------------------------------------------------------------
+//
+void CScpProfileHandler::StartAlrMigration( TUint32 aProfileId )
+ {
+ SCPLOGSTRING2( "CScpProfileHandler::StartMigrtion profile: %i", aProfileId );
+ SCPLOGSTRING2( "CScpProfileHandler::StartMigrtion iNewAlrIapId: %i", iNewAlrIapId );
+
+ TRAP_IGNORE(
+ iAlrController->AllowMigrationL( aProfileId, iNewAlrIapId ) );
+
+ CScpSipConnection* sipConnection( NULL );
+
+ sipConnection = GetSipConnection( aProfileId );
+ sipConnection->SetProfileCurrentlyRoaming();
+
+ SCPLOGSTRING( "CScpProfileHandler::StartMigrtion -exit" );
+ }
+
+// -----------------------------------------------------------------------------
// CScpProfileHandler::AlrEvent
// -----------------------------------------------------------------------------
//
@@ -502,13 +522,29 @@
}
else
{
- sipConnection->SetProfileCurrentlyRoaming();
+ iAlrAllowedToStartImmediately = ETrue;
- TRAP_IGNORE(
- iAlrController->AllowMigrationL( aProfileId, aIapId ) );
+ for ( TInt i = 0; i < iObservers.Count(); i++ )
+ {
+ if ( !iObservers[ i ]->IsSipProfileAllowedToStartAlr() )
+ {
+ iAlrAllowedToStartImmediately = EFalse;
+ break;
+ }
+ }
+ if ( iAlrAllowedToStartImmediately )
+ {
+ TRAP_IGNORE(
+ iAlrController->AllowMigrationL( aProfileId, aIapId ) );
+ sipConnection->SetProfileCurrentlyRoaming();
+ }
+ else
+ {
+ iNewAlrIapId = aIapId;
+ sipConnection->HandleMigrationStarted();
+ }
}
}
-
break;
}
@@ -519,11 +555,10 @@
{
sipConnection = GetSipConnection( aProfileId );
- if( sipConnection )
+ if( sipConnection && iAlrAllowedToStartImmediately )
{
sipConnection->HandleMigrationStarted();
}
-
break;
}
@@ -597,6 +632,15 @@
}
// -----------------------------------------------------------------------------
+// CScpProfileHandler::IsSipProfileAllowedToStartAlr
+// -----------------------------------------------------------------------------
+//
+TBool CScpProfileHandler::IsSipProfileAllowedToStartAlr()
+ {
+ return ETrue;
+ }
+
+// -----------------------------------------------------------------------------
// CScpProfileHandler::VmbxInterfaceL
// -----------------------------------------------------------------------------
//
--- a/voipplugins/sipconnectionprovider/src/scpservicehandlerbase.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/sipconnectionprovider/src/scpservicehandlerbase.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -66,6 +66,16 @@
}
// -----------------------------------------------------------------------------
+// From base class MScpSipConnectionObserver
+// CScpServiceHandlerBase::IsSipProfileAllowedToStartAlr
+// -----------------------------------------------------------------------------
+//
+TBool CScpServiceHandlerBase::IsSipProfileAllowedToStartAlr()
+ {
+ return ETrue;
+ }
+
+// -----------------------------------------------------------------------------
// CScpServiceHandlerBase::RegisterProfileL
// -----------------------------------------------------------------------------
//
--- a/voipplugins/sipconnectionprovider/src/scpservicemanager.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/sipconnectionprovider/src/scpservicemanager.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -984,7 +984,7 @@
}
}
- if ( aSetUsername )
+ if ( service && aSetUsername )
{
iSettingHandler->UpdateXdmUsernameL(
*service,
@@ -992,7 +992,7 @@
aUsername );
}
- if ( aSetPassword )
+ if ( service && aSetPassword )
{
iSettingHandler->UpdateXdmPasswordL(
*service,
--- a/voipplugins/svtmatching/inc/svturiparser.h Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/svtmatching/inc/svturiparser.h Mon Mar 15 12:39:55 2010 +0200
@@ -63,6 +63,16 @@
TInt DisplayNameFromUri( const TDesC& aData, RBuf& aDisplayname ) const;
/**
+ * Parses displayname part from uri.
+ * @leave Leaves with system wide error.
+ * @param aData - Original uri.
+ * @param aDisplayname - Uris displayname part if found from
+ * original uri.
+ * @param aResult - Result of operation, KErrNone if success.
+ */
+ void DisplayNameFromUriL( const TDesC& aData, RBuf& aDisplayname, TInt& aResult ) const;
+
+ /**
* Checks sip uri for spaces in begin and end of string.
* @leave Leaves on failure.
* @param aOriginal - Original sip uri.
--- a/voipplugins/svtmatching/src/svturiparser.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/svtmatching/src/svturiparser.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -95,81 +95,114 @@
const TDesC& aData,
RBuf& aDisplayname ) const
{
- TInt ret( KErrNotFound );
+ TInt result = KErrNotFound;
+
+ TRAPD( err, DisplayNameFromUriL( aData, aDisplayname, result ) );
+ if ( err )
+ {
+ result = err;
+ }
+ return result;
+ }
+
+// ---------------------------------------------------------------------------
+// The inner logic for resolving display name from sip uri
+// ---------------------------------------------------------------------------
+//
+void CSvtUriParser::DisplayNameFromUriL(
+ const TDesC& aData,
+ RBuf& aDisplayname,
+ TInt& aResult ) const
+ {
+ aResult = KErrNotFound;
- TPtrC resultStr( aData );
+ TPtrC preResultStr( aData );
aDisplayname.Close();
- // resolves potential SIP Display info and removes it from uri
- // also possible "<" and ">" character are removed around the SIP uri
- TInt uriStartIndex = resultStr.LocateReverse( KStartBracket );
- TInt uriEndIndex = resultStr.LocateReverse( KEndBracket );
+ HBufC* tempBuffer = preResultStr.AllocLC(); // CS:1
+ tempBuffer->Des().TrimAll();
- if ( uriStartIndex > uriEndIndex )
+ if ( tempBuffer->Length() )
{
- // Start and end separators in wrong order: "xxxx>xxxx<xxx"
- return KErrArgument;
- }
-
- if ( KErrNotFound != uriStartIndex && KErrNotFound != uriEndIndex )
- {
- // brackets found so modify descriptor and save the display info
+ TPtrC resultStr( tempBuffer->Des() );
+
+ // resolves potential SIP Display info and removes it from uri
+ // also possible "<" and ">" character are removed around the SIP uri
+ TInt uriStartIndex = resultStr.LocateReverse( KStartBracket );
+ TInt uriEndIndex = resultStr.LocateReverse( KEndBracket );
- // check if there is anything before "<" if there is use
- // it as displayname if match op fails.
- if ( uriStartIndex > 1 )
- {
- TPtrC tempStr( resultStr.Left( uriStartIndex ) );
- // remove possible quotation marks from displayname
- TInt index = tempStr.Locate( KQuotationMark );
- if ( KErrNotFound != index )
+ if ( KErrNotFound != uriStartIndex && KErrNotFound != uriEndIndex )
+ {
+ if ( uriStartIndex < uriEndIndex )
{
- // marks have to be removed
- tempStr.Set( tempStr.Mid( ++index ) );
- if ( tempStr[tempStr.Length() - 1] == KQuotationMark )
- {
- tempStr.Set( tempStr.Left( tempStr.Length() - 1 ) );
- }
+ // brackets found so modify descriptor and save the display info
+
+ // check if there is anything before "<" if there is use
+ // it as displayname if match op fails.
+ if ( uriStartIndex > 1 )
+ {
+ TPtrC tempStr( resultStr.Left( uriStartIndex ) );
+ // remove possible quotation marks from displayname
+ TInt index = tempStr.Locate( KQuotationMark );
+ if ( KErrNotFound != index )
+ {
+ // marks have to be removed
+ tempStr.Set( tempStr.Mid( ++index ) );
+ if ( tempStr[tempStr.Length() - 1] == KQuotationMark )
+ {
+ tempStr.Set( tempStr.Left( tempStr.Length() - 1 ) );
+ }
+ }
+ aResult = aDisplayname.Create( tempStr );
+ }
+ }
+ else
+ {
+ // Start and end separators in wrong order: "xxxx>xxxx<xxx"
+ aResult = KErrArgument;
}
- ret = aDisplayname.Create( tempStr );
- }
- }
- else
- {
- // it is also possible that displayname is included
- // in, in case that there is no brackets around the uri. So if there is something
- // inside quotationMarks it should be used as displayname
-
- // check if displayname is found
- TInt displayNameStart = resultStr.Locate( KQuotationMark );
- TInt displayNameEnd = resultStr.LocateReverse( KQuotationMark );
-
- if ( displayNameStart != KErrNotFound
- && displayNameEnd != KErrNotFound
- && displayNameStart < displayNameEnd )
+ }
+ else
{
- // displayname is included
- // ++, to remove quotationMark from the start
- ret = aDisplayname.Create( resultStr.Mid( ++displayNameStart,
- // -1, to remove quotationMark from the end
- displayNameEnd - displayNameStart - 1 ) );
- }
- else
- {
- // check if there is spaces in the uri, if there is
- // everything before it belongs to display name
- TInt index = resultStr.LocateReverse( KSpaceMark );
-
- if ( KErrNotFound != index )
+ // it is also possible that displayname is included
+ // in, in case that there is no brackets around the uri. So if there is something
+ // inside quotationMarks it should be used as displayname
+
+ // check if displayname is found
+ TInt displayNameStart = resultStr.Locate( KQuotationMark );
+ TInt displayNameEnd = resultStr.LocateReverse( KQuotationMark );
+
+ if ( displayNameStart != KErrNotFound
+ && displayNameEnd != KErrNotFound
+ && displayNameStart < displayNameEnd )
+ {
+ // displayname is included
+ // ++, to remove quotationMark from the start
+ aResult = aDisplayname.Create( resultStr.Mid( ++displayNameStart,
+ // -1, to remove quotationMark from the end
+ displayNameEnd - displayNameStart - 1 ) );
+ }
+ else
{
- // set displayname
- ret = aDisplayname.Create( resultStr.Left( index ) );
- }
+ // check if there is spaces in the uri, if there is
+ // everything before it belongs to display name
+ TInt index = resultStr.LocateReverse( KSpaceMark );
+
+ if ( KErrNotFound != index )
+ {
+ // set displayname
+ aResult = aDisplayname.Create( resultStr.Left( index ) );
+ }
+ }
+ }
+ }
+ else
+ {
+ // Invalid data length
+ aResult = KErrArgument;
+ }
- }
- }
-
- return ret;
+ CleanupStack::PopAndDestroy( tempBuffer ); // CS:0
}
// ---------------------------------------------------------------------------
--- a/voipplugins/voipadapters/cpvoipadapter/src/CWPVoIPAdapter.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/voipadapters/cpvoipadapter/src/CWPVoIPAdapter.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -986,7 +986,6 @@
TLex8 lex( aStorageIdValue );
User::LeaveIfError( lex.Val( storageId, EDecimal ) );
-
const TInt itemCount = iDatas.Count();
//lint -e{961} No need for else statement here
@@ -999,9 +998,7 @@
TBuf8<KTempStringlength> userAgentHeader;
iDatas[itemIndex]->GetUserAgentHeaderL( userAgentHeader );
- // SIPProfileId must be bigger than 1 because otherwise
- // cSIPManagedProfileRegistry->ProfileL will leave.
- if ( setOk && storageId > 1 )
+ if ( setOk && storageId > 0 )
{
TUint32 itemId = iDatas[itemIndex]->ItemId();
if ( TUint( KNotSaved ) != itemId )
@@ -1021,7 +1018,6 @@
rcseReg->UpdateL( itemId, *rcseProf );
CleanupStack::PopAndDestroy( 2, rcseReg );
}
-
// Then set SIP user-agent header
DBG_PRINT(
@@ -1051,7 +1047,7 @@
User::LeaveIfError( cSIPManagedProfile->SetParameter(
KSIPHeaders, *uahArray ) );
}
-
+
cSIPManagedProfileRegistry->SaveL( *cSIPManagedProfile );
uahArray->Reset();
CleanupStack::PopAndDestroy( uahArray ); // CS:5
@@ -1067,7 +1063,6 @@
} // if ( matches ... )
} // for
}
-
else if ( KErrNone == KSCCPAppID8().CompareF( tmpAppId->Des() ) )
{
for ( TInt itemIndex = 0; itemIndex < iDatas.Count(); itemIndex++ )
@@ -1076,7 +1071,6 @@
aAppRef );
}
}
-
else if ( KErrNone == KNATFWAppID8().CompareF( tmpAppId->Des() ) )
{
for ( TInt itemIndex = 0; itemIndex < iDatas.Count(); itemIndex++ )
@@ -1085,7 +1079,6 @@
aAppRef );
}
}
-
else if ( KErrNone == KPresenceAppId8().CompareF( tmpAppId->Des() ) )
{
for ( TInt itemIndex = 0; itemIndex < iDatas.Count(); itemIndex++ )
@@ -1094,7 +1087,6 @@
storageId, aAppRef );
}
}
-
else if ( KErrNone == KSNAPAppID8().CompareF( tmpAppId->Des() ) )
{
for ( TInt itemIndex = 0; itemIndex < iDatas.Count(); itemIndex++ )
--- a/voipplugins/voipadapters/dmvoipadapter/src/nsmldmvoipadapter.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/voipadapters/dmvoipadapter/src/nsmldmvoipadapter.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -1585,8 +1585,7 @@
else if ( KNSmlDMVoIPUsedSIPProfileId() == uriSeg )
{
TUint32 profileId = SetSipRefL( aObject );
- // SIP profile ID's start from 2.
- if ( profileId > 1 )
+ if ( profileId > 0 )
{
if ( KErrNotFound == spSettingsId )
{
--- a/voipplugins/voipadapters/voipxmlprovisioning/group/bld.inf Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/voipadapters/voipxmlprovisioning/group/bld.inf Mon Mar 15 12:39:55 2010 +0200
@@ -22,6 +22,8 @@
DEFAULT
PRJ_EXPORTS
+../rom/voipxmlprovisioning.iby CORE_APP_LAYER_IBY_EXPORT_PATH( voipxmlprovisioning.iby )
+../rom/voipxmlprovisioningresources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH( voipxmlprovisioningresources.iby )
PRJ_MMPFILES
#include "../voipxmlprocessor/group/bld.inf"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/voipplugins/voipadapters/voipxmlprovisioning/rom/voipxmlprovisioning.iby Mon Mar 15 12:39:55 2010 +0200
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* IBY file for voipxmlprovisioning
+*
+*
+*/
+
+#ifndef VOIPXMLPROVISIONING_IBY
+#define VOIPXMLPROVISIONING_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+
+ file=ABI_DIR\BUILD_DIR\voipxmlprocessor.dll SHARED_LIB_DIR\voipxmlprocessor.dll
+
+ ECOM_PLUGIN( voipprovrec.dll,20026FE1.rsc )
+
+ S60_APP_EXE(voipprovisioningapp)
+ S60_UPGRADABLE_APP_REG_RSC(voipprovisioningapp)
+
+#endif // VOIPXMLPROVISIONING_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/voipplugins/voipadapters/voipxmlprovisioning/rom/voipxmlprovisioningresources.iby Mon Mar 15 12:39:55 2010 +0200
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* IBY file for voipxmlprovisioning
+*
+*
+*/
+
+#ifndef VOIPXMLPROVISIONINGRESOURCES_IBY
+#define VOIPXMLPROVISIONINGRESOURCES_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+
+ DATA=DATAZ_\RESOURCE_FILES_DIR\VoIPProvRec.rsc RESOURCE_FILES_DIR\VoIPProvRec.rsc
+ S60_APP_RESOURCE(VoIPProvisioningApp)
+// S60_APP_CAPTION(VoIPProvisioningApp)
+
+#endif // VOIPXMLPROVISIONINGRESOURCES_IBY
--- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmliaphandler.cpp Fri Mar 12 15:42:09 2010 +0200
+++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmliaphandler.cpp Mon Mar 15 12:39:55 2010 +0200
@@ -640,13 +640,19 @@
DBG_PRINT( " EapType none" );
User::LeaveIfError( wpaSecSettings->SetWPAPreSharedKey(
aTempIap.iPreSharedKey->Des() ));
+ wpaSecSettings->SaveL( wlanId, *db, ESavingBrandNewAP, 0 );
}
else if ( EAPSettings::EEapLeap == aTempIap.iEapType )
{
DBG_PRINT( " eapType Leap" );
+
TBuf8<KMaxNodeValueLength> eapId;
eapId.Copy( KEapLeapId, KEapChars );
- CEapType* eapType = CEapType::NewL( eapId, ELan, iapServiceId );
+ User::LeaveIfError(
+ wpaSecSettings->SetWPAEnabledEAPPlugin( eapId ) );
+ wpaSecSettings->SaveL( wlanId, *db, ESavingBrandNewAP, 0 );
+
+ CEapType* eapType = CEapType::NewL( eapId, ELan, wlanId );
CleanupStack::PushL( eapType ); // CS:3
EAPSettings* eapSettings = new (ELeave) EAPSettings();
CleanupStack::PushL( eapSettings ); // CS:4
@@ -656,10 +662,8 @@
eapSettings->iPassword.Copy( aTempIap.iEapPassword->Des() );
eapSettings->iPasswordPresent = ETrue;
eapType->SetConfigurationL( *eapSettings );
- CleanupStack::PopAndDestroy( 2, eapType );
- wpaSecSettings->SetWPAEnabledEAPPlugin( eapId );
+ CleanupStack::PopAndDestroy( 2, eapType ); // CS:2
}
- wpaSecSettings->SaveL( wlanId, *db, ESavingBrandNewAP, 0 );
// wpaSecSettings, db
CleanupStack::PopAndDestroy( 2, db ); // CS:0
}