--- a/bearermanagement/S60MCPR/inc/s60mcpractivities.h Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/inc/s60mcpractivities.h Fri Mar 12 15:44:18 2010 +0200
@@ -601,7 +601,7 @@
* 1. Continue with handshake to select new AP for MCPR.
* 2. Return back to migration-phase with new preferred IAP.
* 3. Close down the system in case of mobilityerror.
- * @return //TODO Cancel from IPCPR.
+ * @return
*/
DECLARE_SMELEMENT_HEADER( TNoTagOrInformMigrationAvailableBackwardsOrErrorOrCancel,
MeshMachine::TStateFork<TContext>,
@@ -820,16 +820,6 @@
private: // Member variables.
- /**
- * Pointer to IPProtocoMCPR which is currently active
- */
- ESock::RMetaServiceProviderInterface* iCurrent;
-
- /**
- * Pointer to IPProtocoMCPR which is about to become the active.
- */
- ESock::RMetaServiceProviderInterface* iPreferred;
-
TUint iCurrentAssumedAPId; // Current IAP Id
TUint iPreferredAPId; // New IAP Id system should roam to.
TBool iIsUpgrade; // If the active iPreferredAPId is upgrade to old one.
--- a/bearermanagement/S60MCPR/src/s60mcpr.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60mcpr.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -398,11 +398,9 @@
notification.iInfo.iIap == 0 ))
{
S60MCPRLOGSTRING2("S60MCPR<%x>::PolicyNotification() EMPMStopIAPNotification IAP %d",(TInt*)this,notification.iInfo.iIap);
-
- //TODO migrate to use MCPR's TStop and vertical msg down. Not supported at the moment.
- /*PostToClients<TDefaultClientMatchPolicy>( TNodeCtxId( 0, Id() ),
- TCFServiceProvider::TStop( KErrCancel ).CRef(),
- TClientType( TCFClientType::EData) );*/
+ PostToClients<TDefaultClientMatchPolicy>( TNodeCtxId( 0, Id() ),
+ TCFServiceProvider::TStop( KErrDisconnected ).CRef(),
+ TClientType( TCFClientType::EServProvider) );
}
#ifdef _DEBUG
else
@@ -464,14 +462,11 @@
// Store PolicyNotification
// This could happen if PolicyServer sends notification too early.
//
- S60MCPRLOGSTRING1("S60MCPR<%x>::StorePolicyNotification()",(TInt*)this);
if ( iPendingNotification.Length() == 0 )
{
S60MCPRLOGSTRING1("S60MCPR<%x>::StorePolicyNotification() iPendingNotification.Length() == 0",(TInt*)this);
Mem::Copy((TAny*)iPendingNotification.Ptr(), &aNotification, KMpmMessageLength);
- S60MCPRLOGSTRING1("S60MCPR<%x>::StorePolicyNotification() Mem::Copy",(TInt*)this);
iPendingNotification.SetLength( KMpmMessageLength );
- S60MCPRLOGSTRING1("S60MCPR<%x>::StorePolicyNotification() iPendingNotification.SetLength",(TInt*)this);
}
#ifdef _DEBUG
else
--- a/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -341,16 +341,6 @@
//in this implementation.
__ASSERT_DEBUG(activity.iPreferredAPId, User::Panic(KS60MCprPanic, KPanicNoServiceProvider));
- //Compute all this here to keep EvaluatePreference() as fast as possible
- activity.iCurrent = static_cast<RMetaServiceProviderInterface*>(
- iContext.Node().GetFirstClient<TDefaultClientMatchPolicy>(
- TClientType( TCFClientType::EServProvider, TCFClientType::EStarted )));
-
- __ASSERT_DEBUG(activity.iCurrent, User::Panic(KS60MCprPanic, KPanicNoServiceProvider));
-/* Not valid ASSERT
- __ASSERT_DEBUG(activity.iCurrent->ProviderInfo().APId() == activity.iCurrentAssumedAPId,
- User::Panic(KS60MCprPanic, KPanicInConsistentMCPRState));
-*/
// Activity received the necessary information from the policy server earlier
// and now holds that information which we'll send to IPCPR.
TCFMobilityControlClient::TMigrationNotification msg( activity.iCurrentAssumedAPId,
@@ -558,7 +548,7 @@
S60MCPRLOGSTRING2("S60MCPR<%x>::TAwaitingPreferredCarrierOrCancelOrRejectedOrErrorNotification::Accept() TMPMErrorNotificationMsg %d",(TInt*)&iContext.Node(),msg->iValue)
ASSERT( msg->iValue != KErrNone );
activity.SetError( msg->iValue );
- result = ETrue;
+ result = EFalse;
}
return result;
--- a/bearermanagement/S60MCPR/src/s60mcprsimpleselectactivity.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60mcprsimpleselectactivity.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -194,10 +194,6 @@
newPrefs.SetPrefs( ippprefs );
TCFSelector::TSimpleSelect msg(newPrefs);
iContext.iNodeActivity->PostRequestTo(ac.iTierManager, msg);
-
- //TODO Clarify, if the SelectionChoices is actually needed...
- //if (ac.SelectionChoices().Count() == 0)
- //ac.SelectionChoices().Append(node.iIAPList[0]);
}
}
}
@@ -318,10 +314,6 @@
newPrefs.SetPrefs( ippprefs );
TCFSelector::TSimpleSelect msg(newPrefs);
iContext.iNodeActivity->PostRequestTo(ac.iTierManager, msg);
-
- //TODO Clarify, if the SelectionChoices is actually needed...
- //if (ac.SelectionChoices().Count() == 0)
- //ac.SelectionChoices().Append(node.iIAPList[0]);
}
}
--- a/bearermanagement/S60MCPR/src/s60mcprstates.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60mcprstates.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -54,7 +54,6 @@
node.RequestPermissionToSendStarted() )
{
S60MCPRLOGSTRING2("S60MCPR<%x>::THandleMPMStatusChange::DoL() calling IAPConnectionStartedL IAP %d",(TInt*)&iContext.Node(),iapid)
- // TODO use progress notification KLinkLayerOpen once Symbian provides them.
node.Policy()->IAPConnectionStartedL( iapid ); // codescanner::leave
}
else if ( msg.iValue == TCFControlProvider::TDataClientStatusChange::EStopped &&
@@ -114,28 +113,46 @@
RNodeInterface* stoppingSP = NULL;
RNodeInterface* startingSP = NULL;
- // The one that will be started is the one MPM selected.
- // Both must be present in the MCPR -plane.
+ // Get the MCPR
+ CS60MetaConnectionProvider& node = (CS60MetaConnectionProvider&)iContext.Node();
+
+ // At this point MCPR has selected two active IPProtoMCPRs.
+ // The one that will be started is the one MPM selected and
+ // the one which doesn't match the policy preferences is the
+ // old selection and needs to be disconnected.
+ //
+ TUint32 newAP = node.PolicyPrefs().IapId();
+ ASSERT( newAP > 0 );
// Choose Service Providers to work on
TClientIter<TDefaultClientMatchPolicy> iter =
iContext.Node().GetClientIter<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EServProvider));
-
- RNodeInterface* itf = NULL;
- for ( itf = iter++; ( itf != NULL && ( stoppingSP == NULL || startingSP == NULL ) ); itf = iter++ )
+
+ RMetaServiceProviderInterface* itf = NULL;
+ //RNodeInterface* itf = NULL;
+
+ for ( itf = (RMetaServiceProviderInterface*)iter++;
+ ( itf != NULL && ( stoppingSP == NULL || startingSP == NULL ) );
+ itf = (RMetaServiceProviderInterface*)iter++ )
{
- // Only one of the selected MCPRs can be EStarted.
- //
- if ( itf->Flags() & TCFClientType::EStarted )
+ if ( itf->Flags() & TCFClientType::EActive )
{
- stoppingSP = itf; //Our current started Service Provider.
- itf->ClearFlags( TCFClientType::EActive );
- }
- // The other which is not EStarted must be EActive.
- //
- else if ( itf->Flags() & TCFClientType::EActive )
- {
- startingSP = itf; //And the new one to try next
+ // Select one that shall be stopped.
+ //
+ if ( itf->ProviderInfo().APId() != newAP )
+ {
+ stoppingSP = itf;
+ itf->ClearFlags( TCFClientType::EActive );
+ }
+ // Select one that shall be started
+ //
+ else if ( itf->ProviderInfo().APId() == newAP )
+ {
+ startingSP = itf;
+ itf->ClearFlags( TCFClientType::EActive );
+ }
+ // no else.
+ //
}
}
// One must be started since this is already a reconnection
@@ -147,10 +164,6 @@
User::Leave( KErrCorrupt ); // codescanner::leave
}
- //Sanity check.
- //The new provider must not be started, there can be only one started at a time.
- ASSERT( startingSP == NULL || ( startingSP->Flags() & TCFClientType::EStarted ) == 0 );
-
//If there is no other Service Provider to try, return KErrNotFound
if ( startingSP == NULL )
{
--- a/bearermanagement/S60MCPR/src/s60tiermanagerselector.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60tiermanagerselector.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -132,8 +132,8 @@
break;
}
}
- // We do the default behavior. AP is only needed to get proper UIds for TM etc..
- // TODO: change to use AP.
+ // We use default AP always. If some variation is needed in APs, then
+ // this must be changed to use specific APs instead of the default one.
aSelectionNotify.SelectComplete( this, FindOrCreateProviderL( iDefaultAp ));
aSelectionNotify.SelectComplete( this, NULL );
}
--- a/bearermanagement/mpm/group/mpmserver.mmp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/group/mpmserver.mmp Fri Mar 12 15:44:18 2010 +0200
@@ -54,7 +54,6 @@
SOURCE mpmiapselection.cpp
SOURCE mpmcsidwatcher.cpp
SOURCE mpmdialogbase.cpp
-SOURCE mpmwlanavailability.cpp
SOURCE mpmdatausagewatcher.cpp
USERINCLUDE ../inc
--- a/bearermanagement/mpm/inc/mpmconnmonevents.h Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/inc/mpmconnmonevents.h Fri Mar 12 15:44:18 2010 +0200
@@ -37,8 +37,6 @@
// FORWARD DECLARATIONS
class CMPMConnMonReqs;
-class CWlanAvailability;
-class MWlanAvailability;
// CONSTANTS
@@ -300,29 +298,7 @@
* @since 5.1
*/
void IapAvailabilityChange();
-
- /**
- * Asks WLAN bearer availability info from Connection monitor.
- * @since 5.2
- * @param aObserver pointer to the caller
- */
- void CheckWlanAvailabilityL( MWlanAvailability* aObserver );
-
- /**
- * Cancels WLAN bearer availability check for an observer.
- * @since 5.2
- * @param aObserver pointer to the caller
- */
- void CancelCheckWlanWlanAvailability( MWlanAvailability* aObserver );
-
- /**
- * Sets iWlanAvailability pointer to NULL because object has
- * deleted itself.
- * @since 5.2
- */
- void SetWlanAvailabilityPtrNull();
-
-
+
public: // Functions from base classes
/**
@@ -373,7 +349,6 @@
void FilterAvailableIAPEvents( const TBool aVal ) { iFilterEvents = aVal; }
#endif //_DEBUG
- CWlanAvailability* iWlanAvailability;
};
// -----------------------------------------------------------------------------
--- a/bearermanagement/mpm/inc/mpmiapselection.h Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/inc/mpmiapselection.h Fri Mar 12 15:44:18 2010 +0200
@@ -22,12 +22,10 @@
#include "mpmserversession.h"
#include "mpmcommsdataccess.h"
-#include "mpmwlanavailability.h"
class CMPMDialog;
class CMPMWlanQueryDialog;
class CMPMConfirmDlgStarting;
-class MWlanAvailability;
class TMpmConnPref;
enum TOfflineNoteResponse
@@ -45,8 +43,7 @@
* @lib mpmserver.exe
* @since S60 v3.2
*/
-class CMPMIapSelection : public CBase,
- public MWlanAvailability
+class CMPMIapSelection : public CBase
{
public:
@@ -240,13 +237,6 @@
* @since 3.2
*/
void ConnectionStarted();
-
- /**
- * Triggers an information note. Note disappears automatically.
- *
- * @since 5.2
- */
- void TriggerInformationNoteL();
/**
* Get original MPM connection preferences
@@ -307,18 +297,6 @@
*/
void ImplicitConnectionWlanNoteL();
-private: // from MWlanAvailability
-
- /**
- * WLAN availability check response
- * @since 3.2
- * @param aError generic Symbian error response code
- * @param aResult Result of WLAN availability check
- * @return void
- */
- void WlanAvailabilityResponse( const TInt aError,
- const TBool aResult );
-
private:
/**
--- a/bearermanagement/mpm/src/mpmconnmonevents.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/mpmconnmonevents.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -26,7 +26,6 @@
#include "mpmserver.h"
#include "mpmserversession.h"
#include "mpmlogger.h"
-#include "mpmwlanavailability.h"
// ============================= LOCAL FUNCTIONS ===============================
@@ -68,8 +67,6 @@
iConnMon.Close();
iReqPtrs.ResetAndDestroy();
iConnInfoArray.Close();
- delete iWlanAvailability;
- iWlanAvailability = NULL;
}
@@ -697,52 +694,5 @@
{
}
-// -----------------------------------------------------------------------------
-// CMPMConnMonEvents::CheckWlanAvailabilityL
-// -----------------------------------------------------------------------------
-//
-void CMPMConnMonEvents::CheckWlanAvailabilityL( MWlanAvailability* aObserver )
- {
- MPMLOGSTRING( "CMPMConnMonEvents::CheckWlanAvailabilityL" )
- // Sanity check null pointer
- ASSERT( aObserver != NULL );
-
- // Request for WLAN bearer availability info
- //
- if ( !iWlanAvailability )
- {
- iWlanAvailability = CWlanAvailability::NewL( this, iConnMon );
- }
-
- iWlanAvailability->Start( aObserver );
- }
-
-// -----------------------------------------------------------------------------
-// CMPMConnMonEvents::CancelCheckWlanWlanAvailability
-// -----------------------------------------------------------------------------
-//
-void CMPMConnMonEvents::CancelCheckWlanWlanAvailability( MWlanAvailability* aObserver )
- {
- MPMLOGSTRING( "CMPMConnMonEvents::CancelCheckWlanWlanAvailability" )
- // Sanity check null pointer
- ASSERT( aObserver != NULL );
-
- // Cancel WLAN bearer availability check for this observer
- //
- if ( iWlanAvailability )
- {
- iWlanAvailability->CancelObserver( aObserver );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CMPMConnMonEvents::SetWlanAvailabilityPtrNull
-// -----------------------------------------------------------------------------
-//
-void CMPMConnMonEvents::SetWlanAvailabilityPtrNull()
- {
- iWlanAvailability = NULL;
- }
-
// End of File
--- a/bearermanagement/mpm/src/mpmdatausagewatcher.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/mpmdatausagewatcher.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -113,13 +113,13 @@
// Get the new value from central repository
User::LeaveIfError( iRepository->Get( KCurrentCellularDataUsage,
iCellularDataUsage ) );
-
+
// Stop cellular connections if the setting changes into Disabled
- if (oldCellularDataUsage != ECmCellularDataUsageDisabled &&
- iCellularDataUsage == ECmCellularDataUsageDisabled)
+ if ( oldCellularDataUsage != ECmCellularDataUsageDisabled &&
+ iCellularDataUsage == ECmCellularDataUsageDisabled &&
+ iServer->RoamingWatcher()->RoamingStatus() != EMPMRoamingStatusUnknown )
{
- // TODO: Uncomment this when trying to get stopping working.
- // iServer->StopCellularConns();
+ iServer->StopCellularConns();
}
}
--- a/bearermanagement/mpm/src/mpmiapselection.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/mpmiapselection.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -84,13 +84,6 @@
//
StopDisplayingStartingDlg();
- // Cancel WLAN availability check in case it is active
- //
- if ( iSession )
- {
- iSession->MyServer().Events()->CancelCheckWlanWlanAvailability( this );
- }
-
delete iConfirmDlgStarting;
delete iDialog;
delete iWlanDialog;
@@ -419,16 +412,7 @@
if ( ( iChooseIapPref.BearerSet() & TExtendedConnPref::EExtendedConnBearerWLAN ) ||
( iChooseIapPref.BearerSet() == TExtendedConnPref::EExtendedConnBearerUnknown ) )
{
- if ( iNewWlansAllowed &&
- ( iChooseIapPref.BearerSet() ==
- TExtendedConnPref::EExtendedConnBearerWLAN ) )
- {
- // User allows only WLAN connections, check WLAN availability.
- // A note will be shown if no WLANs are available.
- //
- iSession->MyServer().Events()->CheckWlanAvailabilityL( this );
- }
- else if( iCommsDatAccess->SnapContainsWlanL( snap, iapPath, KMPMNrWlansOne ) )
+ if( iCommsDatAccess->SnapContainsWlanL( snap, iapPath, KMPMNrWlansOne ) )
{
// Scan wlan networks. After that execution continues
// in CompleteExplicitSnapConnectionL()
@@ -854,28 +838,12 @@
TMpmConnPref userPref;
iUserSelectionSnapId = iCommsDatAccess->MapNetIdtoSnapAPL( aId );
userPref.SetSnapId( iUserSelectionSnapId );
+ userPref.SetIapId( 0 );
-
-// Agreed that MPM will be migrated to SNAP TAG ID SNAPS.
-// if ( iUserSelectionSnapId < 0x1000 ) // TODO: remove when connection dialog return valid SNAP TAG ID.
-// {
-// // legacy snaps ok
-// userPref.SetNetId( aId );
-// iUserSelectionSnapId = aId;
-// }
-// else
-// {
-// // 5.2 snaps, MPM uses internally legacy snaps. Convert back. -jl- TODO: use CommsDat mapping in future.
-// userPref.SetNetId( aId - 3000 );
-// iUserSelectionSnapId = aId - 3000;
-// }
-
MPMLOGSTRING2(
"CMPMIapSelection::HandleUserSelectionL: Snap = %i selected by the User",
iUserSelectionSnapId )
-// userPref.SetNetId( aId );
- userPref.SetIapId( 0 );
ChooseBestIAPL( userPref, iStoredAvailableIaps );
iUserSelectionIapId = userPref.IapId();
@@ -1322,62 +1290,6 @@
}
// -----------------------------------------------------------------------------
-// CMPMIapSelection::TriggerInformationNote
-// -----------------------------------------------------------------------------
-//
-void CMPMIapSelection::TriggerInformationNoteL()
- {
- // ConnectioUiUtilities client side has a nonblocking active object
- // implementation
- //
- if ( !( iChooseIapPref.NoteBehaviour() &
- TExtendedConnPref::ENoteBehaviourConnDisableNotes ) )
- {
- CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL();
-
- connUiUtils->NoWLANNetworksAvailableNote();
-
- delete connUiUtils;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CMPMIapSelection::WlanAvailabilityResponse
-// -----------------------------------------------------------------------------
-//
-void CMPMIapSelection::WlanAvailabilityResponse( const TInt aError,
- const TBool aResult )
- {
- if ( ( aError == KErrNone && aResult == EFalse )
- || ( aError == KErrNotSupported ) )
- {
- // no WLANs are available and user allows only
- // WLAN connections
- TRAPD( err, TriggerInformationNoteL() );
-
- if ( err )
- {
- MPMLOGSTRING2( "TriggerInformationNoteL leaved %d", err )
- }
-
- ChooseIapComplete( KErrNotFound, NULL );
- }
- else
- {
- // Some WLANs are available,
- // or an error has occured while requesting available WLANs.
- //
- TRAPD( err, CompleteExplicitSnapConnectionL() );
-
- if ( err )
- {
- MPMLOGSTRING2( "CompleteExplicitSnapConnectionL leaved %d", err )
- ChooseIapComplete( KErrCancel, NULL );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
// CMPMIapSelection::MpmConnPref
// -----------------------------------------------------------------------------
//
--- a/bearermanagement/mpm/src/mpmserver.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/mpmserver.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -25,6 +25,7 @@
#include <etel3rdparty.h> // Voice call notification
#include <mmtsy_names.h> // KMmTsyModuleName
#include <centralrepository.h>
+#include <es_sock_partner.h>
#include "mpmserver.h"
#include "mpmserversession.h"
@@ -2023,7 +2024,7 @@
MPMLOGSTRING2( "CMPMServer::NotifyDisconnectL: \
Disconnected Connection Id = 0x%x", iSessions[sIndex]->ConnectionId() )
- iSessions[sIndex]->ClientErrorNotificationL( KErrDisconnected );
+ iSessions[sIndex]->ClientErrorNotificationL( KErrForceDisconnected );
}
}
}
--- a/bearermanagement/mpm/src/mpmserversession.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/mpmserversession.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -445,6 +445,9 @@
//
iAppUid = aMessage.Int2();
+ MPMLOGSTRING2( "CMPMServerSession::HandleServerChooseIapL: \
+Client UID = 0x%x", iAppUid )
+
if ( !iIapSelection )
{
iIapSelection = CMPMIapSelection::NewL( iMyServer.CommsDatAccess(),
--- a/bearermanagement/mpm/src/rmpm.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/rmpm.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -277,7 +277,7 @@
TRequestStatus& /*aStatus*/ )
{
__ASSERT_ALWAYS( EFalse, Panic( KErrNotSupported ) );
- //-jl- TODO remove this function from the API.
+ // TODO remove this function from the API.
}
// -----------------------------------------------------------------------------
@@ -324,7 +324,7 @@
const TConnectionId /*aConnId*/ )
{
__ASSERT_ALWAYS( EFalse, Panic( KErrNotSupported ) );
- //-jl- TODO remove this function from the API.
+ // TODO remove this function from the API.
return NULL;
}
--- a/cmmanager/cmmgr/Framework/Inc/cmwizard.h Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Inc/cmwizard.h Fri Mar 12 15:44:18 2010 +0200
@@ -123,6 +123,7 @@
TBool iCheckConnDlgCancelled;
CCmManagerImpl& iCmManager; ///< Only a reference == not owned.
+ CActiveSchedulerWait iWait;
};
#endif // T_TCMWIZARD_H
--- a/cmmanager/cmmgr/Framework/Src/cmconnselectrbpage.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Src/cmconnselectrbpage.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -381,8 +381,8 @@
Cba()->DrawNow();
CleanupStack::PopAndDestroy( text );
}
+ CAknRadioButtonSettingPage::SelectCurrentItemL();
}
- CAknRadioButtonSettingPage::HandleListBoxEventL(aListBox, aEventType);
}
break;
--- a/cmmanager/cmmgr/Framework/Src/cmdlg.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Src/cmdlg.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -198,9 +198,10 @@
CEikMenuPane* aMenuPane )
{
CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );
+
if ( aResourceId == R_CM_MENU )
{
- if (aResourceId == R_CM_MENU && !iCmManager->IsHelpOn())
+ if ( !iCmManager->IsHelpOn() )
{
aMenuPane->DeleteMenuItem( EAknCmdHelp );
}
@@ -243,18 +244,27 @@
hidePrioritise = ETrue;
}
}
-
+
+ // All item specific options need to be dimmed if in prioritising view
+ if ( iPrioritising )
+ {
+ hideEdit = ETrue;
+ hideAdd = ETrue;
+ hideRename = ETrue;
+ hideDelete = ETrue;
+ hideCopy = ETrue;
+ hideMove = ETrue;
+ hidePrioritise = ETrue;
+ }
+
// Show or hide menu items
- if ( aResourceId == R_CM_MENU )
- {
- aMenuPane->SetItemDimmed( ECmManagerUiCmdCmEdit, hideEdit );
- aMenuPane->SetItemDimmed( ECmManagerUiCmdCmAdd, hideAdd );
- aMenuPane->SetItemDimmed( ECmManagerUiCmdCmRename, hideRename );
- aMenuPane->SetItemDimmed( ECmManagerUiCmdCmDelete, hideDelete );
- aMenuPane->SetItemDimmed( ECmManagerUiCmdCmPrioritise, hidePrioritise );
- aMenuPane->SetItemDimmed( ECmManagerUiCmdCmMoveToOtherDestination, hideMove );
- aMenuPane->SetItemDimmed( ECmManagerUiCmdCmCopyToOtherDestination, hideCopy );
- }
+ aMenuPane->SetItemDimmed( ECmManagerUiCmdCmEdit, hideEdit );
+ aMenuPane->SetItemDimmed( ECmManagerUiCmdCmAdd, hideAdd );
+ aMenuPane->SetItemDimmed( ECmManagerUiCmdCmRename, hideRename );
+ aMenuPane->SetItemDimmed( ECmManagerUiCmdCmDelete, hideDelete );
+ aMenuPane->SetItemDimmed( ECmManagerUiCmdCmPrioritise, hidePrioritise );
+ aMenuPane->SetItemDimmed( ECmManagerUiCmdCmMoveToOtherDestination, hideMove );
+ aMenuPane->SetItemDimmed( ECmManagerUiCmdCmCopyToOtherDestination, hideCopy );
}
}
@@ -1229,7 +1239,12 @@
{
User::LeaveIfError( err );
}
-
+
+ if ( !cm )
+ {
+ return;
+ }
+
// Must reload here in case another app changed the data (CurrentCML loads
// only if not already loaded)
cm->ReLoadL();
--- a/cmmanager/cmmgr/Framework/Src/cmwizard.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Src/cmwizard.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -298,6 +298,12 @@
iCheckConnDlgCancelled = ETrue;
}
}
+
+ if ( iWait.IsStarted() )
+ {
+ iWait.AsyncStop();
+ }
+ iCheckConnDlg = NULL;
}
// ---------------------------------------------------------------------------
@@ -386,16 +392,21 @@
if( !iCheckConnDlgCancelled )
{
CLOG_WRITE( "CCmWizard::CheckForCms, cancelling wait dlg" );
- iCheckConnDlg->SetCallback( NULL );
iCheckConnDlg->ProcessFinishedL();
+
+ // Wait here in case wait note has not yet been dismissed.
+ // This happens in hw when Themes/effects is enabled.
+ if ( iCheckConnDlg != NULL )
+ {
+ iWait.Start();
+ }
CLOG_WRITE( "CCmWizard::CheckForCms, wait dialog deleted" );
}
else
{
CLOG_WRITE( "CCmWizard::CheckForCms, wait dlg was already cancelled" );
}
-
-
+
// Set the member to NULL every case
iCheckConnDlg = NULL;
}
--- a/cmmanager/cmmgr/Framework/Src/uncatdlg.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Src/uncatdlg.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -226,6 +226,7 @@
{
TCmCommonUi::ShowNoteL( R_QTN_NETW_CONSET_INFO_UNCAT_EMPTY,
TCmCommonUi::ECmInfoNote );
+ iCmManager->WatcherUnRegister();
TryExitL( KDialogUserBack );
}
}
@@ -295,6 +296,7 @@
{
TCmCommonUi::ShowNoteL( R_QTN_NETW_CONSET_INFO_UNCAT_EMPTY,
TCmCommonUi::ECmInfoNote );
+ iCmManager->WatcherUnRegister();
TryExitL( KDialogUserBack );
}
}
--- a/cmmanager/cmmgr/Plugins/cmpluginvpn/inc/cmpluginvpn.h Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Plugins/cmpluginvpn/inc/cmpluginvpn.h Fri Mar 12 15:44:18 2010 +0200
@@ -283,7 +283,7 @@
* @since S60 5.2
* @return an elementid id of the default AP record in tier record.
*/
- const TMDBElementId DefaultAPRecordL( const TInt aTierIdentifier = KAfInet );
+ TMDBElementId DefaultAPRecordL( const TInt aTierIdentifier = KAfInet );
public:
/**
--- a/cmmanager/cmmgr/Plugins/cmpluginvpn/src/cmpluginvpn.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Plugins/cmpluginvpn/src/cmpluginvpn.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -667,7 +667,41 @@
if( TPtrC(aIapRecord->iServiceType) == TPtrC(KCDTypeNameVPNService) ||
TPtrC(aIapRecord->iBearerType) == TPtrC(KCDTypeNameVirtualBearer) )
{
- retVal = ETrue;
+ // Further comparision is to find exact info that the IAP can handle by this plugin
+ CMDBRecordSet<CCDVirtualBearerRecord>* bearersRS =
+ new(ELeave) CMDBRecordSet<CCDVirtualBearerRecord>
+ (KCDTIdVirtualBearerRecord);
+ CleanupStack::PushL( bearersRS );
+
+ CCDVirtualBearerRecord* bearerRecord =
+ static_cast<CCDVirtualBearerRecord *>
+ (CCDRecordBase::RecordFactoryL(KCDTIdVirtualBearerRecord));
+
+ CleanupStack::PushL( bearerRecord );
+
+ // Find entries used "vpnconnagt.agt" as agent from Table VirtualBearer
+ bearerRecord->iBearerAgent.SetL( KVpnVirtualBearerAgent );
+
+ bearersRS->iRecords.AppendL( bearerRecord );
+
+ CleanupStack::Pop( bearerRecord );
+ bearerRecord = NULL;
+
+ if ( bearersRS->FindL( Session() ) )
+ {
+ TUint32 recordId = (*bearersRS)[0]->RecordId();
+ TPtrC bearerName( (*bearersRS)[0]->iRecordName.GetL() );
+
+ // Further comparing record ID referred to by this VPN IAP with entry ID in table VirtualBearer
+ // And also comparing bear name with our expected one "vpnbearer"
+ if( recordId == aIapRecord->iBearer && bearerName
+ == TPtrC( KVpnVirtualBearerName ) )
+ {
+ retVal = ETrue;
+ }
+ }
+
+ CleanupStack::PopAndDestroy( bearersRS );
}
return retVal;
@@ -2058,7 +2092,7 @@
// CCmPluginVpn::DefaultAPRecordL
// --------------------------------------------------------------------------
//
-const TMDBElementId CCmPluginVpn::DefaultAPRecordL( const TInt aTierIdentifier )
+TMDBElementId CCmPluginVpn::DefaultAPRecordL( const TInt aTierIdentifier )
{
LOGGER_ENTERFN( "CCmPluginVpn::DefaultAPRecordL" );
// Resolve the Default SNAP AP elementid
--- a/cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -1922,6 +1922,12 @@
// Pre-shared - go to step 7
// EAP - go to step 8
case EWlanConnectionExtentedSecurityMode802d1x:
+ TCmCommonUi::ShowNoteL( *( StringLoader::LoadLC(
+ R_QTN_NETW_CONSET_INFO_EAP_SETTINGS_DEFAULT ) ),
+ TCmCommonUi::ECmInfoNote );
+ CleanupStack::PopAndDestroy();
+ break;
+
case EWlanConnectionExtentedSecurityModeWpa:
case EWlanConnectionExtentedSecurityModeWpaPsk:
case EWlanConnectionExtentedSecurityModeWpa2:
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionInfoBase.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionInfoBase.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -74,6 +74,7 @@
CActiveWrapper* aActiveWrapper ) :
iConnectionMonitor( aConnectionMonitor ),
iStartTime( NULL ),
+ iLastSpeedUpdate( 0 ),
iDeletedFromCMUI( EFalse ),
iActiveWrapper( aActiveWrapper )
{
@@ -81,7 +82,6 @@
iConnectionStatus = EConnectionUninitialized;
iConnectionId = aConnectionId;
iConnectionBearerType = aConnectionBearerType;
- iLastSpeedUpdate.UniversalTime();
CMUILOGGER_WRITE( "CConnectionInfoBase constuctor - end " );
}
@@ -422,6 +422,10 @@
void CConnectionInfoBase::RefreshTransferSpeedsL()
{
CMUILOGGER_ENTERFN( "CConnectionInfoBase::RefreshTransferSpeedsL" );
+ const TInt KUpdatingIntervalInMillisec = 500;
+ const TInt KStandardKilo = 1000;
+ const TInt KDataKilo = 1024;
+
TUint up = iUploaded;
TUint down = iDownloaded;
@@ -429,11 +433,10 @@
TTime now;
now.UniversalTime();
-
- // 100 * 1/1000sec
- const TUint KOnesec = 1000;
- TUint diffTime = I64LOW( now.MicroSecondsFrom( iLastSpeedUpdate ).Int64() /
- TInt64( 1000 ) );
+
+ // calculate time difference in milliseconds
+ TInt diffTime = I64INT( now.MicroSecondsFrom( iLastSpeedUpdate ).Int64() /
+ TInt64( KStandardKilo ) );
if ( iLastSpeedUpdate.Int64() == 0 )
{
@@ -445,18 +448,23 @@
iDownSpeed.quot = 0;
iDownSpeed.rem = 0;
}
- else if ( diffTime > 500 )
- // at least 1/2sec passed
+ else if ( diffTime > KUpdatingIntervalInMillisec )
{
- // bytes/sec
- div_t upSpeed = div( ( iUploaded - up ) * KOnesec, diffTime );
- div_t downSpeed = div( ( iDownloaded - down ) * KOnesec, diffTime );
+ // bytes/millisec
+ TInt upSpeed = ( iUploaded - up ) / diffTime;
+ TInt downSpeed = ( iDownloaded - down ) / diffTime;
+
+ // bytes/sec
+ upSpeed *= KStandardKilo;
+ downSpeed *= KStandardKilo;
+
// kbytes/sec
- iUpSpeed = div( upSpeed.quot, 1024 );
- iDownSpeed = div( downSpeed.quot, 1024 );
+ iUpSpeed = div( upSpeed, KDataKilo );
+ iDownSpeed = div( downSpeed, KDataKilo );
iLastSpeedUpdate = now;
}
+
CMUILOGGER_LEAVEFN( "CConnectionInfoBase::RefreshTransferSpeedsL" );
}
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -387,11 +387,14 @@
CleanupStack::PushL( connectionInfo );
iConnectionArray->AppendL( connectionInfo );
CleanupStack::Pop( connectionInfo );
-
- // Avkon: This is needed due to events' timing issues:
- CConnectionMonitorUiView* view =
- ( CConnectionMonitorUiView* )iView;
- view->HandleItemAdditionL();
+
+ if ( iView->Id() != KDetailsViewId )
+ {
+ // Avkon: This is needed due to events' timing issues:
+ CConnectionMonitorUiView* view =
+ ( CConnectionMonitorUiView* )iView;
+ view->HandleItemAdditionL();
+ }
}
}
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/ActiveSelectWLanDlgPlugin.h Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/ActiveSelectWLanDlgPlugin.h Fri Mar 12 15:44:18 2010 +0200
@@ -21,6 +21,7 @@
#define __ACTIVE_SELECT_WLAN_DLG_PLUGIN_H__
// INCLUDES
+#include <e32base.h>
#include "SelectWLanDlgPlugin.h"
#include "SelectWLANDlg.h"
#include "WlanNetworkDataProvider.h"
@@ -57,9 +58,9 @@
/**
* Timer callback of iPeridoc.
*/
- void DoTick();
-
-
+ void DoTick();
+
+
protected:
/**
* ConstructL
@@ -108,6 +109,18 @@
*/
void DestroyResultsListDialog();
+ /**
+ * Destroy results dialog
+ */
+ void DestroyAsyncWaitTrigger();
+
+
+private:
+ /**
+ * Start wait note
+ */
+ static TInt StartWaitNoteL( TAny* aObject );
+
protected:
@@ -125,6 +138,9 @@
CAknWaitDialog* iWaitDialog;
+ CAsyncCallBack* iAsyncWaitTrigger;
+
+ TInt iRefreshInterval;
};
#endif // __ACTIVE_SELECT_WLAN_DLG_PLUGIN_H__
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveSelectWLanDlgPlugin.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveSelectWLanDlgPlugin.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -107,7 +107,10 @@
iResultsListDialog = NULL;
}
+ DestroyAsyncWaitTrigger();
+
delete iWlanDataProv;
+ iWlanDataProv = NULL;
CLOG_LEAVEFN( "CActiveSelectWLanDlgPlugin::~CActiveSelectWLanDlgPlugin " );
}
@@ -134,6 +137,8 @@
delete iWlanDataProv;
iWlanDataProv = NULL;
+ DestroyAsyncWaitTrigger();
+
CLOG_LEAVEFN( "CActiveSelectWLanDlgPlugin::DoCancel " );
}
@@ -228,6 +233,8 @@
{
CLOG_ENTERFN( "CActiveSelectWLanDlgPlugin::RunL " );
+ DestroyAsyncWaitTrigger();
+
if ( iWaitDialog )
{
iWaitDialog->ProcessFinishedL();
@@ -261,12 +268,9 @@
iResultsListDialog->ExecuteLD( R_SELECT_WLAN_LIST_QUERY );
- TInt interval = GetRefreshInterval();
- CLOG_WRITEF( _L( "interval : %d" ), interval );
-
- if( interval )
+ if( iRefreshInterval )
{
- StartTimerL( interval );
+ StartTimerL( iRefreshInterval );
}
}
}
@@ -321,13 +325,7 @@
void CActiveSelectWLanDlgPlugin::StartSearchWlanNetworkL()
{
CLOG_ENTERFN( "CActiveSelectWLanDlgPlugin::StartSearchWlanNetworkL " );
-
- DestroyWaitDialog();
- iWaitDialog = new( ELeave )CAknWaitDialog
- ( REINTERPRET_CAST( CEikDialog**, &iWaitDialog ), ETrue );
- iWaitDialog->ExecuteLD( R_SEARCHING_WLAN_WAIT_NOTE );
-
SetActive();
#ifdef __WINS__
@@ -336,10 +334,24 @@
#else
iWlanDataProv->RefreshScanInfo( iStatus );
#endif
+
+ // Start wait dialog asynchronously with low priority.
+ // The reason for this is that sometimes WLAN scan results
+ // are already in the cache and returned fast.
+ // When this happens there is no point in displaying wait note.
+ iRefreshInterval = GetRefreshInterval();
+ CLOG_WRITEF( _L( "interval : %d" ), iRefreshInterval );
+
+ if ( !iAsyncWaitTrigger )
+ {
+ TCallBack cb( StartWaitNoteL, this );
+ iAsyncWaitTrigger = new( ELeave ) CAsyncCallBack( cb, CActive::EPriorityLow );
+ }
+ iAsyncWaitTrigger->CallBack();
CLOG_LEAVEFN( "CActiveSelectWLanDlgPlugin::StartSearchWlanNetworkL " );
}
-
+
// ---------------------------------------------------------
// CActiveSelectWLanDlgPlugin::GetRefreshInterval()
// ---------------------------------------------------------
@@ -416,5 +428,37 @@
CLOG_LEAVEFN( "CActiveSelectWLanDlgPlugin::DestroyResultsListDialog " );
}
+// ---------------------------------------------------------
+// CActiveSelectWLanDlgPlugin::DestroyAsyncWaitTrigger()
+// ---------------------------------------------------------
+//
+void CActiveSelectWLanDlgPlugin::DestroyAsyncWaitTrigger()
+ {
+ if ( iAsyncWaitTrigger )
+ {
+ iAsyncWaitTrigger->Cancel();
+ delete iAsyncWaitTrigger;
+ iAsyncWaitTrigger= NULL;
+ }
+ }
+
+// ---------------------------------------------------------
+// CActiveSelectWLanDlgPlugin::StartWaitNoteL()
+// ---------------------------------------------------------
+//
+TInt CActiveSelectWLanDlgPlugin::StartWaitNoteL( TAny* aObject )
+ {
+ CActiveSelectWLanDlgPlugin* myself =
+ static_cast<CActiveSelectWLanDlgPlugin*>( aObject );
+
+ myself->DestroyWaitDialog();
+
+ myself->iWaitDialog = new( ELeave )CAknWaitDialog
+ ( REINTERPRET_CAST( CEikDialog**, &(myself->iWaitDialog) ), ETrue );
+ myself->iWaitDialog->ExecuteLD( R_SEARCHING_WLAN_WAIT_NOTE );
+
+ return 0;
+ }
+
// End of File
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectingviadiscreetpopup.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectingviadiscreetpopup.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -185,13 +185,11 @@
HBufC* stringText2 = NULL;
if (iConnectionName)
{
- stringText2 = StringLoader::LoadLC(
- R_QTN_OCC_CONNECTING_DISCREET_POPUP_TEXT2,
- *iConnectionName);
+ stringText2 = iConnectionName;
}
else
{
- stringText2 = _L("''").AllocLC();
+ stringText2 = KNullDesC().AllocLC();
}
CAknDiscreetPopup::ShowGlobalPopupL(*stringText1, // first text row
@@ -205,7 +203,13 @@
NULL, // command observer
KDiscreetPopupUid, // application to be launched
KDiscreetPopupViewUid); // view to be activated
- CleanupStack::PopAndDestroy(2);
+
+ if (!iConnectionName)
+ {
+ CleanupStack::PopAndDestroy( stringText2 );
+ }
+
+ CleanupStack::PopAndDestroy( stringText1 );
}
// Cleanup
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/data/ConnUiUtilsNotif.rss Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/data/ConnUiUtilsNotif.rss Fri Mar 12 15:44:18 2010 +0200
@@ -353,11 +353,6 @@
buf = qtn_occ_connecting_discreet_popup_text1;
}
-RESOURCE TBUF r_qtn_occ_connecting_discreet_popup_text2
- {
- buf = qtn_occ_connecting_discreet_popup_text2;
- }
-
RESOURCE TBUF r_qtn_occ_connection_failed_discreet_popup_text1
{
buf = qtn_occ_connection_failed_discreet_popup_text1;
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/loc/connectionuiutilities.loc Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/loc/connectionuiutilities.loc Fri Mar 12 15:44:18 2010 +0200
@@ -253,14 +253,6 @@
//
#define qtn_occ_connecting_discreet_popup_text1 "Connecting"
-//d:Text of discreet popup row 2 informing about the used IAP for the connection
-//l:popup_discreet_window_t2
-//w:
-//r:5.2
-//
-#define qtn_occ_connecting_discreet_popup_text2 "Via '%U'"
-
-
//d:No WLAN networks are available at the moment - note
//l:popup_discreet_window_t1/opt4
//w:
--- a/connectionutilities/ConnectionDialogs/cconndlg/src/SelectConnectionDialog.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/cconndlg/src/SelectConnectionDialog.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -414,7 +414,12 @@
}
result = CAknListQueryDialog::OfferKeyEventL( aKeyEvent, aType );
-
+
+ if ( iFromOkToExit )
+ {
+ return result;
+ }
+
CLOG_WRITEF( _L ( "Returned from CAknListQueryDialog::OfferKeyEventL: %d" ), result );
if ( aKeyEvent.iScanCode == EStdKeyDownArrow ||
--- a/dbcreator/commsdatcreator/Src/cdcwlandevicesettings.cpp Fri Feb 19 23:12:51 2010 +0200
+++ b/dbcreator/commsdatcreator/Src/cdcwlandevicesettings.cpp Fri Mar 12 15:44:18 2010 +0200
@@ -32,8 +32,8 @@
// CONSTANTS
// WLAN Device Settings table - default settings
-const TUint32 KDefaultBGScanInterval = 0; // No background scan
-const TBool KDefaultUseDefSettings = ETrue;
+const TUint32 KDefaultBGScanInterval = -1; // Automatic scan
+const TBool KDefaultUseDefSettings = EFalse;
const TUint32 KDefaultLongRetry = 4;
const TUint32 KDefaultShortRetry = 7;
const TUint32 KDefaultRTS = 2347;
Binary file dbcreator/conf/commsdatcreator.confml has changed