diff options
author | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-16 01:18:11 +0900 |
---|---|---|
committer | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-16 01:18:11 +0900 |
commit | e7556dc74eccc87eed71ea7506f8a0de9286b355 (patch) | |
tree | ba69517b9d64a346d71ada713704ffff99993e72 /include | |
parent | 50d7866cb945cf98ecfd53eeeadbcb88c4c56ff3 (diff) | |
download | libsvi-e7556dc74eccc87eed71ea7506f8a0de9286b355.tar.gz libsvi-e7556dc74eccc87eed71ea7506f8a0de9286b355.tar.bz2 libsvi-e7556dc74eccc87eed71ea7506f8a0de9286b355.zip |
merge with master
Diffstat (limited to 'include')
-rw-r--r-- | include/feedback-file.h | 141 | ||||
-rw-r--r-- | include/feedback-str.h | 84 | ||||
-rw-r--r-- | include/feedback.h | 22 | ||||
-rw-r--r-- | include/xmlparser.h | 44 |
4 files changed, 220 insertions, 71 deletions
diff --git a/include/feedback-file.h b/include/feedback-file.h index b86b28d..a6dba6b 100644 --- a/include/feedback-file.h +++ b/include/feedback-file.h @@ -19,39 +19,39 @@ #ifndef __FEEDBACK_FILE_H__ #define __FEEDBACK_FILE_H__ -#define FEEDBACK_DATA_DIR "/opt/share/svi/" -#define FEEDBACK_ORIGIN_DATA_DIR "/usr/share/svi/" +#define FEEDBACK_DATA_DIR "/opt/share/svi" +#define FEEDBACK_ORIGIN_DATA_DIR "/usr/share/svi" -#define FEEDBACK_SOUND_DIR FEEDBACK_DATA_DIR"sound/" -#define FEEDBACK_SOUND_TOUCH_DIR FEEDBACK_SOUND_DIR"touch/" -#define FEEDBACK_SOUND_OPER_DIR FEEDBACK_SOUND_DIR"operation/" +#define FEEDBACK_SOUND_DIR FEEDBACK_DATA_DIR"/sound" +#define FEEDBACK_SOUND_TOUCH_DIR FEEDBACK_SOUND_DIR"/touch" +#define FEEDBACK_SOUND_OPER_DIR FEEDBACK_SOUND_DIR"/operation" -#define FEEDBACK_HAPTIC_DIR FEEDBACK_DATA_DIR"haptic/" -#define FEEDBACK_HAPTIC_TOUCH_DIR FEEDBACK_HAPTIC_DIR"touch/" -#define FEEDBACK_HAPTIC_OPER_DIR FEEDBACK_HAPTIC_DIR"operation/" -#define FEEDBACK_HAPTIC_NOTI_DIR FEEDBACK_HAPTIC_DIR"notification/" -#define FEEDBACK_HAPTIC_DEFAULT_DIR FEEDBACK_HAPTIC_DIR"default/" +#define FEEDBACK_HAPTIC_DIR FEEDBACK_DATA_DIR"/haptic" +#define FEEDBACK_HAPTIC_TOUCH_DIR FEEDBACK_HAPTIC_DIR"/touch" +#define FEEDBACK_HAPTIC_OPER_DIR FEEDBACK_HAPTIC_DIR"/operation" +#define FEEDBACK_HAPTIC_NOTI_DIR FEEDBACK_HAPTIC_DIR"/notification" +#define FEEDBACK_HAPTIC_DEFAULT_DIR FEEDBACK_HAPTIC_DIR"/default" const char* snd_file[] = { /* TOUCH : SCREEN TOUCH : TAP(TOUCH & RELEASE) : GENERAL */ - FEEDBACK_SOUND_TOUCH_DIR"touch.wav", + FEEDBACK_SOUND_TOUCH_DIR"/touch.wav", /* TOUCH : SCREEN TOUCH : TAP(TOUCH & RELEASE) : TEXT_NUMERIC_INPUT */ - FEEDBACK_SOUND_TOUCH_DIR"sip.wav", - FEEDBACK_SOUND_TOUCH_DIR"sip_backspace.wav", - FEEDBACK_SOUND_TOUCH_DIR"sip.wav", + FEEDBACK_SOUND_TOUCH_DIR"/sip.wav", + FEEDBACK_SOUND_TOUCH_DIR"/sip_backspace.wav", + FEEDBACK_SOUND_TOUCH_DIR"/sip.wav", /* TOUCH : SCREEN TOUCH : TAP(TOUCH & RELEASE) : DAILER */ - FEEDBACK_SOUND_TOUCH_DIR"key0.wav", - FEEDBACK_SOUND_TOUCH_DIR"key1.wav", - FEEDBACK_SOUND_TOUCH_DIR"key2.wav", - FEEDBACK_SOUND_TOUCH_DIR"key3.wav", - FEEDBACK_SOUND_TOUCH_DIR"key4.wav", - FEEDBACK_SOUND_TOUCH_DIR"key5.wav", - FEEDBACK_SOUND_TOUCH_DIR"key6.wav", - FEEDBACK_SOUND_TOUCH_DIR"key7.wav", - FEEDBACK_SOUND_TOUCH_DIR"key8.wav", - FEEDBACK_SOUND_TOUCH_DIR"key9.wav", - FEEDBACK_SOUND_TOUCH_DIR"keyasterisk.wav", - FEEDBACK_SOUND_TOUCH_DIR"keysharp.wav", + FEEDBACK_SOUND_TOUCH_DIR"/key0.wav", + FEEDBACK_SOUND_TOUCH_DIR"/key1.wav", + FEEDBACK_SOUND_TOUCH_DIR"/key2.wav", + FEEDBACK_SOUND_TOUCH_DIR"/key3.wav", + FEEDBACK_SOUND_TOUCH_DIR"/key4.wav", + FEEDBACK_SOUND_TOUCH_DIR"/key5.wav", + FEEDBACK_SOUND_TOUCH_DIR"/key6.wav", + FEEDBACK_SOUND_TOUCH_DIR"/key7.wav", + FEEDBACK_SOUND_TOUCH_DIR"/key8.wav", + FEEDBACK_SOUND_TOUCH_DIR"/key9.wav", + FEEDBACK_SOUND_TOUCH_DIR"/keyasterisk.wav", + FEEDBACK_SOUND_TOUCH_DIR"/keysharp.wav", /* TOUCH : H/W OR SOFT TOUCH : HOLD(TAP & HOLD) */ NULL, /* TOUCH : H/W OR SOFT TOUCH : MULTI TAP */ @@ -87,39 +87,38 @@ const char* snd_file[] = { NULL, /* OPERATION : POWER ON/OFF */ - FEEDBACK_SOUND_OPER_DIR"power_on.wav", + FEEDBACK_SOUND_OPER_DIR"/power_on.wav", NULL, /* OPERATION : CHARGECONN */ - FEEDBACK_SOUND_OPER_DIR"charger_connection.wav", + FEEDBACK_SOUND_OPER_DIR"/charger_connection.wav", /* OPERATION : CHARGECONN ALERT ON CALL */ - FEEDBACK_SOUND_OPER_DIR"charger_connection.wav", + FEEDBACK_SOUND_OPER_DIR"/charger_connection.wav", /* OPERATION : FULLCHAREGED */ - FEEDBACK_SOUND_OPER_DIR"fully_charged.wav", + FEEDBACK_SOUND_OPER_DIR"/fully_charged.wav", /* OPERATION : FULLCHAREGED ALERT ON CALL */ - FEEDBACK_SOUND_OPER_DIR"fully_charged.wav", + FEEDBACK_SOUND_OPER_DIR"/fully_charged.wav", /* OPERATION : LOW BATTERY */ - FEEDBACK_SOUND_OPER_DIR"low_battery.wav", + FEEDBACK_SOUND_OPER_DIR"/low_battery.wav", /* OPERATION : LOW BATTERY ALERT ON CALL */ - FEEDBACK_SOUND_OPER_DIR"low_battery.wav", + FEEDBACK_SOUND_OPER_DIR"/low_battery.wav", /* OPERATION : LOCK/UNLOCK */ - FEEDBACK_SOUND_OPER_DIR"lock.wav", - FEEDBACK_SOUND_OPER_DIR"unlock.wav", + FEEDBACK_SOUND_OPER_DIR"/lock.wav", + FEEDBACK_SOUND_OPER_DIR"/unlock.wav", /* OPERATION : CALL CONNECT/ DISCONNECT */ - FEEDBACK_SOUND_OPER_DIR"call_connect.wav", - FEEDBACK_SOUND_OPER_DIR"call_disconnect.wav", + FEEDBACK_SOUND_OPER_DIR"/call_connect.wav", + FEEDBACK_SOUND_OPER_DIR"/call_disconnect.wav", /* OPERATION : MINUTE MINDER */ - FEEDBACK_SOUND_OPER_DIR"minute_minder.wav", + FEEDBACK_SOUND_OPER_DIR"/minute_minder.wav", /* OPERATION : VIBRATION */ NULL, /* OPERATION : CAMERA SHUTTER / SCREEN CAPTURE */ - FEEDBACK_SOUND_OPER_DIR"shutter.wav", + FEEDBACK_SOUND_OPER_DIR"/shutter.wav", /* OPERATION : LIST RE-ORDER */ - FEEDBACK_SOUND_OPER_DIR"list_reorder.wav", + FEEDBACK_SOUND_OPER_DIR"/list_reorder.wav", /* OPERATION : LIST SLIDER */ - FEEDBACK_SOUND_OPER_DIR"slider_sweep.wav", + FEEDBACK_SOUND_OPER_DIR"/slider_sweep.wav", /* OPERATION : VOLUME KEY */ - FEEDBACK_SOUND_OPER_DIR"volume_control.wav", - + FEEDBACK_SOUND_OPER_DIR"/volume_control.wav", }; const char* haptic_file[] = { @@ -143,64 +142,64 @@ const char* haptic_file[] = { NULL, NULL, /* TOUCH : H/W OR SOFT TOUCH : HOLD(TAP & HOLD) */ - FEEDBACK_HAPTIC_TOUCH_DIR"touch.tht", + FEEDBACK_HAPTIC_TOUCH_DIR"/touch.tht", /* TOUCH : H/W OR SOFT TOUCH : MULTI TAP */ - FEEDBACK_HAPTIC_TOUCH_DIR"touch.tht", + FEEDBACK_HAPTIC_TOUCH_DIR"/touch.tht", /* TOUCH : H/W OR SOFT TOUCH : TAP */ NULL, /* TOUCH : H/W OR SOFT TOUCH : TAP & HOLD */ NULL, /* NOTIFICATION : INCOMING : MESSAGE */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : INCOMING : MESSAGE ALERT ON CALL */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : INCOMING : EMAIL */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : INCOMING : EMAIL ALERT ON CALL */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : ALARM : WAKEUP */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : ALARM : WAKEUP ALERT ON CALL */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : ALARM : SCHEDULE */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : ALARM : SCHEDULE ALERT ON CALL */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : ALARM : TIMER */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : ALARM : TIMER ALERT ON CALL */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : GENERAL(TICKER/IM/SMS ETC) */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* NOTIFICATION : GENERAL(TICKER/IM/SMS ETC) ALERT ON CALL */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : POWER ON/OFF */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : CHARGECONN */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : CHARGECONN ALERT ON CALL */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : FULLCHAREGED */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : FULLCHAREGED ALERT ON CALL */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : LOW BATTERY */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : LOW BATTERY ALERT ON CALL */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : LOCK/UNLOCK */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : CALL CONNECT/ DISCONNECT */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : MINUTE MINDER */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : VIBRATION */ - FEEDBACK_HAPTIC_DEFAULT_DIR"Basic_call.tht", + FEEDBACK_HAPTIC_DEFAULT_DIR"/Basic_call.tht", /* OPERATION : CAMERA SHUTTER / SCREEN CAPTURE */ NULL, /* OPERATION : LIST RE-ORDER */ diff --git a/include/feedback-str.h b/include/feedback-str.h new file mode 100644 index 0000000..0e41857 --- /dev/null +++ b/include/feedback-str.h @@ -0,0 +1,84 @@ +/* + * libfeedback + * Copyright (c) 2012 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +#ifndef __FEEDBACK_STR_H__ +#define __FEEDBACK_STR_H__ + +static const char *str_type[] = +{ + "FEEDBACK_TYPE_NONE", + "FEEDBACK_TYPE_SOUND", + "FEEDBACK_TYPE_VIBRATION", + "FEEDBACK_TYPE_END", +}; + +static const char *str_pattern[] = +{ + "FEEDBACK_PATTERN_TAP", + "FEEDBACK_PATTERN_SIP", + "FEEDBACK_PATTERN_SIP_BACKSPACE", + "FEEDBACK_PATTERN_MAX_CHARACTER", + "FEEDBACK_PATTERN_KEY0", + "FEEDBACK_PATTERN_KEY1", + "FEEDBACK_PATTERN_KEY2", + "FEEDBACK_PATTERN_KEY3", + "FEEDBACK_PATTERN_KEY4", + "FEEDBACK_PATTERN_KEY5", + "FEEDBACK_PATTERN_KEY6", + "FEEDBACK_PATTERN_KEY7", + "FEEDBACK_PATTERN_KEY8", + "FEEDBACK_PATTERN_KEY9", + "FEEDBACK_PATTERN_KEY_STAR", + "FEEDBACK_PATTERN_KEY_SHARP", + "FEEDBACK_PATTERN_HOLD", + "FEEDBACK_PATTERN_MULTI_TAP", + "FEEDBACK_PATTERN_HW_TAP", + "FEEDBACK_PATTERN_HW_HOLD", + "FEEDBACK_PATTERN_MESSAGE", + "FEEDBACK_PATTERN_MESSAGE_ON_CALL", + "FEEDBACK_PATTERN_EMAIL", + "FEEDBACK_PATTERN_EMAIL_ON_CALL", + "FEEDBACK_PATTERN_WAKEUP", + "FEEDBACK_PATTERN_WAKEUP_ON_CALL", + "FEEDBACK_PATTERN_SCHEDULE", + "FEEDBACK_PATTERN_SCHEDULE_ON_CALL", + "FEEDBACK_PATTERN_TIMER", + "FEEDBACK_PATTERN_TIMER_ON_CALL", + "FEEDBACK_PATTERN_GENERAL", + "FEEDBACK_PATTERN_GENERAL_ON_CALL", + "FEEDBACK_PATTERN_POWERON", + "FEEDBACK_PATTERN_POWEROFF", + "FEEDBACK_PATTERN_CHARGERCONN", + "FEEDBACK_PATTERN_CHARGERCONN_ON_CALL", + "FEEDBACK_PATTERN_FULLCHARGED", + "FEEDBACK_PATTERN_FULLCHARGED_ON_CALL", + "FEEDBACK_PATTERN_LOWBATT", + "FEEDBACK_PATTERN_LOWBATT_ON_CALL", + "FEEDBACK_PATTERN_LOCK", + "FEEDBACK_PATTERN_UNLOCK", + "FEEDBACK_PATTERN_CALLCONNECT", + "FEEDBACK_PATTERN_DISCALLCONNECT", + "FEEDBACK_PATTERN_MINUTEMINDER", + "FEEDBACK_PATTERN_VIBRATION", + "FEEDBACK_PATTERN_SHUTTER", + "FEEDBACK_PATTERN_LIST_REORDER", + "FEEDBACK_PATTERN_SLIDER_SWEEP", + "FEEDBACK_PATTERN_VOLUME_KEY", +}; + +#endif //__FEEDBACK_STR_H__ diff --git a/include/feedback.h b/include/feedback.h index 787cea6..ca224a0 100644 --- a/include/feedback.h +++ b/include/feedback.h @@ -150,6 +150,28 @@ int feedback_play_type(feedback_type_e type, feedback_pattern_e pattern); int feedback_get_resource_path(feedback_type_e type, feedback_pattern_e pattern, char **path); /** + * @brief Sets the new file path of resource for the given feedback type and pattern. + * + * @details + * Depending on the type of each pattern resouorce has a different format. \n + * Currently, System supports two pattern types. \n + * #FEEDBACK_TYPE_SOUND type uses .wav format. \n + * #FEEDBACK_TYPE_VIBRATION type uses .ivt format. \n + * If the given pattern doesn't have a file for the type, @a path will return NULL. + * + * @param[in] type The pattern type + * @param[in] pattern The pre-defined pattern + * @param[in] path The new file path of resource for feedback type and pattern + * + * @return 0 on success, otherwise a negative error value. + * @retval #FEEDBACK_ERROR_NONE Successful + * @retval #FEEDBACK_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #FEEDBACK_ERROR_OPERATION_FAILED Operation failed + * + */ +int feedback_set_resource_path(feedback_type_e type, feedback_pattern_e pattern, char *path); + +/** * @} */ diff --git a/include/xmlparser.h b/include/xmlparser.h new file mode 100644 index 0000000..cb92b06 --- /dev/null +++ b/include/xmlparser.h @@ -0,0 +1,44 @@ +/* + * libfeedback + * Copyright (c) 2012 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +#ifndef __XMLPARSER_H__ +#define __XMLPARSER_H__ + +#include <libxml/parser.h> + +struct xmlData { + char *label; + unsigned char *data; +}; + +enum xmlType { + XML_LABEL = 0, + XML_DATA, +}; + +#define VIBRATION "vibration" + +xmlDocPtr xml_open(const char *xml); +void xml_close(xmlDocPtr doc); + +xmlNodePtr xml_find(xmlDocPtr doc, const xmlChar* expr); +struct xmlData *xml_parse(xmlDocPtr doc, xmlNodePtr cur); +int xml_save(xmlDocPtr doc, const char *path); +void xml_free(struct xmlData* data); + +#endif //__XMLPARSER_H__ |