www.pudn.com > Bluetooth_PMP_Example_v1_0.zip > DeviceDiscoverer.h
/* * ============================================================================ * Name : CDeviceDiscoverer from DeviceDiscoverer.h * Part of : BluetoothPMPExample * Created : 14.01.2004 by Forum Nokia * Description: * Declares device discoverer for application * Version : * Copyright: Nokia Corporation * ============================================================================ */ #ifndef DEVICEDISCOVERER_H #define DEVICEDISCOVERER_H // INCLUDES #include#include #include #include #include #include #include #include "Common.h" class MDeviceDiscoObserver { public: /*! * HandleDeviceDiscoveryCompleteL() * * discussion Observer interface for handling device discovery complete event. */ virtual void HandleDeviceDiscoveryCompleteL()=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(); public: // data // socket server handle RSocketServ *iSocketServ; // number of devices discovered TInt iDiscoveredDeviceCount; private: // observer reference MDeviceDiscoObserver *iObserver; // device data list, to be filled by resolver results TDeviceDataList *iDevDataList; // host resolver RHostResolver iResolver; TInquirySockAddr iAddr; TNameEntry iEntry; }; #endif