--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ocrsrv_stub/inc/ocrengine.h Thu Jan 14 07:14:53 2010 +0200
@@ -0,0 +1,342 @@
+/*
+* 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: ocrengine definitions
+*
+*/
+
+
+#ifndef OCRENGINE_H
+#define OCRENGINE_H
+
+// INCLUDES
+#include "language.h"
+#include <ocrsrv.h>
+
+/** Activate language selection */
+enum TLanguageSelected
+ {
+ /** One language selected to be active */
+ ESignleLanguageSelected = 1,
+
+ /** Two languages selected to be active */
+ ETwoLanguageSelected = 2
+ };
+
+// FORWARD DECLARATIONS
+class CEngineAdaptor;
+class COCREngineImplBase;
+
+// CLASS DECLARATION
+
+/**
+ * Ocr engine wrapper implementation base
+ *
+ * Abstruct for ocr engines
+ *
+ * @lib ocrsrv.lib
+ * @since S60 v3.1
+ */
+class COCREngineImplBase : public MOCREngineBase,
+ public CBase
+ {
+public:
+
+ /**
+ * Symbian Two-phased constructor.
+ */
+ static COCREngineImplBase* NewL(MOCREngineObserver& aObserver, const TOcrEngineEnv aEngineEnv);
+
+ /**
+ * Default C++ Destructor
+ */
+ virtual ~COCREngineImplBase();
+
+public: // From MOCREngineInterface
+
+ /**
+ * Cancel recognition operation
+ * @since S60 v3.1
+ * @return None
+ */
+ virtual void CancelOperation();
+
+ /**
+ * Get the version of the ocrsrv component
+ * @since S60 v3.1
+ * @return The version of the module
+ */
+ virtual TVersion GetVersion() const;
+
+ /**
+ * Refresh installed language databases
+ * @since S60 v3.1
+ * @return None
+ */
+ virtual void RefreshInstalledLanguageL();
+
+ /**
+ * Set the language for recognition
+ * @since S60 v3.1
+ * @param aActiveLanguage A languages to be activated
+ * @return None
+ */
+ virtual void SetActiveLanguageL(const RArray<TLanguage>& aActiveLanguage);
+
+ /**
+ * Get the installed file directory
+ * @since S60 v3.1
+ * @param aLanguages Get installed languages
+ * @return None
+ */
+ virtual void GetInstalledLanguage(RArray<TLanguage>& aLanguages) const;
+
+ /**
+ * Test if the language is supported
+ * @since S60 v3.1
+ * @param aLanguage A language to be tested
+ * @return ETrue if it's supported
+ */
+ virtual TBool IsLanguageSupported(const TLanguage aLanguage);
+
+ /**
+ * Release the engine instance
+ * @since S60 v3.1
+ * @return None
+ */
+ void Release();
+
+ /**
+ * Get adaptor object
+ * @since S60 v3.1
+ * @return Pointer to the adaptor object
+ */
+ inline CEngineAdaptor* GetAdaptor() const;
+
+ /**
+ * Test if the engine is active or not
+ * @since S60 v3.1
+ * @return None
+ */
+ virtual TBool IsEngineActive() const;
+
+protected:
+
+ /**
+ * Default Symbian 2nd phase constructor
+ */
+ void ConstructL(MOCREngineObserver& aObserver, const TOcrEngineEnv aEngineEnv);
+
+private:
+
+ /**
+ * Reset adaptor when active language(s) is changed
+ * @since S60 v3.1
+ * @param aActiveLanguage New language to be activated
+ * @return None
+ */
+ void ResetAdaptorL(const RArray<TLanguage>& aActiveLanguage);
+
+private:
+
+ /**
+ * Pointer to the adaptor instance (Own)
+ */
+ CEngineAdaptor* iAdaptor;
+
+ /**
+ * Pointer to the engine observer (Not Own)
+ */
+ MOCREngineObserver* iObserver;
+
+ /**
+ * Pointer to the current engine (Own)
+ */
+ COCREngineList* iLanguageEngine;
+
+ /**
+ * File name of the current loaded Dll
+ */
+ TFileName iCurrentDll;
+
+ /**
+ * Settings of the engine working aera
+ */
+ TOcrEngineEnv iEngineEnv;
+ };
+
+/**
+ * Ocr engine wrapper for recognition with layout analysis
+ *
+ * Abstruct for ocr engines with layout analysis
+ *
+ * @lib ocrsrv.lib
+ * @since S60 v3.1
+ */
+class COCREngineLayoutRecognize : public MOCREngineLayoutRecognize,
+ public CBase
+ {
+ friend class OCREngineFactory;
+
+public:
+ /**
+ * Symbian Two-phased constructor.
+ */
+ static COCREngineLayoutRecognize* NewL(MOCREngineObserver& aObserver,
+ const TOcrEngineEnv aEngineEnv);
+
+public: // From MOCREngineWithLayout
+
+ /**
+ * Layout analysis method
+ * @since S60 v3.1
+ * @param aBitmapHandle An image to analyzed
+ * @param aSettings Setting for layout analysis
+ * @return None
+ */
+ virtual void LayoutAnalysisL(const TInt aBitmapHandle, const TOCRLayoutSetting aSettings);
+
+ /**
+ * Text recognition method
+ * @since S60 v3.1
+ * @param aSetting Setting for recognition
+ * @param aBlock Block Ids to be recognized
+ * @return None
+ */
+ virtual void RecognizeL(const TOCRRecognizeSetting aSettings, const RArray<TInt>& aBlock);
+
+ /**
+ * Provide base functions
+ * @since S60 v3.1
+ * @return Pointer to the base engine instance
+ */
+ MOCREngineBase* Base() const;
+
+private:
+
+ /**
+ * Default Symbian 2nd phase constructor
+ */
+ void ConstructL(MOCREngineObserver& aObserver, const TOcrEngineEnv aEngineEnv);
+
+protected:
+
+ /**
+ * Default C++ Destructor
+ */
+ virtual ~COCREngineLayoutRecognize();
+
+private:
+
+ /**
+ * Pointer to the engine base instance (Own)
+ */
+ COCREngineImplBase* iBase;
+
+ /**
+ * Pointer to the adaptor instance (Not Own)
+ */
+ CEngineAdaptor* iAdaptor;
+ };
+
+/**
+ * Ocr engine wrapper for recognition with block recognition
+ *
+ * Abstruct for ocr engines with block recognition
+ *
+ * @lib ocrsrv.lib
+ * @since S60 v3.1
+ */
+class COCREngineRecognizeBlock : public MOCREngineRecognizeBlock,
+ public CBase
+ {
+ friend class OCREngineFactory;
+
+public:
+ /**
+ * Description: Two-phased constructor.
+ */
+ static COCREngineRecognizeBlock* NewL(MOCREngineObserver& aObserver,
+ const TOcrEngineEnv aEngineEnv);
+
+public: // From MOCREngineWithoutLayout
+
+ /**
+ * Recognize block without layout analysis
+ * @since S60 v3.1
+ * @param aBitmapHandle An image to analyzed
+ * @param aLayoutInfo Layout information
+ * @return None
+ */
+ virtual void RecognizeBlockL(const TInt aBitmapHandle,
+ const TOCRLayoutBlockInfo aLayoutInfo);
+
+ /**
+ * Recognize special region
+ * @since S60 v3.1
+ * @param aBitmapHandle An image to analyzed
+ * @param aRegionInfo Region information
+ * @return None
+ */
+ virtual void RecognizeSpecialRegionL(const TInt aBitmapHandle,
+ const TRegionInfo aRegionInfo);
+
+ /**
+ * Provide base functions
+ * @since S60 v3.1
+ * @return Pointer to the base engine instance
+ */
+ MOCREngineBase* Base() const;
+
+private:
+
+ /**
+ * Default Symbian 2nd phase constructor
+ */
+ void ConstructL(MOCREngineObserver& aObserver, const TOcrEngineEnv aEngineEnv);
+
+ /**
+ * Check the validity of the given rect
+ * If the range is invalid, a leave will be raised with KErrArgument
+ * @since S60 v3.1
+ * @param aBitmapHandle A bitmap handle
+ * @param aRange A given range
+ * @return None
+ */
+ void CheckRangeL(const TInt aBitmapHandle, const TRect aRange);
+
+protected:
+
+ /**
+ * Default C++ Destructor
+ */
+ virtual ~COCREngineRecognizeBlock();
+
+private:
+
+ /**
+ * Pointer to the engine base instance (Own)
+ */
+ COCREngineImplBase* iBase;
+
+ /**
+ * Pointer to the adaptor instance (Not Own)
+ */
+ CEngineAdaptor* iAdaptor;
+ };
+
+#include "ocrengine.inl"
+
+#endif // OCRENGINE_H
+
+// End of File