diff -r 000000000000 -r c40eb8fe8501 wlan_bearer/wlannwif/inc/CLanxBearer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlan_bearer/wlannwif/inc/CLanxBearer.h Tue Feb 02 02:03:13 2010 +0200 @@ -0,0 +1,83 @@ +/* +* Copyright (c) 2002-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 LanxBearer class +* +*/ + +/* +* %version: 7 % +*/ + +#ifndef CLANXBEARER_H +#define CLANXBEARER_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class CLANLinkCommon; +class TLanProvision; + +NONSHARABLE_CLASS(CLanxBearer) : public CBase, public ESock::MLowerDataSender, public ESock::MLowerControl +{ +public: + CLanxBearer(CLANLinkCommon* aLink); + virtual void ConstructL(); + + // from MLowerControl + virtual TInt GetName(TDes& aName); + virtual TInt BlockFlow(TBlockOption aOption); + virtual TInt GetConfig(TBinderConfig& aConfig) = 0; + // + + virtual void StartSending(CProtocolBase* aProtocol); + + //Additional methods. + virtual TBool WantsProtocol(TUint16 aProtocolCode, const TUint8* aPayload ) = 0; + virtual void Process( RMBufChain& aPdu ) = 0; + + virtual void UpdateMACAddr(); + CLANLinkCommon* Link() const; + + // Support for CFProtocol based binding sequence + virtual const TDesC8& ProtocolName() const = 0; + void SetUpperPointers(ESock::MUpperDataReceiver* aReceiver, ESock::MUpperControl* aControl); + TBool MatchesUpperControl(const ESock::MUpperControl* aControl) const; + + // Support for provisioning + virtual void SetProvisionL(const Meta::SMetaData* aProvision) = 0; + +protected: // Data + ESock::MUpperControl* iUpperControl; + ESock::MUpperDataReceiver* iUpperReceiver; + CLANLinkCommon* iLink; + TInterfaceName iIfName; + + // cache connection info to avoid dbms access after resume sending scenario + TSoIfConnectionInfo iSoIfConnectionInfo; + TBool iSoIfConnectionInfoCached; +}; + +inline CLANLinkCommon* CLanxBearer::Link() const +{ + return iLink; +} + +#endif // CLANXBEARER_H