tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/src/tactilehapticsplayer.cpp
branchRCL_3
changeset 37 09b094b73eb8
parent 36 39d4c97df8cb
equal deleted inserted replaced
36:39d4c97df8cb 37:09b094b73eb8
    44 // Pulse feedback's names
    44 // Pulse feedback's names
    45 _LIT8( KTFBasic,                "TFBasic");
    45 _LIT8( KTFBasic,                "TFBasic");
    46 _LIT8( KTFSensitive,            "TFSensitive");
    46 _LIT8( KTFSensitive,            "TFSensitive");
    47 _LIT8( KTFBasicButton,          "TFBasicButton");
    47 _LIT8( KTFBasicButton,          "TFBasicButton");
    48 _LIT8( KTFSensitiveButton,      "TFSensitiveButton");
    48 _LIT8( KTFSensitiveButton,      "TFSensitiveButton");
    49 _LIT8( KTFBasicItem,            "TFBasicItem");             // Mapped to IVT file version 9.2
    49 _LIT8( KTFList,                 "TFList");
    50 _LIT8( KTFSensitiveItem,        "TFSensitiveItem");         // Mapped to IVT file version 9.2
    50 _LIT8( KTFSensitiveList,        "TFSensitiveList");
    51 _LIT8( KTFBounceEffect,         "TFBounceEffect");          // Mapped to IVT file version 9.2
    51 _LIT8( KTFBoundaryList,         "TFBoundaryList");
    52 _LIT8( KTFBasicSlider,          "TFBasicSlider");           // Mapped to IVT file version 9.2
    52 _LIT8( KTFSlider,               "TFSlider");
    53 _LIT8( KTFEditor,               "TFEditor");                // Mapped to IVT file version 9.2
    53 _LIT8( KTFEdit,                 "TFEdit");
    54 _LIT8( KTFLineSelection,        "TFLineSelection");
    54 _LIT8( KTFLineSelection,        "TFLineSelection");
    55 _LIT8( KTFBlankSelection,       "TFBlankSelection");
    55 _LIT8( KTFBlankSelection,       "TFBlankSelection");
    56 _LIT8( KTFTextSelection,        "TFTextSelection");
    56 _LIT8( KTFTextSelection,        "TFTextSelection");
    57 _LIT8( KTFEmptyLineSelection,   "TFEmptyLineSelection");
    57 _LIT8( KTFEmptyLineSelection,   "TFEmptyLineSelection");
       
    58 _LIT8( KTFTab,                  "TFTab");
    58 _LIT8( KTFPopUp,                "TFPopUp");
    59 _LIT8( KTFPopUp,                "TFPopUp");
    59 _LIT8( KTFPopupOpen,            "TFPopupOpen");             // Mapped to IVT file version 9.2
    60 _LIT8( KTFIncreasingPopUp,      "TFIncreasingPopUp");
    60 _LIT8( KTFPopupClose,           "TFPopupClose");            // Mapped to IVT file version 9.2
    61 _LIT8( KTFDecreasingPopUp,      "TFDecreasingPopUp");
    61 _LIT8( KTFItemScroll,           "TFItemScroll");            // Mapped to IVT file version 9.2
    62 _LIT8( KTFFlick,                "TFFlick");
    62 _LIT8( KTFCheckbox,             "TFCheckbox");
    63 _LIT8( KTFCheckbox,             "TFCheckbox");
    63 _LIT8( KTFBasicKeypad,          "TFBasicKeypad");           // Mapped to IVT file version 10.1
    64 _LIT8( KTFSensitiveInput,       "TFSensitiveInput");
    64 _LIT8( KTFSensitiveKeypad,      "TFSensitiveKeypad");       // Mapped to IVT file version 9.2
    65 _LIT8( KTFCharacterInputButton, "TFCharacterInputButton");
    65 _LIT8( KTFMultitouchActivate,   "TFMultitouchActivate");    // Mapped to IVT file version 9.2
    66 _LIT8( KTFOptionsMenuOpened,    "TFOptionsMenuOpened");
    66 _LIT8( KTFFlick,                "TFFlick");                 // Mapped to IVT file version 10.1
    67 _LIT8( KTFOptionsMenuClosed,    "TFOptionsMenuClosed");
    67 _LIT8( KTFItemDrop,             "TFItemDrop");              // Mapped to IVT file version 10.1
    68 _LIT8( KTFSubMenuOpened,        "TFSubMenuOpened");
    68 _LIT8( KTFItemMoveOver,         "TFItemMoveOver");          // Mapped to IVT file version 10.1
    69 _LIT8( KTFSubMenuClosed,        "TFSubMenuClosed");
    69 _LIT8( KTFItemPick,             "TFItemPick");              // Mapped to IVT file version 10.1
    70 _LIT8( KTFLongTap,              "TFLongTap");
    70 _LIT8( KTFMultipleCheckbox,     "TFMultipleCheckbox");      // Mapped to IVT file version 10.1
    71 _LIT8( KTFMultiTouchRecognized, "TFMultiTouchRecognized");
    71 _LIT8( KTFRotateStep,           "TFRotateStep");            // Mapped to IVT file version 10.1
       
    72 _LIT8( KTFSensitiveSlider,      "TFSensitiveSlider");       // Mapped to IVT file version 10.1
       
    73 _LIT8( KTFStopFlick,            "TFStopFlick");             // Mapped to IVT file version 10.1
       
    74 _LIT8( KTFLongPress,              "TFLongPress");               // Mapped to IVT file version 10.1
       
    75 
    72 
    76 // Continuous feedback's names
    73 // Continuous feedback's names
    77 _LIT8( KTFContinuousSmooth,     "TFContinuousSmooth");
    74 _LIT8( KTFContinuousSmooth,     "TFContinuousSmooth");
    78 _LIT8( KTFContinuousSlider,     "TFContinuousSlider");
    75 _LIT8( KTFContinuousSlider,     "TFContinuousSlider");
    79 _LIT8( KTFContinuousInput,      "TFContinuousInput");
    76 _LIT8( KTFContinuousInput,      "TFContinuousInput");
    80 _LIT8( KTFContinuousPopup,      "TFContinuousPopup");       // Mapped to IVT file version 10.1
    77 _LIT8( KTFContinuousFlick,      "TFContinuousFlick");
    81 _LIT8( KTFContinuousPinch,      "TFContinuousPinch");       // Mapped to IVT file version 10.1
    78 _LIT8( KTFDynamicSlider,        "TFDynamicSlider");
    82 // ---------------------------------------------------------------------------
    79 // ---------------------------------------------------------------------------
    83 // Constructor.
    80 // Constructor.
    84 // ---------------------------------------------------------------------------
    81 // ---------------------------------------------------------------------------
    85 //
    82 //
    86 CTactileHapticsPlayer::CTactileHapticsPlayer( CRepository& aRepository ) :
    83 CTactileHapticsPlayer::CTactileHapticsPlayer( CRepository& aRepository ) :
   122 
   119 
   123     // As a temporary fix to EAKH-7LKANT, the strength is (over)read from
   120     // As a temporary fix to EAKH-7LKANT, the strength is (over)read from
   124     // profiles engine
   121     // profiles engine
   125     InitializeProfilesEngineL();
   122     InitializeProfilesEngineL();
   126     
   123     
   127     if ( iVibraLevel > EProfileTactileFeedbackLevel5 )
   124     if ( iVibraLevel > EProfileTactileFeedbackLevel3 )
   128         {
   125         {
   129         User::Leave( KErrGeneral );
   126         User::Leave( KErrGeneral );
   130         }
   127         }
   131 
   128 
   132     User::LeaveIfError( iHaptics->SetDeviceProperty( 
   129     User::LeaveIfError( iHaptics->SetDeviceProperty( 
   233             name = KTFBasicButton;
   230             name = KTFBasicButton;
   234             break;
   231             break;
   235         case ETouchFeedbackSensitiveButton:
   232         case ETouchFeedbackSensitiveButton:
   236             name = KTFSensitiveButton;
   233             name = KTFSensitiveButton;
   237             break;
   234             break;
   238         case ETouchFeedbackBasicItem:
   235         case ETouchFeedbackList:
   239             name = KTFBasicItem;
   236             name = KTFList;
   240             break;
   237             break;
   241         case ETouchFeedbackSensitiveItem:
   238         case ETouchFeedbackSensitiveList:
   242             name = KTFSensitiveItem;
   239             name = KTFSensitiveList;
   243             break;
   240             break;
   244         case ETouchFeedbackBasicSlider:
   241         case ETouchFeedbackBoundaryList:
   245             name = KTFBasicSlider;
   242             name = KTFBoundaryList;
   246             break;
   243             break;
   247         case ETouchFeedbackSensitiveSlider:
   244         case ETouchFeedbackSlider:
   248             name = KTFSensitiveSlider;
   245             name = KTFSlider;
   249             break;
   246             break;
   250         case ETouchFeedbackBounceEffect:
   247         case ETouchFeedbackEdit:
   251             name = KTFBounceEffect;
   248             name = KTFEdit;
   252             break;
       
   253         case ETouchFeedbackEditor:
       
   254             name = KTFEditor;
       
   255             break;
   249             break;
   256         case ETouchFeedbackLineSelection:
   250         case ETouchFeedbackLineSelection:
   257             name = KTFLineSelection;
   251             name = KTFLineSelection;
   258             break;
   252             break;
   259         case ETouchFeedbackBlankSelection:
   253         case ETouchFeedbackBlankSelection:
   263             name = KTFTextSelection;
   257             name = KTFTextSelection;
   264             break;
   258             break;
   265         case ETouchFeedbackEmptyLineSelection:
   259         case ETouchFeedbackEmptyLineSelection:
   266             name = KTFEmptyLineSelection;
   260             name = KTFEmptyLineSelection;
   267             break;                        
   261             break;                        
       
   262         case ETouchFeedbackTab:
       
   263             name = KTFTab;
       
   264             break;
   268         case ETouchFeedbackPopUp:  
   265         case ETouchFeedbackPopUp:  
   269             name = KTFPopUp;
   266             name = KTFPopUp;
   270             break; 
   267             break; 
   271        case ETouchFeedbackPopupOpen:
   268        case ETouchFeedbackIncreasingPopUp:
   272             name = KTFPopupOpen;
   269             name = KTFIncreasingPopUp;
   273             break;     
   270             break;     
   274         case ETouchFeedbackPopupClose:
   271         case ETouchFeedbackDecreasingPopUp:
   275             name = KTFPopupClose;
   272             name = KTFDecreasingPopUp;
   276             break;
   273             break;
   277         case ETouchFeedbackItemScroll:
   274         case ETouchFeedbackFlick:
   278             name = KTFItemScroll;
   275             name = KTFFlick;
   279             break;
   276             break;
   280         case ETouchFeedbackCheckbox:
   277         case ETouchFeedbackCheckbox:
   281             name = KTFCheckbox;
   278             name = KTFCheckbox;
   282             break;
   279             break;
   283         case ETouchFeedbackBasicKeypad:
   280         case ETouchFeedbackSensitiveInput:
   284             name = KTFBasicKeypad;
   281             name = KTFSensitiveInput;
   285             break;
   282             break;
   286         case ETouchFeedbackSensitiveKeypad:
   283         case ETouchFeedbackCharacterInputButton:
   287             name = KTFSensitiveKeypad;
   284             name = KTFCharacterInputButton;
   288             break;
   285             break;
   289         case ETouchFeedbackMultitouchActivate:
   286         case ETouchFeedbackOptionsMenuOpened:
   290             name = KTFMultitouchActivate;
   287             name = KTFOptionsMenuOpened;
   291             break;
   288             break;
   292         case ETouchFeedbackFlick:
   289         case ETouchFeedbackOptionsMenuClosed:
   293             name = KTFFlick;
   290             name = KTFOptionsMenuClosed;
   294             break;
   291             break;
   295         case ETouchFeedbackItemDrop:
   292         case ETouchFeedbackSubMenuOpened:
   296             name = KTFItemDrop;
   293             name = KTFSubMenuOpened;
   297             break;
   294             break;
   298         case ETouchFeedbackItemMoveOver:
   295         case ETouchFeedbackSubMenuClosed:
   299             name = KTFItemMoveOver;
   296             name = KTFSubMenuClosed;
   300             break;
   297             break;
   301         case ETouchFeedbackItemPick:
   298         case ETouchFeedbackLongTap:
   302             name = KTFItemPick;
   299             name = KTFLongTap;
   303             break;
   300             break;
   304         case ETouchFeedbackMultipleCheckbox:
   301         case ETouchFeedbackMultiTouchRecognized:
   305             name = KTFMultipleCheckbox;
   302             name = KTFMultiTouchRecognized;
   306             break;
       
   307         case ETouchFeedbackRotateStep:
       
   308             name = KTFRotateStep;
       
   309             break;
       
   310         case ETouchFeedbackStopFlick:
       
   311             name = KTFStopFlick;
       
   312             break;
       
   313         case ETouchFeedbackLongPress:
       
   314             name = KTFLongPress;
       
   315             break;
   303             break;
   316         default:
   304         default:
   317             User::Leave( KErrArgument );
   305             User::Leave( KErrArgument );
   318             break;
   306             break;
   319         }
   307         }
   345             fileId = KTactileHapticsLevel2IVTFile;
   333             fileId = KTactileHapticsLevel2IVTFile;
   346             break;
   334             break;
   347         case EProfileTactileFeedbackLevel3:
   335         case EProfileTactileFeedbackLevel3:
   348             fileId = KTactileHapticsLevel3IVTFile;
   336             fileId = KTactileHapticsLevel3IVTFile;
   349             break;
   337             break;
   350         case EProfileTactileFeedbackLevel4:
       
   351             fileId = KTactileHapticsLevel4IVTFile;
       
   352             break;
       
   353         case EProfileTactileFeedbackLevel5:
       
   354             fileId = KTactileHapticsLevel5IVTFile;
       
   355             break;
       
   356         }
   338         }
   357     return fileId;
   339     return fileId;
   358     }
   340     }
   359 
   341 
   360 // ---------------------------------------------------------------------------
   342 // ---------------------------------------------------------------------------
   414             name = KTFContinuousSlider;
   396             name = KTFContinuousSlider;
   415             break;               
   397             break;               
   416         case ETouchContinuousInput:
   398         case ETouchContinuousInput:
   417             name = KTFContinuousInput;
   399             name = KTFContinuousInput;
   418             break;
   400             break;
   419         case ETouchContinuousPopup:
   401         case ETouchContinuousFlick:
   420             name = KTFContinuousPopup;
   402             name = KTFContinuousFlick;
   421             break;
       
   422         case ETouchContinuousPinch:
       
   423             name = KTFContinuousPinch;
       
   424             break;    
   403             break;    
       
   404         case ETouchDynamicSlider:
       
   405             name = KTFDynamicSlider;
       
   406             break;
   425         default:
   407         default:
   426             ret = KErrArgument;
   408             ret = KErrArgument;
   427             break;
   409             break;
   428         }
   410         }
   429 
   411 
   597             }
   579             }
   598             break;
   580             break;
   599         case KTactileHapticsLevel1IVTFile:
   581         case KTactileHapticsLevel1IVTFile:
   600         case KTactileHapticsLevel2IVTFile:
   582         case KTactileHapticsLevel2IVTFile:
   601         case KTactileHapticsLevel3IVTFile:
   583         case KTactileHapticsLevel3IVTFile:
   602         case KTactileHapticsLevel4IVTFile:
       
   603         case KTactileHapticsLevel5IVTFile:
       
   604             {
   584             {
   605             TFileName ivtFile;
   585             TFileName ivtFile;
   606             iRepository.Get( aId, ivtFile );
   586             iRepository.Get( aId, ivtFile );
   607             
   587             
   608             HBufC8* ivtBuf = IVTBufAllocL( ivtFile );
   588             HBufC8* ivtBuf = IVTBufAllocL( ivtFile );