From 6a723e318a0b3e25b9a3241ebf39f0a48e1d406b Mon Sep 17 00:00:00 2001 From: Heeyong Song Date: Mon, 8 May 2017 12:30:13 +0900 Subject: [PATCH] Revert "[Tizen] feedback-plugin enabled for Unified profile" This reverts commit 63c124f4507c9137e12ee8c0c6897e031638bd2e. Change-Id: I6d36718108a01d0fa91bc0fde5ebdd12e3bedf44 --- build/tizen/plugins/Makefile.am | 25 ++++- build/tizen/plugins/configure.ac | 10 +- packaging/dali-adaptor.spec | 237 ++++++++++++++++++++++++++++++++++++++- plugins/dali-feedback.cpp | 61 ++++++++++ plugins/dali-feedback.h | 12 ++ 5 files changed, 336 insertions(+), 9 deletions(-) diff --git a/build/tizen/plugins/Makefile.am b/build/tizen/plugins/Makefile.am index 5944acd..2fb8f35 100644 --- a/build/tizen/plugins/Makefile.am +++ b/build/tizen/plugins/Makefile.am @@ -56,7 +56,6 @@ libdali_feedback_plugin_la_CXXFLAGS = -DDALI_COMPILATION \ -I../../../adaptors/public-api \ -I../../../adaptors/integration-api \ -I../../../adaptors/public-api/adaptor-framework \ - -I../../../adaptors/devel-api/adaptor-framework \ -Werror -Wall libdali_feedback_plugin_la_LIBADD = \ @@ -66,6 +65,30 @@ libdali_feedback_plugin_la_LIBADD = \ libdali_feedback_plugin_la_LDFLAGS = \ -rdynamic +if MOBILE_PROFILE +libdali_feedback_plugin_la_CXXFLAGS += \ + $(DEVICED_CFLAGS) + +libdali_feedback_plugin_la_LIBADD += \ + $(DEVICED_LIBS) +endif + +if TV_PROFILE +libdali_feedback_plugin_la_CXXFLAGS += \ + $(HAPTIC_CFLAGS) + +libdali_feedback_plugin_la_LIBADD += \ + $(HAPTIC_LIBS) +endif + +if COMMON_PROFILE +libdali_feedback_plugin_la_CXXFLAGS += \ + $(HAPTIC_CFLAGS) + +libdali_feedback_plugin_la_LIBADD += \ + $(HAPTIC_LIBS) +endif + libdali_feedback_plugin_la_LIBADD += \ $(FEEDBACK_LIBS) diff --git a/build/tizen/plugins/configure.ac b/build/tizen/plugins/configure.ac index 3bd8eb9..b8088b2 100644 --- a/build/tizen/plugins/configure.ac +++ b/build/tizen/plugins/configure.ac @@ -35,12 +35,18 @@ fi # enable_videoplayer fi # enable_wayland if test "x$enable_feedback" = "xyes"; then -if test "x$enable_profile" != "xUBUNTU"; then + +if test "x$enable_profile" = "xCOMMON" || test "x$enable_profile" = "xTV"; then +PKG_CHECK_MODULES(HAPTIC, haptic) +fi + +if test "x$enable_profile" = "xMOBILE"; then +PKG_CHECK_MODULES(DEVICED, deviced) +fi PKG_CHECK_MODULES(FEEDBACK, feedback) PKG_CHECK_MODULES(MMFSOUND, mm-sound) -fi # check UNBUNTU fi # enable_feedback AC_CONFIG_FILES(Makefile) diff --git a/packaging/dali-adaptor.spec b/packaging/dali-adaptor.spec index ccc5224..dd135dd 100644 --- a/packaging/dali-adaptor.spec +++ b/packaging/dali-adaptor.spec @@ -118,7 +118,8 @@ BuildRequires: pkgconfig(capi-system-system-settings) # for feedback plugin BuildRequires: pkgconfig(mm-sound) -BuildRequires: pkgconfig(feedback) +BuildRequires: pkgconfig(deviced) +BuildRequires: libfeedback-devel # for videoplayer Plugin BuildRequires: pkgconfig(capi-media-player) @@ -140,6 +141,7 @@ platform abstraction and application shell # if mobile || "undefined" %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common" %package profile_mobile +%define dali_feedback_plugin_mobile 0 Summary: The DALi Tizen Adaptor for mobile Provides: %{name}-compat = %{version}-%{release} Conflicts: %{name}-profile_tv @@ -154,6 +156,7 @@ The DALi Tizen Adaptor for mobile. # if tv ||"undefined" %if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile" %package profile_tv +%define dali_feedback_plugin_tv 0 Summary: The DALi Tizen Adaptor for tv Provides: %{name}-compat = %{version}-%{release} Conflicts: %{name}-profile_mobile @@ -168,6 +171,7 @@ The DALi Tizen Adaptor for tv. # if wearable || "undefined" %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common" %package profile_wearable +%define dali_feedback_plugin_wearable 0 Summary: The DALi Tizen Adaptor for wearable Provides: %{name}-compat = %{version}-%{release} Conflicts: %{name}-profile_mobile @@ -182,6 +186,7 @@ The DALi Tizen Adaptor for wearable. # if ivi ||"undefined" %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile" %package profile_ivi +%define dali_feedback_plugin_ivi 0 Summary: The DALi Tizen Adaptor for ivi Provides: %{name}-compat = %{version}-%{release} Conflicts: %{name}-profile_mobile @@ -197,6 +202,7 @@ The DALi Tizen Adaptor for ivi. %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile" # Currently Tizen Common we use does not have wayland extensions like xdg-shell %package profile_common +%define dali_feedback_plugin_common 0 %define tizen_2_2_compatibility 0 Summary: The DALi Tizen Adaptor for common Provides: %{name}-compat = %{version}-%{release} @@ -239,9 +245,96 @@ Integration development package for the Adaptor - headers for integrating with a Summary: Plugin to play haptic and audio feedback for Dali Group: System/Libraries Requires: %{name} = %{version}-%{release} +Requires: %{name}-dali-feedback-plugin-compat = %{version}-%{release} +Recommends: %{name}-dali-feedback-plugin-profile_common = %{version}-%{release} %description dali-feedback-plugin eedback plugin to play haptic and audio feedback for Dali +# This is for backward-compatibility. This does not deteriorate 4.0 Configurability +# if mobile || "undefined" +%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common" +%package dali-feedback-plugin-profile_mobile +Summary: Plugin to play haptic and audio feedback for Dali profile mobile. +Group: System/Libraries +%if 0%{?dali_feedback_plugin_mobile} +Provides: %{name}-dali-feedback-plugin-compat = %{version}-%{release} +Conflicts: %{name}-dali-feedback-plugin-profile_ivi +Conflicts: %{name}-dali-feedback-plugin-profile_wearable +Conflicts: %{name}-dali-feedback-plugin-profile_tv +Conflicts: %{name}-dali-feedback-plugin-profile_common +%endif +%description dali-feedback-plugin-profile_mobile +Feedback plugin to play haptic and audio feedback for Dali profile mobile. +%endif + +# This is for backward-compatibility. This does not deteriorate 4.0 Configurability +# if tv ||"undefined" +%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile" +%package dali-feedback-plugin-profile_tv +Summary: Plugin to play haptic and audio feedback for Dali profile tv. +Group: System/Libraries +%if 0%{?dali_feedback_plugin_tv} +Provides: %{name}-dali-feedback-plugin-compat = %{version}-%{release} +Conflicts: %{name}-dali-feedback-plugin-profile_ivi +Conflicts: %{name}-dali-feedback-plugin-profile_wearable +Conflicts: %{name}-dali-feedback-plugin-profile_mobile +Conflicts: %{name}-dali-feedback-plugin-profile_common +%endif +%description dali-feedback-plugin-profile_tv +Feedback plugin to play haptic and audio feedback for Dali profile tv. +%endif + +# This is for backward-compatibility. This does not deteriorate 4.0 Configurability +# if wearable || "undefined" +%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common" +%package dali-feedback-plugin-profile_wearable +Summary: Plugin to play haptic and audio feedback for Dali profile wearable. +Group: System/Libraries +%if 0%{?dali_feedback_plugin_wearable} +Provides: %{name}-dali-feedback-plugin-compat = %{version}-%{release} +Conflicts: %{name}-dali-feedback-plugin-profile_ivi +Conflicts: %{name}-dali-feedback-plugin-profile_tv +Conflicts: %{name}-dali-feedback-plugin-profile_mobile +Conflicts: %{name}-dali-feedback-plugin-profile_common +%endif +%description dali-feedback-plugin-profile_wearable +Feedback plugin to play haptic and audio feedback for Dali profile wearable. +%endif + +# This is for backward-compatibility. This does not deteriorate 4.0 Configurability +# if ivi ||"undefined" +%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile" +%package dali-feedback-plugin-profile_ivi +Summary: Plugin to play haptic and audio feedback for Dali profile ivi. +Group: System/Libraries +%if 0%{?dali_feedback_plugin_ivi} +Provides: %{name}-dali-feedback-plugin-compat = %{version}-%{release} +Conflicts: %{name}-dali-feedback-plugin-profile_wearable +Conflicts: %{name}-dali-feedback-plugin-profile_tv +Conflicts: %{name}-dali-feedback-plugin-profile_mobile +Conflicts: %{name}-dali-feedback-plugin-profile_common +%endif +%description dali-feedback-plugin-profile_ivi +Feedback plugin to play haptic and audio feedback for Dali profile ivi. +%endif + +# This is for backward-compatibility. This does not deteriorate 4.0 Configurability +# if common ||"undefined" +%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile" +%package dali-feedback-plugin-profile_common +Summary: Plugin to play haptic and audio feedback for Dali profile common. +Group: System/Libraries +%if 0%{?dali_feedback_plugin_common} +Provides: %{name}-dali-feedback-plugin-compat = %{version}-%{release} +Conflicts: %{name}-dali-feedback-plugin-profile_wearable +Conflicts: %{name}-dali-feedback-plugin-profile_tv +Conflicts: %{name}-dali-feedback-plugin-profile_mobile +Conflicts: %{name}-dali-feedback-plugin-profile_ivi +%endif +%description dali-feedback-plugin-profile_common +Feedback plugin to play haptic and audio feedback for Dali profile common. +%endif + ############################## # Dali VideoPlayer Plugin ############################## @@ -279,7 +372,7 @@ VideoPlayer plugin to play a video file for Dali %endif %define user_shader_cache_dir %{dali_data_ro_dir}/core/shaderbin/ -%define dali_plugin_sound_files /plugins/sounds/ +%define dali_plugin_sound_files %{dali_data_ro_dir}/plugins/sounds/ %define dev_include_path %{_includedir} ############################## @@ -333,11 +426,13 @@ TIZEN_PLATFORM_CONFIG_SUPPORTED="%{tizen_platform_config_supported}" ; export TI %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common" %configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \ --enable-shaderbincache=DISABLE --enable-profile=MOBILE \ +%if 0%{?dali_feedback_plugin_mobile} --enable-feedback \ - --enable-videoplayer \ +%endif %if 0%{?tizen_2_2_compatibility} --with-tizen-2-2-compatibility \ %endif + --enable-videoplayer \ %if %{with wayland} --enable-efl=no \ %else @@ -359,6 +454,9 @@ popd pushd %{buildroot}%{_libdir} for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.mobile"; done +%if 0%{?dali_feedback_plugin_mobile} +for FILE in libdali-feedback-plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.mobile"; done +%endif popd %endif @@ -369,11 +467,13 @@ popd %if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile" %configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \ --enable-shaderbincache=DISABLE --enable-profile=TV \ +%if 0%{?dali_feedback_plugin_tv} --enable-feedback \ - --enable-videoplayer \ +%endif %if 0%{?tizen_2_2_compatibility} --with-tizen-2-2-compatibility \ %endif + --enable-videoplayer \ %if %{with wayland} --enable-efl=no \ %else @@ -395,6 +495,9 @@ popd pushd %{buildroot}%{_libdir} for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.tv"; done +%if 0%{?dali_feedback_plugin_tv} +for FILE in libdali-feedback-plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.tv"; done +%endif popd %endif @@ -405,7 +508,9 @@ popd %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common" %configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \ --enable-shaderbincache=DISABLE --enable-profile=WEARABLE \ +%if 0%{?dali_feedback_plugin_wearable} --enable-feedback \ +%endif --enable-videoplayer \ %if 0%{?tizen_2_2_compatibility} --with-tizen-2-2-compatibility \ @@ -431,6 +536,9 @@ popd pushd %{buildroot}%{_libdir} for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.wearable"; done +%if 0%{?dali_feedback_plugin_wearable} +for FILE in libdali-feedback-plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.wearable"; done +%endif popd %endif @@ -441,11 +549,13 @@ popd %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile" %configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \ --enable-shaderbincache=DISABLE --enable-profile=IVI \ +%if 0%{?dali_feedback_plugin_ivi} --enable-feedback \ - --enable-videoplayer \ +%endif %if 0%{?tizen_2_2_compatibility} --with-tizen-2-2-compatibility \ %endif + --enable-videoplayer \ %if %{with wayland} --enable-efl=no \ %else @@ -467,6 +577,9 @@ popd pushd %{buildroot}%{_libdir} for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.ivi"; done +%if 0%{?dali_feedback_plugin_ivi} +for FILE in libdali-feedback-plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.ivi"; done +%endif popd %endif @@ -478,7 +591,9 @@ popd %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile" %configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \ --enable-shaderbincache=DISABLE --enable-profile=COMMON \ +%if 0%{?dali_feedback_plugin_common} --enable-feedback \ +%endif --enable-videoplayer \ %if 0%{?tizen_2_2_compatibility} --with-tizen-2-2-compatibility \ @@ -513,6 +628,7 @@ pushd %{_builddir}/%{name}-%{version}/build/tizen # !unified && (wearable || tv || ivi || mobile) %if "%{?profile}" == "wearable" || "%{?profile}" == "tv" || "%{?profile}" == "ivi" || "%{?profile}" == "mobile" rm -rf %{buildroot}%{_libdir}/libdali-adap*.so* +rm -rf %{buildroot}%{_libdir}/libdali-feedback-plugin.so* %endif # This is for backward-compatibility. This does not deteriorate 4.0 Configurability @@ -579,6 +695,21 @@ exit 0 %postun profile_mobile /sbin/ldconfig exit 0 + +%if 0%{?dali_feedback_plugin_mobile} +%post dali-feedback-plugin-profile_mobile +pushd %{_libdir} +for FILE in libdali-feedback-plugin.so*.mobile; do ln -sf "$FILE" "${FILE%.mobile}"; done +popd +/sbin/ldconfig +exit 0 +%endif + +%if 0%{?dali_feedback_plugin_mobile} +%postun dali-feedback-plugin-profile_mobile +/sbin/ldconfig +exit 0 +%endif %endif ############################## @@ -596,6 +727,21 @@ exit 0 %postun profile_tv /sbin/ldconfig exit 0 + +%if 0%{?dali_feedback_plugin_tv} +%post dali-feedback-plugin-profile_tv +pushd %{_libdir} +for FILE in libdali-feedback-plugin.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done +popd +/sbin/ldconfig +exit 0 +%endif + +%if 0%{?dali_feedback_plugin_tv} +%postun dali-feedback-plugin-profile_tv +/sbin/ldconfig +exit 0 +%endif %endif ############################## @@ -613,6 +759,21 @@ exit 0 %postun profile_wearable /sbin/ldconfig exit 0 + +%if 0%{?dali_feedback_plugin_wearable} +%post dali-feedback-plugin-profile_wearable +pushd %{_libdir} +for FILE in libdali-feedback-plugin.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done +popd +/sbin/ldconfig +exit 0 +%endif + +%if 0%{?dali_feedback_plugin_wearable} +%postun dali-feedback-plugin-profile_wearable +/sbin/ldconfig +exit 0 +%endif %endif ############################## @@ -630,6 +791,21 @@ exit 0 %postun profile_ivi /sbin/ldconfig exit 0 + +%if 0%{?dali_feedback_plugin_ivi} +%post dali-feedback-plugin-profile_ivi +pushd %{_libdir} +for FILE in libdali-feedback-plugin.so*.ivi; do ln -sf "$FILE" "${FILE%.ivi}"; done +popd +/sbin/ldconfig +exit 0 +%endif + +%if 0%{?dali_feedback_plugin_ivi} +%postun dali-feedback-plugin-profile_ivi +/sbin/ldconfig +exit 0 +%endif %endif @@ -663,16 +839,33 @@ exit 0 %endif %files dali-feedback-plugin +# This is for backward-compatibility. This does not deteriorate 4.0 Configurability +# if common ||"undefined" +%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile" +%if 0%{?dali_feedback_plugin_common} %manifest dali-adaptor.manifest %defattr(-,root,root,-) %{_libdir}/libdali-feedback-plugin.so* -%{dali_plugin_sound_files}/* +%exclude %{_libdir}/libdali-feedback-plugin.so*.mobile +%exclude %{_libdir}/libdali-feedback-plugin.so*.wearable +%exclude %{_libdir}/libdali-feedback-plugin.so*.tv +%exclude %{_libdir}/libdali-feedback-plugin.so*.ivi +%endif +%endif # This is for backward-compatibility. This does not deteriorate 4.0 Configurability # if common ||"undefined" %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile" %files profile_common # default .so files are housed in the main pkg. + +%if 0%{?dali_feedback_plugin_common} +%files dali-feedback-plugin-profile_common +# default .so files are housed in the main pkg. +%manifest dali-adaptor.manifest +%defattr(-,root,root,-) +%{dali_plugin_sound_files}/* +%endif %endif # This is for backward-compatibility. This does not deteriorate 4.0 Configurability @@ -682,6 +875,14 @@ exit 0 %manifest dali-adaptor.manifest %defattr(-,root,root,-) %{_libdir}/libdali-adap*.so*.mobile + +%if 0%{?dali_feedback_plugin_mobile} +%files dali-feedback-plugin-profile_mobile +%manifest dali-adaptor.manifest +%defattr(-,root,root,-) +%{_libdir}/libdali-feedback-plugin.so*.mobile +%{dali_plugin_sound_files}/* +%endif %endif # This is for backward-compatibility. This does not deteriorate 4.0 Configurability @@ -691,6 +892,14 @@ exit 0 %manifest dali-adaptor.manifest %defattr(-,root,root,-) %{_libdir}/libdali-adap*.so*.tv + +%if 0%{?dali_feedback_plugin_tv} +%files dali-feedback-plugin-profile_tv +%manifest dali-adaptor.manifest +%defattr(-,root,root,-) +%{_libdir}/libdali-feedback-plugin.so*.tv +%{dali_plugin_sound_files}/* +%endif %endif # This is for backward-compatibility. This does not deteriorate 4.0 Configurability @@ -700,6 +909,14 @@ exit 0 %manifest dali-adaptor.manifest %defattr(-,root,root,-) %{_libdir}/libdali-adap*.so*.wearable + +%if 0%{?dali_feedback_plugin_wearable} +%files dali-feedback-plugin-profile_wearable +%manifest dali-adaptor.manifest +%defattr(-,root,root,-) +%{_libdir}/libdali-feedback-plugin.so*.wearable +%{dali_plugin_sound_files}/* +%endif %endif # This is for backward-compatibility. This does not deteriorate 4.0 Configurability @@ -709,6 +926,14 @@ exit 0 %manifest dali-adaptor.manifest %defattr(-,root,root,-) %{_libdir}/libdali-adap*.so*.ivi + +%if 0%{?dali_feedback_plugin_ivi} +%files dali-feedback-plugin-profile_ivi +%manifest dali-adaptor.manifest +%defattr(-,root,root,-) +%{_libdir}/libdali-feedback-plugin.so*.ivi +%{dali_plugin_sound_files}/* +%endif %endif diff --git a/plugins/dali-feedback.cpp b/plugins/dali-feedback.cpp index 99fb1be..14ae644 100644 --- a/plugins/dali-feedback.cpp +++ b/plugins/dali-feedback.cpp @@ -47,25 +47,86 @@ namespace Plugin { DaliFeedback::DaliFeedback() +: mHapticInitialized( false ) { feedback_initialize(); + + if( 0 == haptic_open( HAPTIC_DEVICE_0, &mDeviceHandle ) ) + { + mHapticInitialized = true; + } + else + { + DEBUG_PRINTF( "Haptic feedback controller failed to initialize\n" ); + } } DaliFeedback::~DaliFeedback() { + if( mHapticInitialized ) + { + int errorCode = haptic_close( mDeviceHandle ); + if( errorCode < 0 ) + { + DEBUG_PRINTF( "device_haptic_close() failed with error code: %d\n", errorCode ); + } + } + feedback_deinitialize(); } void DaliFeedback::PlayHaptic( const std::string& filePath ) { + if( mHapticInitialized ) + { + if ( filePath.size() == 0 ) + { + DEBUG_PRINTF( "File Path can't be NULL!\n" ); + return; + } + + int errorCode = haptic_vibrate_file_with_detail( mDeviceHandle, filePath.c_str(), HAPTIC_ITERATION_ONCE, HAPTIC_FEEDBACK_AUTO, HAPTIC_PRIORITY_MIN, NULL ); + if( errorCode != 0 ) + { + DEBUG_PRINTF( "PlayHaptic() failed with error code: %d\n", errorCode ); + } + } + else + { + DEBUG_PRINTF( "HapticPlayer is not Initialized\n" ); + } } void DaliFeedback::PlayHapticMonotone( unsigned int duration ) { + if( mHapticInitialized ) + { + int errorCode = haptic_vibrate_monotone_with_detail( mDeviceHandle, duration, HAPTIC_FEEDBACK_AUTO, HAPTIC_PRIORITY_MIN, NULL ); + if( errorCode != 0 ) + { + DEBUG_PRINTF( "PlayHapticMonotone() failed with error code: %d\n", errorCode ); + } + } + else + { + DEBUG_PRINTF( "HapticPlayer is not Initialized\n" ); + } } void DaliFeedback::StopHaptic() { + if( mHapticInitialized ) + { + int errorCode = haptic_stop_all_effects( mDeviceHandle ); + if( errorCode != 0 ) + { + DEBUG_PRINTF( "StopHaptic() failed with error code: %d\n", errorCode ); + } + } + else + { + DEBUG_PRINTF( "HapticPlayer is not Initialized\n" ); + } } int DaliFeedback::PlaySound( const std::string& fileName ) diff --git a/plugins/dali-feedback.h b/plugins/dali-feedback.h index a432c59..c9967ec 100644 --- a/plugins/dali-feedback.h +++ b/plugins/dali-feedback.h @@ -18,6 +18,13 @@ * */ +// EXTERNAL INCLUDES +#if defined(DALI_PROFILE_MOBILE) +#include +#else +#include +#endif + // INTERNAL INCLUDES #include @@ -77,6 +84,11 @@ public: // FeedbackPlugin overrides */ void PlayFeedbackPattern( int type, int pattern ); +private: + + haptic_device_h mDeviceHandle; + + bool mHapticInitialized; }; } // namespace Plugin -- 2.7.4