diff -r 000000000000 -r dd21522fd290 browserutilities/favouritesengine/ClientServer/srvsrc/FavouritesSrvDbNotifier.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browserutilities/favouritesengine/ClientServer/srvsrc/FavouritesSrvDbNotifier.cpp Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,115 @@ +/* +* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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 of class CFavouritesSrvDbNotifier +* +* +*/ + + +// INCLUDE FILES + +#include "FavouritesSrvDbNotifier.h" +#include "FavouritesSrvDb.h" +#include "FavouritesPanic.h" + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CFavouritesSrvDbNotifier::NewL +// --------------------------------------------------------- +// +CFavouritesSrvDbNotifier* CFavouritesSrvDbNotifier::NewL +( CFavouritesSrvDb& aDb ) + { + CFavouritesSrvDbNotifier* notif = new (ELeave) CFavouritesSrvDbNotifier(); + CleanupStack::PushL( notif ); + notif->ConstructL( aDb ); + CleanupStack::Pop( notif ); + return notif; + } + +// --------------------------------------------------------- +// CFavouritesSrvDbNotifier::~CFavouritesSrvDbNotifier +// --------------------------------------------------------- +// +CFavouritesSrvDbNotifier::~CFavouritesSrvDbNotifier() + { + Cancel(); + iNotifier.Close(); + } + +// --------------------------------------------------------- +// CFavouritesSrvDbNotifier::CFavouritesSrvDbNotifier +// --------------------------------------------------------- +// +CFavouritesSrvDbNotifier::CFavouritesSrvDbNotifier() +: CActive( EPriorityStandard ) + { + CActiveScheduler::Add( this ); + } + +// --------------------------------------------------------- +// CFavouritesSrvDbNotifier::ConstructL +// --------------------------------------------------------- +// +void CFavouritesSrvDbNotifier::ConstructL( CFavouritesSrvDb& aDb ) + { + User::LeaveIfError( iNotifier.Open( aDb.Database() ) ); + } + +// --------------------------------------------------------- +// CFavouritesSrvDbNotifier::RunL +// --------------------------------------------------------- +// +void CFavouritesSrvDbNotifier::RunL() + { + iMessage.Complete( iStatus.Int() ); + } + +// --------------------------------------------------------- +// CFavouritesSrvDbNotifier::DoCancel +// --------------------------------------------------------- +// +void CFavouritesSrvDbNotifier::DoCancel() + { + iNotifier.Cancel(); + iMessage.Complete( KErrCancel ); + } + +// --------------------------------------------------------- +// CFavouritesSrvDbNotifier::NotifyAllEvents +// --------------------------------------------------------- +// +void CFavouritesSrvDbNotifier::NotifyAllEvents( const RMessage2& aMessage ) + { + __ASSERT_DEBUG( !IsActive(), FavouritesPanic( EFavouritesInternal ) ); + iMessage = aMessage; + iNotifier.NotifyUnlock( iStatus ); + SetActive(); + } + +// --------------------------------------------------------- +// CFavouritesSrvDbNotifier::NotifyChange +// --------------------------------------------------------- +// +void CFavouritesSrvDbNotifier::NotifyChange( const RMessage2& aMessage ) + { + __ASSERT_DEBUG( !IsActive(), FavouritesPanic( EFavouritesInternal ) ); + iMessage = aMessage; + iNotifier.NotifyChange( iStatus ); + SetActive(); + } + +// End of File