diff -r 6b1d113cdff3 -r 6638e7f4bd8f telephonyprotocols/secondarypdpcontextumtsdriver/spudman/src/rpdpfsminterface.cpp --- a/telephonyprotocols/secondarypdpcontextumtsdriver/spudman/src/rpdpfsminterface.cpp Mon May 03 13:37:20 2010 +0300 +++ b/telephonyprotocols/secondarypdpcontextumtsdriver/spudman/src/rpdpfsminterface.cpp Thu May 06 15:10:38 2010 +0100 @@ -1,270 +1,270 @@ -// Copyright (c) 2004-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: -// Proxy methods for RPdpFsmInterface class -// -// - -/** - @file - @internalComponent -*/ - - -#include "rpdpfsminterface.h" - - -RPdpFsmInterface::RPdpFsmInterface() - : iFsmImpl(NULL) -{ -} - -RPdpFsmInterface::~RPdpFsmInterface() -{ -} - -void RPdpFsmInterface::OpenL(MSpudManInterface* aSpudManInterface, TName& aName) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrNotReady )); - iFsmImpl->OpenL (aSpudManInterface, aName); -} - -void RPdpFsmInterface::Close() -{ - if (iFsmImpl) - { - // Clear the member first to avoid ping-ponging Close() messages - // between the PdpFsmInterface and SpudManInterface - MPdpFsmInterface* fsmImpl = iFsmImpl; - iFsmImpl = NULL; - fsmImpl->Close (); - } -} - - -TInt RPdpFsmInterface::Input (TContextId aPdpId, const TInt aOperation, const TInt aParam /* =KErrNone */) -{ - if (iFsmImpl) - { - return iFsmImpl->Input (aPdpId, aOperation, aParam); - } - - // let whoever know we can't do what they ask - return KErrNotReady; -} - - -#ifdef SYMBIAN_NETWORKING_UMTSR5 - -void RPdpFsmInterface::SetIMCNSignalling(TBool aImCnSignalling) -/** -Set the status of IM CN Signalling Flag in UmtsGprsScpr - -@param aImCnSignalling IMCN signalling Status -*/ -{ -__ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KDescNullPdpFsm, KErrNotReady )); - iFsmImpl->SetIMCNSignalling(aImCnSignalling); -} - -TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketQoS::TQoSR5Requested& aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KDescNullPdpFsm, KErrNotReady )); - return iFsmImpl->Set (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketQoS::TQoSR5Negotiated& aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KDescNullPdpFsm, KErrNotReady )); - return iFsmImpl->Set (aPdpId, aParam); -} - -#else -// !SYMBIAN_NETWORKING_UMTSR5 - -TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketQoS::TQoSR99_R4Requested& aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Set (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketQoS::TQoSR99_R4Negotiated& aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Set (aPdpId, aParam); -} - -#endif -// SYMBIAN_NETWORKING_UMTSR5 - - - -TInt RPdpFsmInterface::Set(TContextId aPdpId, const TTFTInfo& aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Set (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Set(TContextId aPdpId, const TTFTOperationCode& aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Set (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketContext::TDataChannelV2& aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Set (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketContext::TContextConfigGPRS& aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Set (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketContext::TContextStatus& aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Set (aPdpId, aParam); -} - - -#ifdef SYMBIAN_NETWORKING_UMTSR5 -TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketQoS::TQoSR5Requested& aParam) const -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KDescNullPdpFsm, KErrNotReady )); - return iFsmImpl->Get (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketQoS::TQoSR5Negotiated& aParam) const -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KDescNullPdpFsm, KErrNotReady )); - return iFsmImpl->Get (aPdpId, aParam); -} - -#else -// !SYMBIAN_NETWORKING_UMTSR5 - -TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketQoS::TQoSR99_R4Requested& aParam) const -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Get (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketQoS::TQoSR99_R4Negotiated& aParam) const -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Get (aPdpId, aParam); -} - -#endif -// SYMBIAN_NETWORKING_UMTSR5 - - -TInt RPdpFsmInterface::Get(TContextId aPdpId, TTFTInfo& aParam) const -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Get (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Get(TContextId aPdpId, TTFTOperationCode& aParam) const -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Get (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketContext::TDataChannelV2& aParam) const -{ - if (iFsmImpl == NULL) - { - // Since the RPdpFsmInterface implementation hasn't been initialised yet we need to provide - // a response. This is only going to happen as lower nifs are being created and before the - // UmtsGprsSCPR has had a chance to initialise our iFsmImpl pointer, and only if they do a - // ReadDes() for ModemBearer\CSYName, or ModemBearer\PortName. Luckily for us at this - // early stage Etel always response with an empty TDataChannelV2 structure. - aParam.iChannelId = KNullDesC; - aParam.iCsy = KNullDesC; - aParam.iPort = KNullDesC; - return KErrNone; - } - else - { - return iFsmImpl->Get (aPdpId, aParam); - } -} - -TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketContext::TContextConfigGPRS& aParam) const -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->Get (aPdpId, aParam); -} - -TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketContext::TContextStatus& aParam) const -{ - if (iFsmImpl) - { - return iFsmImpl->Get (aPdpId, aParam); - } - - return KErrNotReady; -} - -void RPdpFsmInterface::Set(const RPacketService::TStatus aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - iFsmImpl->Set (aParam); -} - -void RPdpFsmInterface::Get(RPacketService::TStatus& aParam) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - iFsmImpl->Get (aParam); -} - -TInt RPdpFsmInterface::GetLastErrorCause(TContextId aPdpId, TInt& aLastErrorCause) const -{ - if (iFsmImpl) - { - return iFsmImpl->GetLastErrorCause (aPdpId, aLastErrorCause); - } - - return KErrNone; -} - -const TName& RPdpFsmInterface::TsyName(void) -{ - __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); - return iFsmImpl->TsyName (); -} - -void RPdpFsmInterface::SetContextTerminationErrorAndStop(TContextId aPdpId, TInt aErrorCode) -{ - if (iFsmImpl) - { - iFsmImpl->SetContextTerminationErrorAndStop (aPdpId, aErrorCode); - } -} - - -void RPdpFsmInterface::Init (const MPdpFsmInterface* aSpudMan) -{ - // This should only be getting set the once, but so long as its the same instance we'll let it slip - ASSERT (iFsmImpl == NULL || aSpudMan == iFsmImpl); - iFsmImpl = const_cast(aSpudMan); -} - - - - - +// Copyright (c) 2004-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: +// Proxy methods for RPdpFsmInterface class +// +// + +/** + @file + @internalComponent +*/ + + +#include "rpdpfsminterface.h" + + +RPdpFsmInterface::RPdpFsmInterface() + : iFsmImpl(NULL) +{ +} + +RPdpFsmInterface::~RPdpFsmInterface() +{ +} + +void RPdpFsmInterface::OpenL(MSpudManInterface* aSpudManInterface, TName& aName) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrNotReady )); + iFsmImpl->OpenL (aSpudManInterface, aName); +} + +void RPdpFsmInterface::Close() +{ + if (iFsmImpl) + { + // Clear the member first to avoid ping-ponging Close() messages + // between the PdpFsmInterface and SpudManInterface + MPdpFsmInterface* fsmImpl = iFsmImpl; + iFsmImpl = NULL; + fsmImpl->Close (); + } +} + + +TInt RPdpFsmInterface::Input (TContextId aPdpId, const TInt aOperation, const TInt aParam /* =KErrNone */) +{ + if (iFsmImpl) + { + return iFsmImpl->Input (aPdpId, aOperation, aParam); + } + + // let whoever know we can't do what they ask + return KErrNotReady; +} + + +#ifdef SYMBIAN_NETWORKING_UMTSR5 + +void RPdpFsmInterface::SetIMCNSignalling(TBool aImCnSignalling) +/** +Set the status of IM CN Signalling Flag in UmtsGprsScpr + +@param aImCnSignalling IMCN signalling Status +*/ +{ +__ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KDescNullPdpFsm, KErrNotReady )); + iFsmImpl->SetIMCNSignalling(aImCnSignalling); +} + +TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketQoS::TQoSR5Requested& aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KDescNullPdpFsm, KErrNotReady )); + return iFsmImpl->Set (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketQoS::TQoSR5Negotiated& aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KDescNullPdpFsm, KErrNotReady )); + return iFsmImpl->Set (aPdpId, aParam); +} + +#else +// !SYMBIAN_NETWORKING_UMTSR5 + +TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketQoS::TQoSR99_R4Requested& aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Set (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketQoS::TQoSR99_R4Negotiated& aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Set (aPdpId, aParam); +} + +#endif +// SYMBIAN_NETWORKING_UMTSR5 + + + +TInt RPdpFsmInterface::Set(TContextId aPdpId, const TTFTInfo& aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Set (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Set(TContextId aPdpId, const TTFTOperationCode& aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Set (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketContext::TDataChannelV2& aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Set (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketContext::TContextConfigGPRS& aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Set (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Set(TContextId aPdpId, const RPacketContext::TContextStatus& aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Set (aPdpId, aParam); +} + + +#ifdef SYMBIAN_NETWORKING_UMTSR5 +TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketQoS::TQoSR5Requested& aParam) const +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KDescNullPdpFsm, KErrNotReady )); + return iFsmImpl->Get (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketQoS::TQoSR5Negotiated& aParam) const +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KDescNullPdpFsm, KErrNotReady )); + return iFsmImpl->Get (aPdpId, aParam); +} + +#else +// !SYMBIAN_NETWORKING_UMTSR5 + +TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketQoS::TQoSR99_R4Requested& aParam) const +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Get (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketQoS::TQoSR99_R4Negotiated& aParam) const +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Get (aPdpId, aParam); +} + +#endif +// SYMBIAN_NETWORKING_UMTSR5 + + +TInt RPdpFsmInterface::Get(TContextId aPdpId, TTFTInfo& aParam) const +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Get (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Get(TContextId aPdpId, TTFTOperationCode& aParam) const +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Get (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketContext::TDataChannelV2& aParam) const +{ + if (iFsmImpl == NULL) + { + // Since the RPdpFsmInterface implementation hasn't been initialised yet we need to provide + // a response. This is only going to happen as lower nifs are being created and before the + // UmtsGprsSCPR has had a chance to initialise our iFsmImpl pointer, and only if they do a + // ReadDes() for ModemBearer\CSYName, or ModemBearer\PortName. Luckily for us at this + // early stage Etel always response with an empty TDataChannelV2 structure. + aParam.iChannelId = KNullDesC; + aParam.iCsy = KNullDesC; + aParam.iPort = KNullDesC; + return KErrNone; + } + else + { + return iFsmImpl->Get (aPdpId, aParam); + } +} + +TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketContext::TContextConfigGPRS& aParam) const +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->Get (aPdpId, aParam); +} + +TInt RPdpFsmInterface::Get(TContextId aPdpId, RPacketContext::TContextStatus& aParam) const +{ + if (iFsmImpl) + { + return iFsmImpl->Get (aPdpId, aParam); + } + + return KErrNotReady; +} + +void RPdpFsmInterface::Set(const RPacketService::TStatus aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + iFsmImpl->Set (aParam); +} + +void RPdpFsmInterface::Get(RPacketService::TStatus& aParam) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + iFsmImpl->Get (aParam); +} + +TInt RPdpFsmInterface::GetLastErrorCause(TContextId aPdpId, TInt& aLastErrorCause) const +{ + if (iFsmImpl) + { + return iFsmImpl->GetLastErrorCause (aPdpId, aLastErrorCause); + } + + return KErrNone; +} + +const TName& RPdpFsmInterface::TsyName(void) +{ + __ASSERT_DEBUG (iFsmImpl != NULL, User::Panic( KNullDesC, KErrGeneral )); + return iFsmImpl->TsyName (); +} + +void RPdpFsmInterface::SetContextTerminationErrorAndStop(TContextId aPdpId, TInt aErrorCode) +{ + if (iFsmImpl) + { + iFsmImpl->SetContextTerminationErrorAndStop (aPdpId, aErrorCode); + } +} + + +void RPdpFsmInterface::Init (const MPdpFsmInterface* aSpudMan) +{ + // This should only be getting set the once, but so long as its the same instance we'll let it slip + ASSERT (iFsmImpl == NULL || aSpudMan == iFsmImpl); + iFsmImpl = const_cast(aSpudMan); +} + + + + +