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