textinput/peninputcommonlayout/inc/peninputdataprovider.h
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputcommonlayout/inc/peninputdataprovider.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,111 @@
+/*
+* 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 data provider
+*
+*/
+
+
+#ifndef M_MPENINPUTDATAPROVIDER_H
+#define M_MPENINPUTDATAPROVIDER_H
+
+// System includes
+#include <e32base.h>
+
+/**
+ * Pen input data type
+*/
+enum TPeninputDataType
+    {
+    EPeninputDataTypeCase                 = 0x00000001,
+    EPeninputDataTypeInputLanguage        = 0x00000002,
+    EPeninputDataTypePermittedRange       = 0x00000004,
+    EPeninputDataTypeCurrentRange         = 0x00000008,
+    EPeninputDataTypeClientLayout         = 0x00000010,
+    EPeninputDataTypeVkbLayout            = 0x00000020,
+    EPeninputDataTypeNumericKeymap        = 0x00000040,
+    EPeninputDataTypeShiftDown            = 0x00000080,
+    EPeninputDataTypeCapslockDown         = 0x00000100,
+    EPeninputDataTypeCurrentAccent        = 0x00000200,
+    EPeninputDataTypeScreenMode           = 0x00000400,
+    EPeninputDataTypeScreenSize           = 0x00000800,
+    EPeninputDataTypeWindowPosition       = 0x00001000,
+    EPeninputDataTypePositionSettingId    = 0x00002000,
+    EPeninputDataTypeUnitWidth            = 0x00004000,
+    EPeninputDataTypeUnitHeight           = 0x00008000,
+    EPeninputDataTypeDataQueryDlgRect     = 0x00010000,
+    EPeninputDataTypePenTailColor 		  = 0x00020000,
+    EPeninputDataTypeReserve_1            = 0x00040000,
+    EPeninputDataTypePermittedCase        = 0x00080000,
+    EAknFepDataTypeUseDefinedResource     = 0x00100000,
+    EAkninputDataTypeGuideLineTop         = 0x00200000,
+    EAkninputDataTypeGuideLineBottom      = 0x00400000,
+    EAkninputDataTypeSizeChanging         = 0x00800000,
+    EAkninputDataTypeUnitSizeSet          = 0x01000000,
+    EAkninputDataTypeLatchedSet       = 0x02000000,
+    EAkninputDataTypeInputArea            = 0x04000000,
+    EAkninputDataTypeAllowCaseChange      = 0x08000000
+    };
+
+/**
+ *  Data provider interface
+ *
+ *  @lib peninputcommonlayout.lib
+ *  @since S60 v3.2
+ */
+class MPeninputDataProvider
+    {
+
+public:
+
+    /**
+     * Request data from data provider
+     *
+     * @since S60 v3.2
+     * @param aDataType The data request 
+     * @return The data you request
+     */
+    virtual TAny* RequestData( TPeninputDataType 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 None
+     */
+    virtual void SetData( TPeninputDataType aDataType, 
+                                   TAny* aData ) = 0;
+
+    /**
+     * Reset some data in data manager
+     *
+     * @since S60 v3.2
+     * @return None
+     */
+    virtual void Reset() = 0;
+
+    /**
+     * Save key into CenRep(AknFep)
+     *
+     * @since S60 v3.2
+     * @param aKey The key name
+     * @param aValue The new value
+     * @return None
+     */
+    virtual void SaveKey( TInt aKey, TInt aValue ) = 0;
+
+    };
+
+#endif  //M_MPENINPUTDATAPROVIDER_H