diff -r 0ba996a9b75d -r 613943a21004 bluetoothengine/btnotif/inc/btnotifier.h --- a/bluetoothengine/btnotif/inc/btnotifier.h Thu Aug 19 10:05:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,307 +0,0 @@ -/* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Declares Bluetooth notifiers base class. -* -*/ - - -#ifndef BTNOTIFIERBASE_H -#define BTNOTIFIERBASE_H - -// INCLUDES - -#include "btnotif.h" -#include "btnotifuiutil.h" -#include -#include -#include - -// CONSTANTS - -// Literals for resource and bitmap files ( drive, directory, filename(s) ) - -const TUid KBTInquiryChannel = {0x00000601}; // Channel for inquiry notifier -const TUid KBTAuthorisationChannel = {0x00000602}; // Channel for PIN query notifier -const TUid KBTAuthenticationChannel = {0x00000603}; // Channel for authorisation notifier -const TUid KBTBBEventChannel = {0x00000604}; // Channel for baseband event notifier -const TUid KBTObexPINChannel = {0x00000605}; // Channel for OBEX PIN notifier -const TUid KBTPowerModeChannel = {0x00000606}; // Channel for power mode notifier -const TUid KBTAudioAccessoryChannel = {0x00000607}; // Channel for audio accessory notifier -const TUid KBTLowMemoryChannel = {0x00000608}; // Channel for low memory notifier -const TUid KBTPairedDeviceSettingChannel = {0x00000610}; - -// FORWARD DECLARATIONS -class CBTEngSettings; - -enum TBTRegistryQueryState -{ - ENoQuery=0, - EQueryPaired=1, - EQueryUsed=2, - ESetDeviceAuthorizeState, - ESetDeviceBlocked, - ESetDeviceUnblocked, -}; - -// CLASS DECLARATION -/** -* This class is the base class for all notifiers. -*/ -NONSHARABLE_CLASS(CBTNotifierBase): public CBase, public MEikSrvNotifierBase2, MBTEngDevManObserver - { - public: // Constructors and destructor - - /** - * Destructor. - */ - virtual ~CBTNotifierBase(); - - /** - * A utility function for checking whether autolock is on. - * @param None. - * @return A boolean according to autolock state. - */ - TBool AutoLockOnL(); - - protected: // Constructors and destructor - - /** - * C++ default constructor. - */ - CBTNotifierBase(); - - protected: // New functions - - /** - * Symbian 2nd phase constructor. - */ - virtual void ConstructL(); - - /** - * Used in asynchronous notifier launch to store received parameters - * into members variables and make needed initializations. - * @param aBuffer A buffer containing received parameters - * @param aReturnVal The return value to be passed back. - * @param aMessage Should be completed when the notifier is deactivated. - * @return None. - */ - virtual void GetParamsL(const TDesC8& aBuffer, - TInt aReplySlot, - const RMessagePtr2& aMessage)=0; - - /** - * A utility function for setting the power status of Bluetooth. - * If the power is not on the user will be presented a query. - * @return ETrue if BT is turned on successfully; EFalse otherwise - */ - TBool CheckAndSetPowerOnL(); - - /** - * A function for setting BT name - * @return ETrue if BT name is set successfully; EFalse otherwise - */ - TBool AskLocalBTNameQueryL(); - - /** - * Check if there is any existing connection to audio profiles from - * the same device - * @return ETrue if the device is connected. - */ - TBool IsExistingConnectionToAudioL(const TBTDevAddr& aDevAddr); - - /** - * Complete Client/Server message and Nulled the reply slot. - * @param aErr Error code for client notification. - * @return None - */ - void CompleteMessage(TInt aErr); - - /** - * Complete Client/Server message and Nulled the reply slot. - * @param aErr Error code for client notification. - * @return None - */ - void CompleteMessage(TInt aValueToReplySlot, TInt aErr); - - /** - * Complete Client/Server message and Nulled the reply slot. - * @param aErr Error code for client notification. - * @return None - */ - void CompleteMessage(const TDesC8& aDesToReplySlot, TInt aErr); - - /** - * Checks from central repository whether the Bluetooth friendly name - * has been modified . - * @return ETure if the name has been modified. - */ - TBool IsLocalNameModifiedL(); - - /** - * Get the device information from BT Registry by the given address. - */ - void GetDeviceFromRegL(const TBTDevAddr& aAddr); - - /** - * virtual function to be ovewritten by sub-classes. - * Will be called when Getting Device by BTEng DevMan is completed. - * @param aDev the device from registry if it is not null. indicates either a failure - * or the device is not available in registry. - */ - virtual void HandleGetDeviceCompletedL(const CBTDevice* aDev); - - /** - * Asks the user if s/he want's to block the device in question - * Does not block the device. That is left to the caller. - * NOTE: Cannot be called while iAuthQueryDlg is active. - */ - void QueryBlockDeviceL(); - - /** - * Set BTDevice's security setting to blocked and modify device - * @param None - * @return None - */ - void DoBlockDevice(); - - /** - * Set BTDevice's security setting to un/authorized and modify device - * @param aTrust Set authorized if ETrue; otherwise, unauthorized. - * @return None - */ - void ChangeAuthorizeState( TBool aTrust); - - /** - * Checks if the user is queried too often, and handle the result. - * @return None - */ - void CheckAndHandleQueryIntervalL(); - - private: - - void DoHandleGetDevicesCompleteL(TInt aErr, CBTDeviceArray* aDeviceArray ); - - protected: // Functions from base classes - - /** - * From MEikSrvNotifierBase2 Called when a notifier is first loaded - * to allow any initial construction that is required. - * @param None. - * @return A structure containing priority and channel info. - */ - virtual TNotifierInfo RegisterL()=0; - - /** - * From MEikSrvNotifierBase2 The notifier has been deactivated - * so resources can be freed and outstanding messages completed. - * @param None. - * @return None. - */ - virtual void Cancel(); - -#ifdef __SERIES60_HELP - /** This is used to create TCallBack to help. - * @param TCoeHelpContext. Must be instance TCoeHelpContext, or NULL. - * If null this will open help about blocked devices., - * @return KErrNone - */ - static TInt LaunchHelp(TAny *TCoeHelpContext=NULL); -#endif - - private: // Functions from base classes - - /** - * From MEikSrvNotifierBase2 Called when all resources allocated - * by notifiers should be freed. - * @param None. - * @return None. - */ - virtual void Release(); - - /** - * From MEikSrvNotifierBase2 Return the priority a notifier takes - * and the channels it acts on. - * @param None. - * @return A structure containing priority and channel info. - */ - virtual TNotifierInfo Info() const; - - /** - * From MEikSrvNotifierBase2 Synchronic notifier launch. - * @param aBuffer Received parameter data. - * @return A pointer to return value. - */ - virtual TPtrC8 StartL(const TDesC8& aBuffer); - - /** - * From MEikSrvNotifierBase2 Asynchronic notifier launch. - * @param aBuffer A buffer containing received parameters - * @param aReturnVal The return value to be passed back. - * @param aMessage Should be completed when the notifier is deactivated. - * @return A pointer to return value. - */ - virtual void StartL(const TDesC8& aBuffer, TInt aReplySlot, const RMessagePtr2& aMessage); - - /** - * From MEikSrvNotifierBase2 Updates a currently active notifier. - * @param aBuffer The updated data. - * @return A pointer to return value. - */ - virtual TPtrC8 UpdateL(const TDesC8& aBuffer); - - /** - * From MBTEngDevManObserver - * Indicates to the caller that adding, deleting or modifying a device - * has completed. - */ - virtual void HandleDevManComplete(TInt aErr); - - /** - * From MBTEngDevManObserver - * Call back function when GetDevices() request is completed. - * @param aErr Status information, if there is an error. - * @param aDeviceArray Array of devices that match the given criteria - * (the array provided by the calller). - */ - void HandleGetDevicesComplete( TInt aErr, CBTDeviceArray* aDeviceArray ); - - /** - * Checks the timestamp since last query. - * @return true if too often - */ - TBool CheckQueryInterval(); - - protected: // Data - - RMessagePtr2 iMessage; // Received message - TInt iReplySlot; // Reply slot - TNotifierInfo iInfo; // Notifier parameters structure - TBTRegistryQueryState iBTRegistryQueryState; - CBTDeviceArray* iDeviceArray; // for getting device from registry - CBTDevice* iDevice; // Current Bluetooth device - TBTDevAddr iBTAddr; // Gotten from PckBuffer, constant no matter how iDevice changes. - CBTNotifUIUtil* iNotifUiUtil; // Utility to show UI notes & queries - CBTEngSettings* iBTEngSettings; - TBool iIsCoverUI; - - private: - CBTEngDevMan* iDevMan; // for BT registry manipulation - - - - }; - -#endif - -// End of File