williamr@2: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2: // All rights reserved.
williamr@2: // This component and the accompanying materials are made available
williamr@4: // under the terms of "Eclipse Public License v1.0"
williamr@2: // which accompanies this distribution, and is available
williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@2: //
williamr@2: // Initial Contributors:
williamr@2: // Nokia Corporation - initial contribution.
williamr@2: //
williamr@2: // Contributors:
williamr@2: //
williamr@2: // Description:
williamr@2: //
williamr@2: 
williamr@2: #ifndef __CALPROGRESSCALLBACK_H__
williamr@2: #define __CALPROGRESSCALLBACK_H__
williamr@2: 
williamr@4: #include <e32def.h>
williamr@4: 
williamr@2: class MCalProgressCallBack
williamr@2: /** A call back class to show the progress of long-running operations. 
williamr@2: 
williamr@2: When a long-running operation is carried out on the instance view or the entry 
williamr@2: view, this class is used to signal its progress, and when the function is complete.
williamr@2: 
williamr@2: @publishedAll
williamr@2: @released
williamr@2: */
williamr@2: 	{
williamr@2: public:
williamr@2: 
williamr@2: 	/** Progress callback.
williamr@2: 	
williamr@2: 	This calls the observing class with the percentage complete of the current operation.
williamr@2: 	
williamr@2: 	@param aPercentageCompleted The percentage complete. */
williamr@2: 	virtual void Progress(TInt aPercentageCompleted) = 0;
williamr@2: 	
williamr@2: 	/** Progress callback.
williamr@2: 	
williamr@2: 	This calls the observing class when the current operation is finished.
williamr@2: 	
williamr@2: 	@param aError The error if the operation failed, or KErrNone if successful. */
williamr@2: 	virtual void Completed(TInt aError) = 0;
williamr@2: 	
williamr@2: 	/** 
williamr@2:     Asks the observing class whether progress callbacks are required. This
williamr@2:     is called once only to check if callbacks are enabled.
williamr@2: 	
williamr@2: 	@return If the observing class returns EFalse, then the Progress() function will not be called. 
williamr@2:     */
williamr@2: 	virtual TBool NotifyProgress() = 0;
williamr@2: 	};
williamr@2: 	
williamr@2: #endif // __CALPROGRESSCALLBACK_H__