textinput/peninputcommonlayout/inc/peninputdataprovider.h
changeset 27 694fa80c203c
parent 24 fc42a86c98e3
child 35 0f326f2e628e
equal deleted inserted replaced
24:fc42a86c98e3 27:694fa80c203c
     1 /*
       
     2 * Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0""
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  interface of data provider
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef M_MPENINPUTDATAPROVIDER_H
       
    20 #define M_MPENINPUTDATAPROVIDER_H
       
    21 
       
    22 // System includes
       
    23 #include <e32base.h>
       
    24 
       
    25 /**
       
    26  * Pen input data type
       
    27 */
       
    28 enum TPeninputDataType
       
    29     {
       
    30     EPeninputDataTypeCase                 = 0x00000001,
       
    31     EPeninputDataTypeInputLanguage        = 0x00000002,
       
    32     EPeninputDataTypePermittedRange       = 0x00000004,
       
    33     EPeninputDataTypeCurrentRange         = 0x00000008,
       
    34     EPeninputDataTypeClientLayout         = 0x00000010,
       
    35     EPeninputDataTypeVkbLayout            = 0x00000020,
       
    36     EPeninputDataTypeNumericKeymap        = 0x00000040,
       
    37     EPeninputDataTypeShiftDown            = 0x00000080,
       
    38     EPeninputDataTypeCapslockDown         = 0x00000100,
       
    39     EPeninputDataTypeCurrentAccent        = 0x00000200,
       
    40     EPeninputDataTypeScreenMode           = 0x00000400,
       
    41     EPeninputDataTypeScreenSize           = 0x00000800,
       
    42     EPeninputDataTypeWindowPosition       = 0x00001000,
       
    43     EPeninputDataTypePositionSettingId    = 0x00002000,
       
    44     EPeninputDataTypeUnitWidth            = 0x00004000,
       
    45     EPeninputDataTypeUnitHeight           = 0x00008000,
       
    46     EPeninputDataTypeDataQueryDlgRect     = 0x00010000,
       
    47     EPeninputDataTypePenTailColor 		  = 0x00020000,
       
    48     EPeninputDataTypeReserve_1            = 0x00040000,
       
    49     EPeninputDataTypePermittedCase        = 0x00080000,
       
    50     EAknFepDataTypeUseDefinedResource     = 0x00100000,
       
    51     EAkninputDataTypeGuideLineTop         = 0x00200000,
       
    52     EAkninputDataTypeGuideLineBottom      = 0x00400000,
       
    53     EAkninputDataTypeSizeChanging         = 0x00800000,
       
    54     EAkninputDataTypeUnitSizeSet          = 0x01000000,
       
    55     EAkninputDataTypeLatchedSet       = 0x02000000,
       
    56     EAkninputDataTypeInputArea            = 0x04000000,
       
    57     EAkninputDataTypeAllowCaseChange      = 0x08000000
       
    58     };
       
    59 
       
    60 /**
       
    61  *  Data provider interface
       
    62  *
       
    63  *  @lib peninputcommonlayout.lib
       
    64  *  @since S60 v3.2
       
    65  */
       
    66 class MPeninputDataProvider
       
    67     {
       
    68 
       
    69 public:
       
    70 
       
    71     /**
       
    72      * Request data from data provider
       
    73      *
       
    74      * @since S60 v3.2
       
    75      * @param aDataType The data request 
       
    76      * @return The data you request
       
    77      */
       
    78     virtual TAny* RequestData( TPeninputDataType aDataType ) = 0;
       
    79 
       
    80     /**
       
    81      * Set data according to the data type
       
    82      *
       
    83      * @since S60 v3.2
       
    84      * @param aDataType The data type need to set
       
    85      * @param aData The new data
       
    86      * @return None
       
    87      */
       
    88     virtual void SetData( TPeninputDataType aDataType, 
       
    89                                    TAny* aData ) = 0;
       
    90 
       
    91     /**
       
    92      * Reset some data in data manager
       
    93      *
       
    94      * @since S60 v3.2
       
    95      * @return None
       
    96      */
       
    97     virtual void Reset() = 0;
       
    98 
       
    99     /**
       
   100      * Save key into CenRep(AknFep)
       
   101      *
       
   102      * @since S60 v3.2
       
   103      * @param aKey The key name
       
   104      * @param aValue The new value
       
   105      * @return None
       
   106      */
       
   107     virtual void SaveKey( TInt aKey, TInt aValue ) = 0;
       
   108 
       
   109     };
       
   110 
       
   111 #endif  //M_MPENINPUTDATAPROVIDER_H