diff -r 000000000000 -r 094583676ce7 wvuing/wvuiprocess/Src/ccareactiveauthpc.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuiprocess/Src/ccareactiveauthpc.cpp Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,228 @@ +/* +* Copyright (c) 2006 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: Implementation for Reactive Auth. PC Interface +* +*/ + + + +// INCLUDE FILES +#include "ccareactiveauthpc.h" +#include "mcareactiveauthobserverpc.h" +#include "MCAPresence.h" +#include "CAPresenceManager.h" +#include "MCAStoredContacts.h" +#include "CCAStorageManagerFactory.h" + + + + + +// ============================ MEMBER FUNCTIONS =============================== + + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: Constructor +// ----------------------------------------------------------------------------- +// +CCAReactiveAuthPC::CCAReactiveAuthPC( ) + { + + } + + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: NewL +// ----------------------------------------------------------------------------- +// +CCAReactiveAuthPC* CCAReactiveAuthPC::NewL() + { + CCAReactiveAuthPC* self = new ( ELeave ) CCAReactiveAuthPC(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// ----------------------------------------------------------------------------- +// CCALoginPC::ConstructL +// Symbian Second Phased Constructor, contain any code that +// might leave. +// ----------------------------------------------------------------------------- +// +void CCAReactiveAuthPC::ConstructL() + { + iPresence = CAPresenceManager::InstanceL(); + } + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: Destructor +// ----------------------------------------------------------------------------- +// +CCAReactiveAuthPC::~CCAReactiveAuthPC() + { + if ( iReactiveAuthObserverPC ) + { + RemoveReactiveAuthObserver(); + } + } + + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: AddReactiveAuthObserver +// ----------------------------------------------------------------------------- +// +void CCAReactiveAuthPC::AddReactiveAuthObserver( + MCAReactiveAuthObserverPC* aObserver ) + { + iReactiveAuthObserverPC = aObserver; + ASSERT( aObserver ); + iPresence->SetReactiveAuthObserver( this ); + } + + + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: RemoveObserver +// ----------------------------------------------------------------------------- +// +void CCAReactiveAuthPC::RemoveReactiveAuthObserver() + { + //Not the owner of observer. so dont delete + iReactiveAuthObserverPC = NULL; + if ( iPresence ) + { + iPresence->SetReactiveAuthObserver( NULL ); + } + + } + + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: HandleRAError +// ----------------------------------------------------------------------------- +// +void CCAReactiveAuthPC::HandleRAError( TInt aErrorCode ) + { + if ( iReactiveAuthObserverPC ) + { + iReactiveAuthObserverPC->HandleRAError( aErrorCode ); + } + } + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: HandleRAStatusL +// ----------------------------------------------------------------------------- +// +void CCAReactiveAuthPC::HandleRAStatusL( ) + { + if ( iReactiveAuthObserverPC ) + { + iReactiveAuthObserverPC->HandleRAStatusL(); + } + } + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: HandleRAPendingReqL +// ----------------------------------------------------------------------------- +// +void CCAReactiveAuthPC::HandleRAPendingReqL( ) + { + if ( iReactiveAuthObserverPC ) + { + iReactiveAuthObserverPC->HandleRAPendingReqL( ); + } + } + + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: GetListOfRAStatusL +// ----------------------------------------------------------------------------- +// +void CCAReactiveAuthPC::GetListOfRAStatusL( TDes& aUserIdPtr, + CDesCArray& aUserIdsArray ) + { + TBool status( EFalse ); + TInt id = 0; + TInt lastStatusPos = 0; + TInt statusCount = iPresence->RAStatusCount(); + + while ( statusCount && iPresence->GetNextRAStatusL( + id, + status, + aUserIdPtr, + lastStatusPos ) ) + { + // keep on emptying the queue + if ( ! status ) + { + aUserIdsArray.AppendL( aUserIdPtr ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: FindAnyContactL +// ----------------------------------------------------------------------------- +// +TBool CCAReactiveAuthPC::FindAnyContactL( const TDesC& aContactId ) + { + MCAStoredContacts* contacts = + CCAStorageManagerFactory::ContactListInterfaceL(); + if ( contacts->FindAnyContact( aContactId ) ) + { + return ETrue; + } + return EFalse; + } + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: GetAliasL +// ----------------------------------------------------------------------------- +// +HBufC* CCAReactiveAuthPC::GetAliasL( const TDesC& aUserId ) + { + return iPresence->AliasL( aUserId ); + } + + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: GetNextPendingRARequestL +// ----------------------------------------------------------------------------- +// +TBool CCAReactiveAuthPC::GetNextPendingRARequestL( TInt& aId, + TDes& aUserId, + TInt& aLastPos ) + { + return iPresence->GetNextPendingRARequestL( aId, + aUserId, aLastPos ); + } + + +// ----------------------------------------------------------------------------- +// CCAReactiveAuthPC: SendReactiveAuthResponseL +// ----------------------------------------------------------------------------- +// +void CCAReactiveAuthPC::SendReactiveAuthResponseL( TInt aId, + TBool aResponse ) + { + iPresence->SendReactiveAuthResponseL( + aId, + aResponse ); + } + + +// End of File +