diff -r c84cf270c54f -r 8871b09be73b phoneuis/dialer/src/cdialercenrepwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/dialer/src/cdialercenrepwrapper.cpp Fri Feb 19 22:50:26 2010 +0200 @@ -0,0 +1,111 @@ +/* +* Copyright (c) 2010 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: Wrapper class for Central Repository handling. +* Using this helper class is most helpful when one class needs +* to observe state changes in several repositories. +*/ + +#include +#include "cdialercenrepwrapper.h" + +// --------------------------------------------------------------------------- +// CDialerCenRepWrapper::CDialerCenRepWrapper +// +// --------------------------------------------------------------------------- +// +CDialerCenRepWrapper::CDialerCenRepWrapper( + MDialerCenRepObserver& aObserver, TUid aRepository ) : + iObserver( aObserver ), iRepositoryId( aRepository ) + { + // No implementation required + } + +// --------------------------------------------------------------------------- +// CDialerCenRepWrapper::~CDialerCenRepWrapper +// +// --------------------------------------------------------------------------- +// +CDialerCenRepWrapper::~CDialerCenRepWrapper() + { + if ( iCenRepNotifyHandler ) + { + iCenRepNotifyHandler->StopListening(); + delete iCenRepNotifyHandler; + } + delete iRepository; + } + +// --------------------------------------------------------------------------- +// CDialerCenRepWrapper::NewLC +// +// --------------------------------------------------------------------------- +// +CDialerCenRepWrapper* CDialerCenRepWrapper::NewLC( + MDialerCenRepObserver& aObserver, TUid aRepository ) + { + CDialerCenRepWrapper* self = + new (ELeave) CDialerCenRepWrapper( aObserver, aRepository ); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// --------------------------------------------------------------------------- +// CDialerCenRepWrapper::NewL +// +// --------------------------------------------------------------------------- +// +CDialerCenRepWrapper* CDialerCenRepWrapper::NewL( + MDialerCenRepObserver& aObserver, TUid aRepository ) + { + CDialerCenRepWrapper* self = + CDialerCenRepWrapper::NewLC( aObserver, aRepository ); + CleanupStack::Pop( self ); + return self; + } + +// --------------------------------------------------------------------------- +// CDialerCenRepWrapper::ConstructL +// +// --------------------------------------------------------------------------- +// +void CDialerCenRepWrapper::ConstructL() + { + iRepository = CRepository::NewL( iRepositoryId ); + iCenRepNotifyHandler = CCenRepNotifyHandler::NewL( *this, *iRepository ); + iCenRepNotifyHandler->StartListeningL(); + } + +// --------------------------------------------------------------------------- +// CDialerCenRepWrapper::HandleNotifyGeneric +// +// --------------------------------------------------------------------------- +// +void CDialerCenRepWrapper::HandleNotifyGeneric( TUint32 aId ) + { + iObserver.HandleRepositoryChange( iRepositoryId, aId ); + } + +// --------------------------------------------------------------------------- +// CDialerCenRepWrapper::Get +// +// --------------------------------------------------------------------------- +// +TInt CDialerCenRepWrapper::Get( TUint32 aKey, TInt& aValue ) + { + return iRepository->Get( aKey, aValue ); + } + +// end of file +