diff -r 000000000000 -r 29b1cd4cb562 bluetoothapitest/bluetoothsvs/t_btgavdpapi/inc/t_data_rgavdp.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetoothapitest/bluetoothsvs/t_btgavdpapi/inc/t_data_rgavdp.h Fri Jan 15 08:13:17 2010 +0200 @@ -0,0 +1,217 @@ +/* +* Copyright (c) 2005-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: +* +*/ + + +#if (!defined __T_DATA_RAVDP_H__ ) +#define __T_DATA_RAVDP__H__ + +// EPOC Includes +#include +#include +#include + +// User includes +#include "DataWrapperBase.h" + + +/** + * Test Active Notification class + * + */ +class CT_DataRGavdp : public CDataWrapperBase, + public MGavdpUser + { +public: + /** + * Two phase constructor + */ + static CT_DataRGavdp* NewL(); + + /** + * Public destructor + */ + ~CT_DataRGavdp(); + + /** + * Process a command read from the ini file + * + * @param aDataWrapper test step requiring command to be processed + * @param aCommand the command to process + * @param aSection the entry in the ini file requiring the command to be processed + * + * @return ETrue if the command is processed + */ + virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + + /** + * Return a pointer to the object that the data wraps + * + * @return pointer to the object that the data wraps + */ + virtual TAny* GetObject() { return iRGavdp; } + + /** + * Set the object that the data wraps + * + * @param aObject object that the wrapper is testing + * + */ + virtual void SetObjectL(TAny* aAny); + + /** + * The object will no longer be owned by this + * + * @leave KErrNotSupported if the the function is not supported + */ + virtual void DisownObjectL(); + + inline virtual TCleanupOperation CleanupOperation(); + + // MGavdpUser implemention + virtual void GAVDP_ConnectConfirm(const TBTDevAddr& aDeviceAddr); + virtual void GAVDP_SEPDiscovered(const TAvdtpSEPInfo& aSEP); + virtual void GAVDP_SEPDiscoveryComplete(); + virtual void GAVDP_SEPCapability(TAvdtpServiceCapability* aCapability); + virtual void GAVDP_SEPCapabilityComplete(); + virtual void GAVDP_AbortStreamConfirm(); + virtual void GAVDP_StartStreamsConfirm(); + virtual void GAVDP_SuspendStreamsConfirm(); + virtual void GAVDP_SecurityControlConfirm(const TDesC8& aResponseData); + virtual void GAVDP_ConfigurationConfirm(); + virtual void GAVDP_ConfigurationStartIndication(TSEID aLocalSEID, TSEID aRemoteSEID); + virtual TInt GAVDP_ConfigurationIndication(TAvdtpServiceCapability* aCapability); + virtual TInt GAVDP_ConfigurationEndIndication(); + virtual TInt GAVDP_StartIndication(TSEID aSEID); + virtual TInt GAVDP_SuspendIndication(TSEID aSEID); + virtual TInt GAVDP_SecurityControlIndication(TSEID aSEID, TDes8& aSecurityDataInOut); + virtual void GAVDP_AbortIndication(TSEID aSEID); + virtual void GAVDP_ReleaseIndication(TSEID aSEID); + virtual void GAVDP_BearerReady(RSocket aSocket, const TAvdtpSockAddr& aAddress); + virtual void GAVDP_Error(TInt aError, const TDesC8& aErrorData); + +protected: + /** + * Protected constructor. First phase construction + */ + CT_DataRGavdp(); + + /** + * Second phase construction + */ + void ConstructL(); + + void RunL(CActive* aActive, TInt aIndex); + +private: + + static void CleanupOperation(TAny* aAny); + + enum + { + EGAVDP_NoneEvent, + EGAVDP_ConnectConfirm, + EGAVDP_SEPDiscovered, + EGAVDP_SEPDiscoveryComplete, + EGAVDP_SEPCapability, + EGAVDP_SEPCapabilityComplete, + EGAVDP_AbortStreamConfirm, + EGAVDP_StartStreamsConfirm, + EGAVDP_SuspendStreamsConfirm, + EGAVDP_SecurityControlConfirm, + EGAVDP_ConfigurationConfirm, + EGAVDP_ConfigurationStartIndication, + EGAVDP_ConfigurationIndication, + EGAVDP_ConfigurationEndIndication, + EGAVDP_StartIndication, + EGAVDP_SuspendIndication, + EGAVDP_SecurityControlIndication, + EGAVDP_AbortIndication, + EGAVDP_ReleaseIndication, + EGAVDP_BearerReady, + EGAVDP_Error, + }; + TBool ReadExpectedEventsFromConfig(const TTEFSectionName& aSection); + TBool ConvertEvents(TDesC &aEventStr, RArray& aEvent); + void SetEventOutstanding(); + void CheckEvent(TUint aEvent); + void CheckLocalSEID(TSEID aSEID); + + /** + * Helper methods + */ + + void DestroyData(); + void DoCmdConstructor(); + void DoCmdOpen(const TTEFSectionName& aSection); + void DoCmdListen(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdClose(); + void DoCmdCancel(); + void DoCmdConnect(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdDiscoverRemoteSEPs(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdGetRemoteSEPCapabilities(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdRegisterSEP(const TTEFSectionName& aSection); + void DoCmdBeginConfiguringRemoteSEP(const TTEFSectionName& aSection); + void DoCmdBeginConfiguringLocalSEP(const TTEFSectionName& aSection); + void DoCmdAddSEPCapability(const TTEFSectionName& aSection); + void DoCmdCommitSEPConfiguration(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdStartStream(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdSuspendStream(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdAbortStream(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdSendSecurityControl(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdCreateBearerSockets(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + void DoCmdMaxSecurityControlLength(const TTEFSectionName& aSection); + void DoCmdShutdown(); + void DoCmdDestructor(); + + void Read(const TDesC& aSection, const TInt aAsyncErrorIndex); + void Send(const TDesC& aSection, const TInt aAsyncErrorIndex); + void CloseBearerSockets(); + void IncreaseOutstanding(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); + + TBool ConvertSEIDs(TDesC &aSEIDsStr, RArray& aSEIDs); + TBool isExistSEID(TUint aSEID); + +private: + RGavdp* iRGavdp; + TBTDevAddr* iRemoteAddr; + RArray iExpectedEvent; + TInt iExpectedEventCount; + TInt iEventCount; + RArray iExistRemoteSEIDs; + TInt iExpectedSEPsCount; + TInt iDiscoverdSEPsCount; + RPointerArray iRemoteSEPs; + TAvdtpServiceCategory iSrvCategory; + RPointerArray iRemoteCapabilities; + TFixedArray iSockets; + HBufC8* iReadBuffer; + TPtr8 iReadBufferDes; + HBufC8* iReadExpectBuffer; + HBufC8* iSendBuffer; + HBufC8* iExpectedResponseSecurityData; + TSEID iLocalSEID; + TSEID iRemoteSEID; + + CActiveCallback* iActive; + TInt iCmdIndex; + + TInt iConfigReturnCode; + TInt iConfigEndReturnCode; + + }; + +#endif /* __T_DATA_RGAVDP_H__*/