epoc32/include/imageprocessor/imageprocessorobserver.h
branchSymbian3
changeset 4 837f303aceeb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/epoc32/include/imageprocessor/imageprocessorobserver.h	Wed Mar 31 12:33:34 2010 +0100
@@ -0,0 +1,108 @@
+// Copyright (c) 2008-2009 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:
+//
+
+/**
+ @file
+ @publishedAll 
+ @released 
+*/
+
+#ifndef __IMAGE_PROCESSOR_OBSERVER_H__
+#define __IMAGE_PROCESSOR_OBSERVER_H__
+
+#include <e32base.h>
+
+namespace ImageProcessor
+	{
+
+class CImgProcessor;
+
+/**
+Plugin API for the observer of CImgProcessor.
+When the CImgProcessor is set to EOptionNone, which means effects, geometric operations and rendering 
+are applied asynchronously. After certain operations such as initialization or rendering finished, or after each iteration 
+of operation, the certain function will be called, so that user can perform corresponding response. 
+
+@see TEvent
+@publishedAll
+@released
+*/	
+class MImgProcessorObserver
+	{
+public: 
+	/**
+	The derived class must provide an implementation to perform actions after ImageProcessor complete its initialization
+	
+	@param  aImageProcessor
+    		The CImgProcessor which has finished the initialization
+    @param  aError
+    		any error happened in the CImgProcessor initialize process
+    */
+	virtual void ImageProcessorInitializingComplete(CImgProcessor& aImageProcessor, TInt aError) = 0;
+	
+	/**
+	The derived class must provide an implementation to perform actions after the preview of ImageProcessor complete its initialization
+	
+	@param  aImageProcessor
+    		The CImgProcessor which has finished the initialization of its prview
+    @param  aPreviewId
+    		the id of the preview which has finished the initialization
+    @param  aError
+    		any error happened in the CImgProcessor preview initialize process
+    */
+	virtual void ImageProcessorPreviewInitializingComplete(CImgProcessor& aImageProcessor, TInt aPreviewId, TInt aError) = 0;
+	
+	/**
+	The derived class must provide an implementation to perform actions after ImageProcessor complete its action of image processing
+	
+	@param  aImageProcessor
+    		The CImgProcessor which has finished the rendering
+    @param  aError
+    		any error happened in the CImgProcessor rendering process
+    */
+	virtual void ImageProcessingComplete(CImgProcessor& aImageProcessor, TInt aError) = 0;
+	
+	/**
+	The derived class must provide an implementation to perform actions after the preview of ImageProcessor complete its rendering process
+	
+	@param  aImageProcessor
+    		The CImgProcessor which has finished the rendering of its prview
+    @param  aPreviewId
+    		the id of the preview which has finished the rendering
+    @param  aError
+    		any error happened in the CImgProcessor preview rendering process
+    */
+	virtual void ImageProcessorPreviewRenderingComplete(CImgProcessor& aImageProcessor, TInt aPreviewId, TInt aError) = 0;
+	
+	/**
+	During image processing, after each iteration, this function will be notified and
+	the derived class must provide an implementation to perform actions (optional) such as showing messages to response.
+	
+	@param  aImageProcessor
+    		The current CImgProcessor 
+    @param  aEventId
+    		the event id of the current iteration, which is defined in imageprocessor.h as TEvent enumeration,
+    		could be EEventInitializing, EEventProcessing, EEventRendering, EEventPreviewInitializing or EEventPreviewRendering,
+    @param  aUid
+    		The value depends on aEventId, and reserved for future purpose
+    @param  aId
+    		The value depends on aEventId, for example, if aEventId is EEventPreviewRendering, aId will be the id of the preview.
+    */
+	virtual void ImageProcessorEvent(CImgProcessor& aImageProcessor, TInt aEventId, TUid aUid, TInt aId) = 0;
+	};
+
+}	//namespace ImageProcessor
+
+#endif //__IMAGE_PROCESSOR_OBSERVER_H__