summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJinkun Jang <jinkun.jang@samsung.com>2013-03-16 01:18:11 +0900
committerJinkun Jang <jinkun.jang@samsung.com>2013-03-16 01:18:11 +0900
commite7556dc74eccc87eed71ea7506f8a0de9286b355 (patch)
treeba69517b9d64a346d71ada713704ffff99993e72 /include
parent50d7866cb945cf98ecfd53eeeadbcb88c4c56ff3 (diff)
downloadlibsvi-e7556dc74eccc87eed71ea7506f8a0de9286b355.tar.gz
libsvi-e7556dc74eccc87eed71ea7506f8a0de9286b355.tar.bz2
libsvi-e7556dc74eccc87eed71ea7506f8a0de9286b355.zip
merge with master
Diffstat (limited to 'include')
-rw-r--r--include/feedback-file.h141
-rw-r--r--include/feedback-str.h84
-rw-r--r--include/feedback.h22
-rw-r--r--include/xmlparser.h44
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__