--- a/cellular/telephonysettings/xqbindings/psetwrapper/src/psetnetworkwrapper_p.cpp Tue Aug 31 15:45:17 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,525 +0,0 @@
-/*
- * 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:
- *
- */
-
-#include <rmmcustomapi.h>
-#include <psetcontainer.h>
-#include <psetnetwork.h>
-#include <gsmerror.h>
-#include <PsetCSP.h>
-
-#include "psetnetworkwrapper_p.h"
-#include "logging.h"
-#include "psetnetworkinfoconverter.h"
-
-/*!
- \class PSetNetworkWrapperPrivate
- \brief Private implementation for network wrapper.
-*/
-
-/*!
- PSetNetworkWrapperPrivate::PSetNetworkWrapperPrivate
- */
-PSetNetworkWrapperPrivate::PSetNetworkWrapperPrivate(
- PSetNetworkWrapper &owner,
- CPsetContainer &psetContainer)
- :
- m_owner(owner),
- m_psetNetwork(NULL),
- m_psetNetworkMode(NULL)
-{
- DPRINT << ": IN ";
-
- QT_TRAP_THROWING(
- m_psetNetwork.reset(psetContainer.CreateNetworkObjectL(*this)));
- m_psetNetwork->SetNetworkModeObserver(*this);
- m_psetNetwork->SetNetSAObserver(*this);
- QT_TRAP_THROWING(
- m_psetNetworkMode.reset(psetContainer.CreateNetworkModeObjectL(*this)));
- QT_TRAP_THROWING(
- m_refreshHandler.reset(psetContainer.CreateRefreshHandlerL()));
- QT_TRAP_THROWING(m_refreshHandler->NotifyFileChangeL(
- *this,
- KCsp1Ef,
- EFileChangeNotification));
-
- QT_TRAP_THROWING(m_csp.reset(CPsetCustomerServiceProfile::NewL()));
- QT_TRAP_THROWING(m_csp->OpenCSProfileL());
-
- DPRINT << ": OUT ";
-}
-
-/*!
- PSetNetworkWrapperPrivate::~PSetNetworkWrapperPrivate
- */
-PSetNetworkWrapperPrivate::~PSetNetworkWrapperPrivate()
-{
- DPRINT << ": IN ";
-
- while (!m_networkInfoList.isEmpty()) {
- DPRINT << " delete : " << m_networkInfoList.first()->m_longName;
- delete m_networkInfoList.takeFirst();
- }
- m_networkInfoList.clear();
-
- DPRINT << ": OUT ";
-}
-
-/*!
- PSetNetworkWrapperPrivate::getAvailableNetworks.
-*/
-void PSetNetworkWrapperPrivate::getAvailableNetworks()
-{
- DPRINT << ": IN ";
-
- QT_TRAP_THROWING(m_psetNetwork->GetAvailableNetworksL());
-
- DPRINT << ": OUT ";
-}
-
-/*!
- PSetNetworkWrapperPrivate::getNetworkSelectionMode
-*/
-PSetNetworkWrapper::ErrorCode
- PSetNetworkWrapperPrivate::getNetworkSelectionMode(
- PSetNetworkWrapper::NetworkSelectionMode& mode) const
-{
- DPRINT;
-
- MPsetNetworkSelect::TSelectMode selectMode =
- MPsetNetworkSelect::ENetSelectModeAutomatic;
- int result = m_psetNetwork->GetNetworkSelectMode(selectMode);
- mode = NetworkInfoConverter::ConvertToQtType(selectMode);
-
- return ConvertToQtErrorCode(result);
-}
-
-/*!
- PSetNetworkWrapperPrivate::selectNetwork.
- */
-void PSetNetworkWrapperPrivate::selectNetwork(
- const PSetNetworkWrapper::NetworkInfo& info)
-{
- DPRINT << ": IN ";
-
- QT_TRAP_THROWING(m_psetNetwork->SelectNetworkL(
- NetworkInfoConverter::ConvertToSymbianType(info)));
-
- DPRINT << ": OUT ";
-}
-
-/*!
- PSetNetworkWrapperPrivate::cancelRequest
-*/
-void PSetNetworkWrapperPrivate::cancelRequest()
-{
- DPRINT;
-
- m_psetNetwork->CancelProcess();
-}
-
-/*!
- PSetNetworkWrapperPrivate::getNetworkAccessMode
-*/
-void PSetNetworkWrapperPrivate::getNetworkAccessMode() const
-{
- DPRINT << ": IN ";
-
- QT_TRAP_THROWING(
- m_psetNetwork->GetCurrentNetworkModeSelectionL());
-
- DPRINT << ": OUT ";
-}
-
-/*!
- PSetNetworkWrapperPrivate::setNetworkAccessMode
-*/
-void PSetNetworkWrapperPrivate::setNetworkAccessMode(
- PSetNetworkWrapper::NetworkAccessMode mode)
-{
- DPRINT << ": IN ";
-
- RMmCustomAPI::TNetworkModeCaps modeCaps =
- RMmCustomAPI::KCapsNetworkModeDual;
- switch (mode) {
- case PSetNetworkWrapper::AccessModeDual:
- modeCaps = RMmCustomAPI::KCapsNetworkModeDual;
- break;
- case PSetNetworkWrapper::AccessModeUmts:
- modeCaps = RMmCustomAPI::KCapsNetworkModeUmts;
- break;
- case PSetNetworkWrapper::AccessModeGsm:
- modeCaps = RMmCustomAPI::KCapsNetworkModeGsm;
- break;
- default:
- Q_ASSERT_X(false, "switch default", "unknown enumerator");
- }
-
- QT_TRAP_THROWING(m_psetNetwork->SetNetworkModeSelectionL(
- reinterpret_cast<TUint32&>(modeCaps)));
-
- DPRINT << ": OUT ";
-}
-
-/*!
- From MPsetNetworkInfoObserver.
- \see MPsetNetworkInfoObserver.
-*/
-void PSetNetworkWrapperPrivate::HandleNetworkInfoReceivedL(
- const CNetworkInfoArray* aInfoArray,
- const TInt aResult)
-{
- DPRINT << ": IN ";
-
- Q_UNUSED(aResult);
- __ASSERT_DEBUG(NULL != aInfoArray, User::Leave(KErrArgument));
-
- // delete qlist
- while (!m_networkInfoList.isEmpty()) {
- DPRINT << " delete : " << m_networkInfoList.first()->m_longName;
- delete m_networkInfoList.takeFirst();
- }
- m_networkInfoList.clear();
-
- const int itemsCount = aInfoArray->Count();
-
- //then insert found networks
- for(int i = 0; i < itemsCount; i++)
- {
- PSetNetworkWrapper::NetworkInfo *info =
- new (ELeave) PSetNetworkWrapper::NetworkInfo;
-
- info->m_id.m_countryCode = QString::fromUtf16(
- aInfoArray->At(i).iId.iCountryCode.Ptr(),
- aInfoArray->At(i).iId.iCountryCode.Length());
- info->m_id.m_networkCode = QString::fromUtf16(
- aInfoArray->At(i).iId.iNetworkCode.Ptr(),
- aInfoArray->At(i).iId.iNetworkCode.Length());
- info->m_status =
- static_cast<PSetNetworkWrapper::NetworkStatus>(
- aInfoArray->At(i).iStatus);
- info->m_mode =
- static_cast<PSetNetworkWrapper::NetworkSelectionMode>(
- aInfoArray->At(i).iMode);
- info->m_access =
- static_cast<PSetNetworkWrapper::NetworkAccessType>(
- aInfoArray->At(i).iAccess);
- info->m_shortName =
- QString::fromUtf16(
- aInfoArray->At(i).iShortName.Ptr(),
- aInfoArray->At(i).iShortName.Length());
- info->m_longName =
- QString::fromUtf16(
- aInfoArray->At(i).iLongName.Ptr(),
- aInfoArray->At(i).iLongName.Length());
-
- m_networkInfoList.append(info);
- }
-
- QT_TRYCATCH_LEAVING(
- emit m_owner.availableNetworksGot(m_networkInfoList);
- )
-
- DPRINT << ": OUT ";
-}
-
-/*!
- From MPsetNetworkInfoObserver.
- \see MPsetNetworkInfoObserver.
-*/
-void PSetNetworkWrapperPrivate::HandleCurrentNetworkInfoL(
- const MPsetNetworkSelect::TCurrentNetworkInfo& aCurrentInfo,
- const TInt aResult)
-{
- DPRINT;
-
- Q_UNUSED(aCurrentInfo);
- Q_UNUSED(aResult);
-}
-
-/*!
- From MPsetNetworkInfoObserver.
- \see MPsetNetworkInfoObserver.
-*/
-void PSetNetworkWrapperPrivate::HandleNetworkChangedL(
- const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
- const MPsetNetworkSelect::TCurrentNetworkStatus aStatus,
- const TInt aResult)
-{
- DPRINT;
-
- Q_UNUSED(aCurrentInfo);
- Q_UNUSED(aStatus);
- Q_UNUSED(aResult);
-}
-
-/*!
- From MPsetNetworkInfoObserver.
- \see MPsetNetworkInfoObserver.
-*/
-void PSetNetworkWrapperPrivate::HandleNetworkChangedL(
- const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
- const RMobilePhone::TMobilePhoneRegistrationStatus& aStatus,
- const TInt aResult)
-{
- DPRINT << ": IN ";
-
- Q_UNUSED(aResult);
-
- PSetNetworkWrapper::NetworkInfo info;
- info.m_id.m_countryCode = QString::fromUtf16(
- aCurrentInfo.iId.iCountryCode.Ptr(),
- aCurrentInfo.iId.iCountryCode.Length());
- info.m_id.m_networkCode = QString::fromUtf16(
- aCurrentInfo.iId.iNetworkCode.Ptr(),
- aCurrentInfo.iId.iNetworkCode.Length());
- info.m_status =
- static_cast<PSetNetworkWrapper::NetworkStatus>(
- aCurrentInfo.iStatus);
- info.m_mode =
- static_cast<PSetNetworkWrapper::NetworkSelectionMode>(
- aCurrentInfo.iMode);
- info.m_access =
- static_cast<PSetNetworkWrapper::NetworkAccessType>(
- aCurrentInfo.iAccess);
- info.m_shortName =
- QString::fromUtf16(
- aCurrentInfo.iShortName.Ptr(),
- aCurrentInfo.iShortName.Length());
- info.m_longName =
- QString::fromUtf16(
- aCurrentInfo.iLongName.Ptr(),
- aCurrentInfo.iLongName.Length());
-
- PSetNetworkWrapper::RegistrationStatus status;
- switch (aStatus){
- case RMobilePhone::ERegisteredOnHomeNetwork:
- status = PSetNetworkWrapper::RegisteredOnHomeNetwork;
- break;
- case RMobilePhone::ERegisteredRoaming:
- status = PSetNetworkWrapper::RegisteredRoaming;
- break;
- }
-
- QT_TRYCATCH_LEAVING(
- emit m_owner.networkChanged(info, status);
- )
-
- DPRINT << ": OUT ";
-}
-
-/*!
- From MPsetNetworkInfoObserver.
- \see MPsetNetworkInfoObserver.
-*/
-void PSetNetworkWrapperPrivate::HandleSearchingNetworksL(
- MPsetNetworkInfoObserver::TServiceRequest aRequest)
-{
- DPRINT << ": IN ";
-
- PSetNetworkWrapper::RequestType type =
- static_cast<PSetNetworkWrapper::RequestType>(aRequest);
- QT_TRYCATCH_LEAVING(
- emit m_owner.searchingNetworks(type);
- )
-
- DPRINT << ": OUT ";
-}
-
-/*!
- From MPsetNetworkInfoObserver.
- \see MPsetNetworkInfoObserver.
-*/
-void PSetNetworkWrapperPrivate::HandleRequestingSelectedNetworkL(
- TBool aOngoing)
-{
- DPRINT << ": IN ";
-
- QT_TRYCATCH_LEAVING(
- emit m_owner.requestingSelectedNetwork(
- static_cast<bool>(aOngoing));
- )
-
- DPRINT << ": OUT ";
-}
-
-/*!
- From MPsetNetworkInfoObserver.
- \see MPsetNetworkInfoObserver.
-*/
-void PSetNetworkWrapperPrivate::HandleCallActivatedL()
-{
- DPRINT;
-}
-
-/*!
- From MPsetNetworkInfoObserver.
- \see MPsetNetworkInfoObserver.
-*/
-void PSetNetworkWrapperPrivate::HandleNetworkErrorL(
- const MPsetNetworkInfoObserver::TServiceRequest aRequest,
- const TInt aError)
-{
- DPRINT << ": IN ";
-
- PSetNetworkWrapper::ErrorCode error;
- switch(aError) {
- case KErrGsmNetCauseCallActive:
- error = PSetNetworkWrapper::ErrCauseCallActive;
- break;
- case KErrGsm0707NoNetworkService:
- error = PSetNetworkWrapper::ErrNoNetworkService;
- break;
- case KErrGsmOfflineOpNotAllowed:
- error = PSetNetworkWrapper::ErrOfflineOpNotAllowed;
- break;
- default:
- error = PSetNetworkWrapper::ErrNoNetworkAccess;
- break;
- }
-
- QT_TRYCATCH_LEAVING(
- emit m_owner.networkReqestFailed(
- error, static_cast<PSetNetworkWrapper::RequestType>(aRequest));
- )
-}
-
-/*!
- From MPsetNetworkInfoObserver.
- \see MPsetNetworkInfoObserver.
-*/
-void PSetNetworkWrapperPrivate::HandleNetworkSystemModeEventsL(
- const MPsetNetworkModeObserver::TServiceRequest aRequest,
- const TUint32 aNetworkModeCaps)
-{
- DPRINT;
-
- switch (aRequest) {
- case MPsetNetworkModeObserver::EServiceRequestNone:
- // TODO: what to do with this kind of event
- break;
- case MPsetNetworkModeObserver::EServiceRequestSetSelectedNetworkMode:
- // TODO: implement this
- break;
- case MPsetNetworkModeObserver::EServiceRequestGetCurrentNetworkMode: {
- PSetNetworkWrapper::NetworkAccessMode mode =
- PSetNetworkWrapper::AccessModeDual;
- if (aNetworkModeCaps & RMmCustomAPI::KCapsNetworkModeDual) {
- mode = PSetNetworkWrapper::AccessModeDual;
- } else if
- (aNetworkModeCaps & RMmCustomAPI::KCapsNetworkModeUmts) {
- mode = PSetNetworkWrapper::AccessModeUmts;
- } else if
- (aNetworkModeCaps & RMmCustomAPI::KCapsNetworkModeGsm) {
- mode = PSetNetworkWrapper::AccessModeGsm;
- } else {
- Q_ASSERT(false);
- }
- QT_TRYCATCH_LEAVING(
- emit m_owner.networkAccessModeGot(static_cast<int>(mode));
- )
-
- }
- break;
- default:
- Q_ASSERT_X(false, "switch default", "unknown enumerator");
- }
-}
-
-/*!
- From MPsetNetworkInfoObserver.
- \see MPsetNetworkInfoObserver.
-*/
-void PSetNetworkWrapperPrivate::HandleNetworkErrorL(
- const MPsetNetworkModeObserver::TServiceRequest aRequest,
- const TInt aError)
-{
- DPRINT;
-
- Q_UNUSED(aRequest);
- Q_UNUSED(aError);
-}
-
-/*!
- PSetNetworkWrapperPrivate::ConvertToQtErrorCode
-*/
-PSetNetworkWrapper::ErrorCode PSetNetworkWrapperPrivate::ConvertToQtErrorCode(
- TInt symbianErrorCode) const
-{
- // TODO: do proper conversion for error codes
- if (KErrNone == symbianErrorCode) {
- return PSetNetworkWrapper::ErrNoError;
- } else {
- return PSetNetworkWrapper::ErrGeneral;
- }
-}
-
-/*!
- PSetNetworkWrapperPrivate::isManualNetworkSelectionSupported
-*/
-bool PSetNetworkWrapperPrivate::isManualNetworkSelectionSupported() const
-{
- DPRINT << ": IN ";
-
- TBool settingSupported(EFalse);
- TInt retVal = m_csp->IsNetworkSelectionSupported(settingSupported);
-
- if ( retVal != KErrNone )
- {
- //if a CSP error occurs, by default service is available
- settingSupported = ETrue;
- }
-
- DPRINT << ": OUT ";
- return settingSupported;
-}
-
-/*!
- PSetNetworkWrapperPrivate::AllowRefresh
-*/
-TBool PSetNetworkWrapperPrivate::AllowRefresh(
- const TSatRefreshType aType,
- const TSatElementaryFiles aFiles )
-{
- DPRINT << "aType: " << aType;
- DPRINT << "aFiles: " << aFiles;
-
- return ETrue;
-}
-
-/*!
- PSetNetworkWrapperPrivate::Refresh
-*/
-void PSetNetworkWrapperPrivate::Refresh(
- const TSatRefreshType aType,
- const TSatElementaryFiles aFiles )
-{
- DPRINT << "aType: " << aType;
- DPRINT << "aFiles: " << aFiles;
-
- if ((aType != EFileChangeNotification) ||
- ((aType == EFileChangeNotification) &&
- (aFiles == KCsp1Ef))) {
- TBool networkSelectionSupported;
- if (KErrNone == m_csp->IsNetworkSelectionSupported(networkSelectionSupported)) {
- DPRINT << "networkSelectionSupported " << networkSelectionSupported;
- emit m_owner.chageVisbilityOfManualNetworkSelection(networkSelectionSupported);
- }
- }
-
- DPRINT << ": OUT";
-}
-