diff -r ab72d5c1d770 -r b34bb05ac869 telephonyprotocols/rawipnif/version1/inc/BcaIoController.h --- a/telephonyprotocols/rawipnif/version1/inc/BcaIoController.h Thu Jul 29 12:12:57 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,239 +0,0 @@ -// 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: -// Defines the interface to the BCA interface -// -// - -/** - @file -*/ - -#ifndef BCAIOCONTROLLER_H -#define BCAIOCONTROLLER_H - -#include -#include -#include -#include - -#include "BcaController.h" -using namespace BasebandChannelAdaptation; - -class CBttLogger; -class CSender; -class CReceiver; -class CBcaControl; - -/** - -@internalComponent -*/ -void Panic(TRawIPNifPanic aPanic); - -/** - -@internalComponent -*/ -typedef MBcaFactory* (*TNewBcaFactoryL)(); - - -/** -@internalComponent -*/ -class CBcaIoController : public CBcaController - { -public: - CBcaIoController(MControllerObserver& aObserver, CBttLogger* aTheLogger); - static CBcaIoController* NewL(MControllerObserver& aObserver, CBttLogger* aTheLogger); - void ConstructL(); - ~CBcaIoController(); - -public: - void StartL(); - void Stop(TInt aError = KErrNone); - -public: // Process Down/Up stack data packets - void BcaProcess(TDesC8& aPdu); - void BcaSend(RMBufChain& aPdu); - void BcaSendComplete(); - -public: - inline CSender& Sender(); - inline CReceiver& Receiver(); - inline TUint Nsapi(); - void SetBcaStackAndName(TDesC& aBcaStack); - inline const TName& BcaStack()const; - inline const TName& BcaName()const; - inline MBca* Bca(); - inline void SetBca(MBca* aBca); - inline void SetPort(TDesC& aPortName); - inline const TName& Port()const; - inline void SetIapId(TUint32 aIapId); - inline TUint32 IapId(); - TInt BcaSendBufferLength(); - -private: - void InitialiseBcaL(); - -private: // Flow Control - void ResumeSending(); - -private: // Unowned data. - /** Pointer to the BCA */ - MBca* iMBca; - - /** used to send data*/ - CSender* iSender; - /** used to receive data*/ - CReceiver* iReceiver; - /** used to load, open and close the BCA*/ - CBcaControl* iLoader; - /** IAP ID used to open CommDB*/ - TUint32 iIapId; - /** Bca name*/ - TName iBcaName; - /** Bca Stack*/ - TName iBcaStack; - /** CommPort Name*/ - TName iCommPort; - }; - -inline CSender& CBcaIoController::Sender() -/** - * Returns reference to CSender object - * - * @return iSender The CSender reference - */ - { - return *iSender; - } - -inline CReceiver& CBcaIoController::Receiver() -/** - * Returns reference to CReceiver object - * - * @return iReceiver The CReceiver reference - */ - { - return *iReceiver; - } - -/** returns the BCA Stack*/ -inline const TName& CBcaIoController::BcaStack()const - { - return iBcaStack; - } - -/** returns the BCA name*/ -inline const TName& CBcaIoController::BcaName()const - { - return iBcaName; - } - -/** retrurns the BCA pointer.*/ -inline MBca* CBcaIoController::Bca() - { - return iMBca; - } -/** sets the BCA pointer. - -* @param aBca BCA pointer. -*/ -inline void CBcaIoController::SetBca(MBca* aBca) - { - iMBca = aBca; - } - -/** sets the IAP ID - -* @param aIapId IAP ID to be set. -*/ -inline void CBcaIoController::SetIapId(TUint32 aIapId) - { - iIapId = aIapId; - } - -/** returns the IAP ID*/ -inline TUint32 CBcaIoController::IapId() - { - return iIapId; - } - -/** sets the port name - -* @param aPortName port name to be set. -*/ -inline void CBcaIoController::SetPort(TDesC& aPortName) - { - iCommPort = aPortName; - } - -/** returns the port name*/ -inline const TName& CBcaIoController::Port()const - { - return iCommPort; - } - -/** class used to load, open and shutdown the BCA and also start and shutdown the NIF. -@internalComponent -*/ -class CBcaControl : public CActive - { -public: - CBcaControl(CBcaIoController& aObserver, CBttLogger* aTheLogger); - ~CBcaControl(); -public: - void StartLoadL(); - void ShutdownBca(TInt aError); - inline MBca* Bca(); -protected: - // Inherited from CActive. - virtual void RunL(); - virtual void DoCancel(); -private: // Unowned data. - CBcaIoController& iObserver; - CBttLogger* iTheLogger; -private: - enum TBcaState - { - /** Bca ready to start */ - EIdling, - /** Bca to be closed*/ - EClosing, - /** Bca IAP is set*/ - EIAPSet, - /** Bca stack is set*/ - EBcaStackSet - }; - -private: - - /** BCA owned by NIF*/ - MBca* iMBca; - /** used to load library*/ - TAutoClose iBcaDll; - /** BCA state*/ - TBcaState iState; - /** NIF shut down error*/ - TInt iError; - }; - -/** returns the BCA pointer. */ -inline MBca* CBcaControl::Bca() - { - return iMBca; - } - -#endif // BCAIOCONTROLLER_H -