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

📄 devicediscoverer.h

📁 symbian系统下
💻 H
字号:
/*
* ============================================================================
*  Name     : CDeviceDiscoverer from DeviceDiscoverer.h
*  Part of  : BluetoothPMPExample
*  Created  : 06.06.2006 by Forum Nokia
*  Description:
*     Declares device discoverer for application
*  Version  :
*  Copyright: Nokia Corporation
* ============================================================================
*/

#ifndef DEVICEDISCOVERER_H
#define DEVICEDISCOVERER_H

// INCLUDES
#include <e32base.h>
#include <aknviewappui.h> 

#include <coecntrl.h>
#include <es_sock.h>
#include <btdevice.h>
#include <bt_sock.h>
#include <btsdp.h>

#include "Common.h"


class MDeviceDiscoObserver
{

public:
/*!
 * HandleDeviceDiscoveryCompleteL()
 *
 * discussion Observer interface for handling device discovery complete event.
 */	
	virtual void HandleDeviceDiscoveryCompleteL()=0;
	
/*!
 * DeviceDiscoveredL()
 * 
 * discussion nofify observer that a new device was found.
 */	
	virtual void DeviceDiscoveredL(const TDeviceData& aDevice)=0;
};


class CDeviceDiscoverer : public CActive
{
public:
     
/*!
 * NewL()
 * 
 * discussion Create new CDeviceDiscoverer object
 * return a pointer to the created instance of CDeviceDiscoverer
 */
	static CDeviceDiscoverer* NewL(RSocketServ& aSocketServ,
		MDeviceDiscoObserver& aObserver);
		
/*!
 * NewLC()
 * 
 */
	static CDeviceDiscoverer* NewLC(RSocketServ& aSocketServ,
		MDeviceDiscoObserver& aObserver);

/*!
 * ~CDeviceDiscoverer()
 *
 * discussion Destroy the object and release all memory objects
 */
	~CDeviceDiscoverer();

/*!
 * DiscoverDevicesL()
 *
 * discussion Discovers remote bluetooth devices within range.
 *
 * param aDevDataList device data list where the found devices will be placed.
 */
	void DiscoverDevicesL(TDeviceDataList* aDevDataList);

/*!
 * HasDevices()
 *
 * discussion any devices discovered?
 *
 * return true if any devices were discovered.
 */
	TBool HasDevices();

/*!
 * HandleDeviceDiscoveryCompleteL()
 *
 * discussion Handles the device discovery completed event.  the handling 
 * request will be passed onto handling observer.
 */
	void HandleDeviceDiscoveryCompleteL();

protected:

/*!
 * RunL()
 *
 * discussion Handle the active objects request completion.
 */
	void RunL();

/*!
 * DoCancel()
 *
 * discussion Cancels the outstanding request on active object.
 */
	void DoCancel();


private:

/*!
 * CDeviceDiscoverer()
 *
 * discussion Perform the first phase of two phase construction 
 *
 * param aSocketServ reference to socket server
 */
	CDeviceDiscoverer(RSocketServ& aSocketServ,
		MDeviceDiscoObserver& aObserver);

/*!
 * ConstructL()
 *
 */
	void ConstructL();

private: //data

	// socket server handle
    RSocketServ& iSocketServ;
	// number of devices discovered
	TInt iDiscoveredDeviceCount;

	// observer reference
	MDeviceDiscoObserver& iObserver;
	// device data list, to be filled by resolver results
	TDeviceDataList *iDevDataList;
	// host resolver
	RHostResolver iResolver;
	TInquirySockAddr iAddr;
	TNameEntry iEntry;

};

#endif

⌨️ 快捷键说明

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