diff -r 613943a21004 -r 9386f31cc85b bluetoothengine/btnotif/src/BTNPBAPPinNotifier.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetoothengine/btnotif/src/BTNPBAPPinNotifier.cpp Wed Sep 01 12:20:04 2010 +0100 @@ -0,0 +1,140 @@ +/* +* Copyright (c) 2007 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 PBAP PIN query notifier class. +* +*/ + + +// INCLUDE FILES +#include // Localisation stringloader +#include // Unicode character conversion utilities + +#include // own resources +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#else +#include +#include +#endif + +#include "btnpbappinnotifier.h" // own class definition +#include "btNotifDebug.h" // debugging macros + +#include + +// ================= MEMBER FUNCTIONS ======================= + +// ---------------------------------------------------------- +// CBTObexPinNotifier::NewL +// Two-phased constructor. +// ---------------------------------------------------------- +// +CBTPBAPPinNotifier* CBTPBAPPinNotifier::NewL() + { + CBTPBAPPinNotifier* self=new (ELeave) CBTPBAPPinNotifier(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + +// ---------------------------------------------------------- +// CBTObexPinNotifier::CBTObexPinNotifier +// C++ default constructor can NOT contain any code, that +// might leave. +// ---------------------------------------------------------- +// +CBTPBAPPinNotifier::CBTPBAPPinNotifier() + { + } + +// ---------------------------------------------------------- +// Destructor +// ---------------------------------------------------------- +// +CBTPBAPPinNotifier::~CBTPBAPPinNotifier() + { + } + +// ---------------------------------------------------------- +// CBTPBAPPinNotifier::RegisterL +// ---------------------------------------------------------- +// +CBTPBAPPinNotifier::TNotifierInfo CBTPBAPPinNotifier::RegisterL() + { + iInfo.iUid=KPbapAuthNotifierUid; + iInfo.iChannel=KBTObexPINChannel; + iInfo.iPriority=ENotifierPriorityVHigh; + return iInfo; + } + +// ---------------------------------------------------------- +// CBTPBAPPinNotifier::GetParamsL +// Initialize parameters. Jump to RunL as soon as possible. +// ---------------------------------------------------------- +// +void CBTPBAPPinNotifier::GetParamsL(const TDesC8& /* aBuffer */, TInt aReplySlot, const RMessagePtr2& aMessage) + { + FLOG(_L("[BTNOTIF]\t CBTPBAPPinNotifier::GetParamsL()")); + + if( !iMessage.IsNull()) + { + User::Leave(KErrInUse); + } + + iMessage = aMessage; + iReplySlot = aReplySlot; + + if ( AutoLockOnL() ) + { + // The phone is locked, access denied. + // + CompleteMessage(KErrCancel); + return; + } + + ShowNoteCompleteMessageL(); + + FLOG(_L("[BTNOTIF]\t CBTPBAPPinNotifier::GetParamsL() completed")); + } + +// ---------------------------------------------------------- +// CBTPBAPPinNotifier::ShowNoteCompleteMessageL +// Ask user response and return it to caller. +// ---------------------------------------------------------- +// +void CBTPBAPPinNotifier::ShowNoteCompleteMessageL() + { + FLOG(_L("[BTNOTIF]\t CBTPBAPPinNotifier::ShowNoteCompleteMessageL()")); + + TBuf pbapPasskey; // Unicode buffer + + TInt keypress = iNotifUiUtil->ShowTextInputQueryL( pbapPasskey, + R_BT_OBEX_PASSKEY_QUERY, ECmdShowBtOpenCoverNote ); + + if( keypress ) // OK pressed + { + TPbapAuthNotifierResponsePckg pbapPasskeyResponse; + pbapPasskeyResponse().SetPassword(pbapPasskey); + CompleteMessage(pbapPasskeyResponse, KErrNone); + } + else // Cancel pressed + { + CompleteMessage(KErrCancel); + } + + FLOG(_L("[BTNOTIF]\t CBTPBAPPinNotifier::ShowNoteCompleteMessageL() completed")); + } + +// End of File