#define EXTAPI __attribute__ ((visibility("default")))
#endif
+#define DEFAULT_EFFECT_HANDLE 0xFFFF
#define DEFAULT_MOTOR_COUNT 1
-#define DEFAULT_DEVICE_HANDLE 0x01
-#define DEFAULT_EFFECT_HANDLE 0x02
-#define HAPTIC_FEEDBACK_AUTO 101
#define HAPTIC_PLAY_FILE_EXT ".tht"
/* START of Static Function Section */
status = fwrite(vibe_buferf, 1, size, pf);
if (status != size) {
MODULE_ERROR("To write file is failed");
+ fclose(pf);
return HAPTIC_MODULE_OPERATION_FAILED;
}
fd = fileno(pf);
if (fd == -1) {
MODULE_ERROR("To get file descriptor is failed");
+ fclose(pf);
return HAPTIC_MODULE_OPERATION_FAILED;
}
status = fsync(fd);
if (status == -1) {
MODULE_ERROR("To be synchronized with the disk is failed");
+ fclose(pf);
return HAPTIC_MODULE_OPERATION_FAILED;
}
static void *_create_handle(void)
{
- return ((getpid()<<16)|time(NULL));
+ static int i = 0;
+ return ((getpid()<<16)|(time(NULL)+(i++)));
}
/* END of Static Function Section */
-
static int _get_device_count(int *count)
{
if (count == NULL)
status = __vibrate(device_handle, vibe_buffer, iteration, feedback, priority);
free(vibe_buffer);
+ *effect_handle = DEFAULT_EFFECT_HANDLE;
return status;
}
static int _vibrate_buffer(int device_handle, const unsigned char *vibe_buffer, int iteration, int feedback, int priority, int *effect_handle)
{
+ int status;
+
if (device_handle < 0)
return HAPTIC_MODULE_INVALID_ARGUMENT;
if (feedback == HAPTIC_MODULE_FEEDBACK_MIN)
return HAPTIC_MODULE_ERROR_NONE;
- return __vibrate(device_handle, vibe_buffer, iteration, feedback, priority);
+ status = __vibrate(device_handle, vibe_buffer, iteration, feedback, priority);
+
+ *effect_handle = DEFAULT_EFFECT_HANDLE;
+ return status;
}
static int _stop_effect(int device_handle, int effect_handle)
static int _get_effect_state(int device_handle, int effect_handle, int *state)
{
+ int status;
+ int cur_state;
+
if (device_handle < 0)
return HAPTIC_MODULE_INVALID_ARGUMENT;
if (state == NULL)
return HAPTIC_MODULE_INVALID_ARGUMENT;
- MODULE_ERROR("This device is not supported this function(%s)", __func__);
- return HAPTIC_MODULE_NOT_SUPPORTED;
+ status = GetState(device_handle, &cur_state);
+ if (status < 0) {
+ MODULE_ERROR("GetState fail : %d", status);
+ return HAPTIC_MODULE_OPERATION_FAILED;
+ }
+
+ *state = cur_state;
+ return HAPTIC_MODULE_ERROR_NONE;
}
static int _create_effect(unsigned char *vibe_buffer, int max_bufsize, haptic_module_effect_element *elem_arr, int max_elemcnt)