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

📄 bluetoothserviceadvertiser.h

📁 基于symbian UIQ 的一款古老的飞机游戏。对入门学习很有帮助。
💻 H
字号:
/*============================================================================ Name			: BlueToothServiceAdvertiser.h Author	  		:  Copyright   	:  Description 	: CBluetoothServiceAdvertiser has been implemented as a state machine that incapsulates 				  the BT stack part responsible for advertising the BT service using the SDP server				  The CBluetoothServiceAdvertiser's state machine includes the following operations:				  1) Connecting to the SDP server and opening a SDP's RSdpDatabase subsession				  2) Building the RPS's service record.				  3) Notifying the observer when the service advertising is completed.				  Note that if at any stage we receive an error then the state machine is reset to the EIdle				  state and all resources previously allocated are closed.============================================================================*/#ifndef __BLUETOOTHSERVICEADVERTISER_H__#define __BLUETOOTHSERVICEADVERTISER_H__// INCLUDES#include <bt_sock.h>#include <btmanclient.h>#include <btsdp.h>#include "bluetoothresponder.h"#include "commoninterfaces.h"// CLASS DECLARATION/*** CBluetoothSockConnector* Advertise the BT service using the SDP server*/class CBluetoothServiceAdvertiser : public CActive    {public:	/**	* TAdvertiserState	* State Machine	*/	enum TAdvertiserState		{	    EIdle,					//State machine entry point	    EConnecting,			//Connecting to the SDP server	    EBuildingServiceRecord,	//Creating an SDP record	    };public:	/**	* Constructor	* @aParam aSerAdvObs Interface to notify the status of the service advertising	*/    CBluetoothServiceAdvertiser(MBluetoothServiceAdvertiserObserver& aSerAdvObs);    	/**	* Destructor	*/    ~CBluetoothServiceAdvertiser();    	/**	* Kicks off the state machine	* @aparam aPort RFCOMM's port	*/	void StartL(const TInt aPort);	private:	// from CSocketConnector	/**	* Handles CBluetoothServiceAdvertiser's state machine completion events	*/	virtual void RunL();		/**	* Not used	*/	virtual void DoCancel();		/**	* Handles a leave occurring in the request completion event handler RunL()	* @param aError	 The leave code	* @return TInt	 The default implementation returns aError.A derived class implementation should return KErrNone,	*				 if it handles the leave; otherwise it should return any suitable value to cause the handling	*				 of the error to be propagated back to the active scheduler.	*/	TInt RunError(TInt aError);		/**	* Call User::RequestComplete on this active object	*/	void SelfComplete();		/**	* Connects to the SDP server	*/	void ConnectToSdpL();		/**	* Creates an SDP record in the SDP's database	*/	void BuildServiceRecordL();		/**	* Deletes an SDP's record from the SDP's database	*/	void UnregisterService();private:	/**	* Interfaces to notify the status of the service advertising	*/	MBluetoothServiceAdvertiserObserver& iSerAdvObs;		/**	* RFCOMM's port	*/	TInt iPort;		/**	* State Machine	*/	TAdvertiserState iState;		/**	* SDP session	*/	RSdp iSdpServ;		/**	* SDP database handle	*/	RSdpDatabase iSdpDatabase;		/**	* Subsession to the SDP through which service records and their attributes can be added, deleted, and updated	*/	TSdpServRecordHandle iRecordHandle;    };#endif //__BLUETOOTHSOCKCONNECTOR_H__

⌨️ 快捷键说明

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