btgpsreceiver.cpp

来自「symbian s60上的GPS」· C++ 代码 · 共 54 行

CPP
54
字号

#include <E32Math.h>

#include "E32BtClientEngine.h"
#include "BtGpsReceiver.h"

CBtGpsReceiver * CBtGpsReceiver::NewL( void ) 
{
	CBtGpsReceiver * self = new ( ELeave ) CBtGpsReceiver();

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

	return( self );
}

CBtGpsReceiver::CBtGpsReceiver( void )
{
}

CBtGpsReceiver::~CBtGpsReceiver( void )
{
	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( )
{
	iBtClient = CE32BtClientEngine::NewL( );
	iBtClient->SetListener( this );
}

⌨️ 快捷键说明

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