⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 btgpsreceiver.cpp

📁 SYMBIAN GPS NMEA协议实现
💻 CPP
字号:
/************************************************************************/
/* Bluteooth Test           The.Berlin.Factor                 Juni 2003 */
/************************************************************************/

#include <E32Math.h>

#include "gps/bt/BtClientEngine.h"
#include "gps/bt/E32BtClientEngine.h"
#include "gps/bt/FakeBtClientEngine.h"

#include "util/Log.h"

#include "gps/impl/BtGpsReceiver.h"



CBtGpsReceiver * CBtGpsReceiver::NewL( ) {

	CBtGpsReceiver * self = new ( ELeave ) CBtGpsReceiver( );

	CleanupStack::PushL( self );
	self->ConstructL();
	CleanupStack::Pop( );

	return( self );

}



CBtGpsReceiver::CBtGpsReceiver( ) {

}



CBtGpsReceiver::~CBtGpsReceiver( ) {

	delete( iBtClient ); iBtClient = NULL;

}



void CBtGpsReceiver::DataUpdate( const TDes8 & aDataBuffer ) {

	TBool inMessage = ( iMessageBuffer.Length( ) > 0 ) ? ETrue : EFalse;

	for ( TInt idx = 0; idx < aDataBuffer.Length( ); idx++ ) {

		TUint8 next = aDataBuffer[ idx ];
		if ( inMessage == EFalse && ( next == '$' ) )
			inMessage = ETrue;

		if ( inMessage )
			iMessageBuffer.Append( aDataBuffer[ idx ] );

		if ( inMessage && ( next == 13 ) ) {

			inMessage = EFalse;
			ProcessMessageL( iMessageBuffer );
			iMessageBuffer.SetLength( 0 );
		}

	}

}



void CBtGpsReceiver::ConstructL( ) {

#ifdef __WINS__
	iBtClient = CFakeBtClientEngine::NewL( );
#else
	iBtClient = CE32BtClientEngine::NewL( );
#endif

	iBtClient->SetListener( this );

}

⌨️ 快捷键说明

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