diff -r cad71a31b7fc -r e36f3802f733 srsf/nssvasapi/nssvasdb/inc/nssvasmcoresyncrecoveryhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/srsf/nssvasapi/nssvasdb/inc/nssvasmcoresyncrecoveryhandler.h Wed Sep 01 12:29:17 2010 +0100 @@ -0,0 +1,75 @@ +/* +* Copyright (c) 2002 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 MCoreDbSyncRecoveryHandler provides means to restore the database +* synchronisation between Speech Recognition DB (SR DB) and VAS DB. +* +* Training a new name saves stuff to SR DB. The SaveTag() call saves +* stuff to VAS DB. If the client decides after training not to save, or +* battery is removed between training the name and saving it, then the +* two databases are out of sync. +* These functions add to VAS DB enough information for proper rollback. +* If they are called before changing SR DB, the databases will always +* stay in sync. +* +* +*/ + + +#ifndef MNSSCORERECOVERYHANDLER_H +#define MNSSCORERECOVERYHANDLER_H + +class CNssTag; + +/** +* The MNssCoreSrsDBEventHandler provides interface to handle events +* from Save and Delete utterance data into SRS. +* +* @lib NssVasApi.lib +* @since 2.0 +*/ +class MNssCoreSyncRecoveryHandler +{ +public: + + /** + * Recovery functions. + * These are called, before changing the speech recognition database. + * They save enough information to clean up and fall back, if: + * (a) The client changes SR DB, but doesn't save the tag. + * (b) A crash happens during operation. + */ + + /** + * Callback + * @return None + */ + virtual void PrepareRecoveryInTraining( const RPointerArray& anArray, + const CNssContext* aContext )=0; + + /** + * Callback + * @return None + */ + virtual void PrepareRecoveryInChanging(const RPointerArray& anArray)=0; + + /** + * Callback + * @return None + */ + virtual void PrepareRecoveryInDeleting(const RPointerArray& anArray)=0; + + +}; + +#endif