sl@0: // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef __LOGSERVBACKUPINTERFACE_H__ sl@0: #define __LOGSERVBACKUPINTERFACE_H__ sl@0: sl@0: #include sl@0: sl@0: // Classes referenced sl@0: class MLogServBackupObserver; sl@0: sl@0: /** sl@0: Typedefs sl@0: @internalComponent sl@0: */ sl@0: typedef TInt TLogServBackupPriority; sl@0: sl@0: sl@0: ///////////////////////////////////////////////////////////////////////////////////////// sl@0: // -----> MLogServBackupInterface (header) sl@0: ///////////////////////////////////////////////////////////////////////////////////////// sl@0: /** sl@0: @internalComponent sl@0: */ sl@0: class MLogServBackupInterface sl@0: { sl@0: public: sl@0: enum TLogServBackupState sl@0: { sl@0: ELogServBackupStateIdle = 0, sl@0: ELogServBackupStateBackupInProgress sl@0: }; sl@0: sl@0: enum TLogBackupStandardNotificationPriorities sl@0: { sl@0: // The first object that will be told a backup is starting (and the last sl@0: // to be told that a backup has ended). sl@0: ELogBackupPriorityFirstToBeNotified = 1000, sl@0: sl@0: // The last object to be told that a backup is starting (but the first sl@0: // to be told that it has ended). sl@0: ELogBackupPriorityLastToBeNotified = -1000, sl@0: sl@0: // Individual object priorities. Not terribly nice really... sl@0: EObjectDatabaseDriver = ELogBackupPriorityFirstToBeNotified, sl@0: EObjectViewLock = EObjectDatabaseDriver - 1, sl@0: EObjectView = EObjectViewLock - 1, sl@0: EObjectClientChangeNotifications = EObjectView - 1, sl@0: EObjectChangeTracker = EObjectClientChangeNotifications -1, sl@0: sl@0: // Must be last, since it must close the database after everything sl@0: // has stopped using it. sl@0: EObjectDatabaseMarshall = ELogBackupPriorityLastToBeNotified, sl@0: sl@0: }; sl@0: sl@0: public: // Observer interaction sl@0: virtual void BIObserverAddL(MLogServBackupObserver& aObserver, TLogServBackupPriority aPriority) = 0; sl@0: virtual void BIObserverRemove(MLogServBackupObserver& aObserver) = 0; sl@0: sl@0: public: // Enquiry interface sl@0: virtual TLogServBackupState BIState() const = 0; sl@0: virtual TInt BIErrorValueForCurrentState() const = 0; sl@0: void BIValidateStateForDatabaseOperationL(); sl@0: sl@0: public: // Misc sl@0: virtual void BISetDatabaseNameL(const TDesC& aDatabaseName) = 0; sl@0: }; sl@0: sl@0: sl@0: #endif sl@0: