diff -r 0ba996a9b75d -r 613943a21004 bluetoothengine/bteng/inc/btengpairbase.h --- a/bluetoothengine/bteng/inc/btengpairbase.h Thu Aug 19 10:05:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,200 +0,0 @@ -/* -* Copyright (c) 2008 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: the base class of pairing handling -* -*/ - - -#ifndef BTENGPAIRBASE_H_ -#define BTENGPAIRBASE_H_ - -#include -#include -#include -#include "btengactive.h" - -class CBTEngPairMan; - -/** Identification for asynchronous operations */ -enum TPairBaseActiveRequestId - { - EDevicePairUserNotification = 1 - }; - -/** - * Class CBTEngPairBase - * - * The base class for pairing handling. - * When the pairing has completed (successfully or unsuccessfully), the user - * is informed of the result - * - * @since S60 S60 v5.1 - */ -NONSHARABLE_CLASS( CBTEngPairBase ) : public CBase, public MBTEngActiveObserver - { -public: - - /** - * Destructor - */ - virtual ~CBTEngPairBase(); - - /** - * Handle a pairing result from the pairing server. - * - * @param aAddr the address of the remote device which the result is for. - * @param aResult The status code of the pairing or authentication result. - */ - void HandlePairServerResult( const TBTDevAddr& aAddr, TInt aResult ); - - /** - * Handles event of new paired device event in registry. - * @param aDev the remote device which the pair is with. - */ - void HandleRegistryNewPairedEvent( const TBTNamelessDevice& aDev ); - - /** - * Start observing the result of the pairing originated by - * the remote device. - * Must be specialized by subclass. - * @param the address of the remote device to be paired - * @return KErrNone if this request is accepted; otherwise an error code - */ - virtual TInt ObserveIncomingPair( const TBTDevAddr& aAddr ) = 0; - - /** - * Start an outgoing pairing with the remote device. - * Must be specialized by subclass. - * @param the address of the remote device to be paired - * @return KErrNone if this request is accepted; otherwise an error code - */ - virtual void HandleOutgoingPairL( const TBTDevAddr& aAddr, TUint aCod ) = 0; - - /** - * Cancel the outstanding pairing operation. - */ - virtual void CancelOutgoingPair(); - - /** - * Cancels pairing handling with the specified device - * @param aAddr the address of the device the pairing is with - */ - virtual void StopPairHandling( const TBTDevAddr& aAddr ) = 0; - -protected: - - /** - * Handle a pairing result with the remote device which this is for. - * Must be specialized by subclass. - * - * @param aResult The status code of the pairing or authentication result. - */ - virtual void DoHandlePairServerResult( TInt aResult ) = 0; - - /** - * Handles event of registry new paired event with the remote - * device this is for. - * Must be specialized by subclass. - * @aType the type of authentication with the device. - */ - virtual void DoHandleRegistryNewPairedEvent( const TBTNamelessDevice& aDev ) = 0; - -protected: - - /** - * C++ default constructor - */ - CBTEngPairBase(CBTEngPairMan& aParent, const TBTDevAddr& aAddr); - - /** - * Symbian 2nd-phase constructor - */ - void BaseConstructL(); - - /** - * Cancels notifying user about the pairing result. - */ - void CancelNotifier(); - - /** - * Show the pairing result and ask the user to authorize the device if - * pair succeeded. - * - * @since S60 v5.1 - */ - void ShowPairingNoteAndAuthorizeQuery(); - - /** - * Invalidate the pair result flag of this - */ - void UnSetPairResult(); - - /** - * Sets the pair result and validate pair result flag - */ - void SetPairResult( TInt aResult ); - - /** - * Tells if the pair result has been set. - * @ETrue if the result has been set. - */ - TBool IsPairResultSet(); - - /** - * Tells if this is notifying user the pairing result. - * @return ETrue if this is is notifying user the pairing result - */ - TBool IsNotifyingPairResult(); - -protected: - - /** - * Address of the remote device we are trying to pair. - */ - TBTDevAddr iAddr; - - /** - * Contains the final result of pairing with the remote device - */ - TInt iPairResult; - - /** - * Pair result flag, ETrue if iPairResult is been set. - */ - TBool iPairResultSet; - - /** - * Reference to the owner of this object. - */ - CBTEngPairMan& iParent; - - /** - * Package buffer for passing parameters to authorization notifier. - */ - TBTPairedDeviceSettingParamsPckg iAuthoPckg; - - /** - * Session with the notifier server. - * Own. - */ - RNotifier iNotifier; - - /** - * Active object helper for asynchronous operations. - * Own. - */ - CBTEngActive* iActive; - }; - -#endif /*BTENGPAIRBASE_H_*/