e32btclientengine.h

来自「symbian s60上的GPS」· C头文件 代码 · 共 80 行

H
80
字号

#ifndef __CE32BtClientEngine_H__
#define __CE32BtClientEngine_H__

#include <Bt_Sock.h>
#include <BtExtNotifiers.h>
#include <BtSdp.h>
#include <E32Base.h>
#include <E32Std.h>
#include <ES_Sock.h>
#include <F32File.h>

class CSdpAgent;
class MBtDataListener;

#define KDataBufferSize 1024 //接收NMEA数据最大的尺寸

class CE32BtClientEngine :	public CActive,
							public MSdpAgentNotifier, 
							public MSdpAttributeValueVisitor 
{

public:
	static CE32BtClientEngine * NewL( void );
	virtual ~CE32BtClientEngine( void );

public:	
	// From CActive
	void RunL( void );
	void DoCancel( void );

public:
	// From MBtClientEngine
	void SetListener( MBtDataListener * aListener ) { iListener = aListener; };

public:
	// From MSdpAttributeValueVisitor
	void VisitAttributeValueL( CSdpAttrValue & aValue, TSdpElementType aType );
	void StartListL( CSdpAttrValueList & aList );
	void EndListL( void );

public:	
	// From MSdpAttributeValueVisitor
	void NextRecordRequestComplete( TInt aError,TSdpServRecordHandle aHandle, TInt aTotalRecordsCount );
	void AttributeRequestResult( TSdpServRecordHandle aHandle,TSdpAttributeID aAttrID, CSdpAttrValue * aAttrValue );
	void AttributeRequestComplete( TSdpServRecordHandle aHandle,TInt aError );

protected:
	CE32BtClientEngine( void );
	void ConstructL( void );

protected:
	void DiscoverRemoteL( void );
	void DiscoveredRemoteL( void );
	void QueryRemoteL( void );
	void QueriedRemote( void );
	void ConnectRemoteL( void );
	void ReadDataL( void );
	void NotifyListener( void );
	void CloseRemoteL( void );

private:
	RFs iFs;
	RNotifier						iNotifier;
	TBTDeviceResponseParamsPckg		iDiscoveryResponse;
	TBTSockAddr						iRemoteAddr;
	RSocketServ						iSocketServ;
	RSocket							iSocket;
	RTimer							iTimer;
	CSdpAgent*						iSdpAgent;
	TInt							iStateMachine;
	TInt							iRemoteChannel;
	TUUID							iPreviousUUID;
	TBuf8< KDataBufferSize >		iDataBuffer;
	TSockXfrLength					iDataLength;
	MBtDataListener*				iListener;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?