textinput/peninputvkbcn/inc/peninputvkbdataprovider.h
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputvkbcn/inc/peninputvkbdataprovider.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2002-2005 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:  Interface of vkb ui state
+*
+*/
+
+
+#ifndef M_AKNFEPVKBDATAPROVIDER_H
+#define M_AKNFEPVKBDATAPROVIDER_H
+
+enum TAknFepDataType
+    {
+    EAknFepDataTypeCase                 = 0x0001,
+    EAknFepDataTypeInputLanguage        = 0x0002,
+    EAknFepDataTypePermittedRange       = 0x0004,
+    EAknFepDataTypeCurrentRange         = 0x0008,
+    EAknFepDataTypeIMLayout             = 0x0010,
+    EAknFepDataTypeNumericKeymap        = 0x0020,                       
+    EAknFepDataTypeShfitDown            = 0x0040,
+    EAknFepDataTypeCapslockDown         = 0x0080,
+    EAknFepDataTypeCurrentAccent        = 0x0100,    
+    EAknFepDataTypeCandidateCount       = 0x0200,    
+    EAknFepDataTypeLengthWhenButtondownOnBack = 0x0400,
+    EAknFepDataTypeWindowPosition       = 0x0800,
+    EAknFepDataTypeUnitWidth        = 0x1000,
+    EAknFepDataTypeUnitHeight        = 0x2000,
+    EAknFepDataTypeScreenSize        = 0x4000,
+    //EAknFepDataTypePoistionJustifyStyle = 0x8000,
+    EAknFepDataTypeDataQueryRect        = 0x10000,
+    EAknFepDataTypeUseDefinedResource   = 0x20000,
+    EAknFepDataTypeShadowTlSize = 0x40000,
+    EAknFepDataTypeShadowBrSize = 0x80000,
+    EAknFepDataTypeMainPaneRect = 0x100000,
+    EAknFepDataTypeTitleBarHeight = 0x200000,
+    EAknFepDataTypeIcfColumnNums  = 0x400000,
+    EAknFepDataTypeDefaultIMLayout = 0x800000,
+    EAknFepDataTypeNeedBRJustify = 0x8000
+    };
+
+// class declarations
+/**
+ *  Data manager class
+ *
+ *  @lib peninputvkbcn.lib
+ *  @since S60 v3.2
+ */
+class MAknFepVkbDataProvider
+    {
+public:
+    /**
+     * Request data from data provider
+     *
+     * @since S60 v3.2
+     * @param aDataType The data request 
+     * @return The data you request
+     */
+    virtual TInt RequestData(TAknFepDataType aDataType) = 0;
+    
+    /**
+     * Set data according to the data type
+     *
+     * @since S60 v3.2
+     * @param aDataType The data type need to set
+     * @param aData The new data
+     * @return candidates list.
+     */    
+    virtual void SetData(TAknFepDataType aDataType,TInt aData) = 0;
+    
+    /**
+     * Read unit and shadow size
+     *
+     * @since S60 v3.2
+     * @return None
+     */    
+    virtual void ReadUnitShadowSize() = 0;
+    
+    /**
+     * Whether size is changing
+     *
+     * @since S60 v3.2
+     * @return ETrue if size is changing, otherwise EFalse
+     */    
+    virtual TBool SizeChanging() = 0;
+    
+    /**
+     * Get info of whether unit and shadow size have been read
+     *
+     * @since S60 v3.2
+     * @return Flag to indicate whether unit and shadow size
+     * have been read
+     */      
+    virtual TBool UnitShadowSizeSet() = 0;
+    };
+
+#endif  //M_AKNFEPVKBDATAPROVIDER_H
+
+//End Of File
\ No newline at end of file