1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
/*
* 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_INTERNAL_H__
#define __FEEDBACK_INTERNAL_H__
#include <tizen_error.h>
#include <feedback-ids.h>
#include "feedback-ids-internal.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @file feedback-internal.h
* @brief This file contains the feedback internal API
*/
#define FEEDBACK_SUCCEEDED(n) ((n) == FEEDBACK_ERROR_NONE)
#define FEEDBACK_FAILED(n) ((n) != FEEDBACK_ERROR_NONE)
/**
*
* @brief Plays specific type of reactions that are pre-defined.
* @details
* This function can be used to react to pre-defined actions. \n
* It play specific type of system pre-defined pattern.
*
* @since_tizen 2.3
*
* @remarks
* Currently, there are two types of reactions: sound and vibration.
*
* @param[in] type string The pattern type
* @param[in] pattern string The pre-defined 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_NOT_SUPPORTED Not supported device
*/
int feedback_play_type_by_name(char *type, char *pattern);
/**
* @brief Plays various types of reactions that are pre-defined.
* @details This function can be used to react to pre-defined actions. \n
* It play various types of system pre-defined media or vibration patterns.
* @since_tizen 4.0
* @remarks Currently, there are two types of reactions: sound and vibration. \n
* Depending on the settings, some types cannot operate.
* For example, when set to silent mode, the device doesn't produce any sound.
* If to play one of the devices is successful, this function regards as success.
* And for controlling haptic device, the privilege should be set to, %http://tizen.org/privilege/haptic.
* If you don't have the haptic privilege, it only works sound operation.
* It does not return any error in this case.
* @param[in] pattern The pre-defined internal pattern
* @return @c 0 on success,
* otherwise a negative error value
* @retval #FEEDBACK_ERROR_NONE Successful
* @retval #FEEDBACK_ERROR_OPERATION_FAILED Operation not permitted
* @retval #FEEDBACK_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #FEEDBACK_ERROR_NOT_SUPPORTED Not supported device
* @retval #FEEDBACK_ERROR_NOT_INITIALIZED Not initialized
* @pre feedback_initialize()
*/
int feedback_play_internal(feedback_pattern_internal_e pattern);
/**
* @brief Plays specific type of reactions that are pre-defined.
* @details This function can be used to react to pre-defined actions. \n
* It play specific type of system pre-defined pattern.
* @since_tizen 4.0
* @remarks Currently, there are two types of reactions: sound and vibration. \n
* Depending on the settings, some types cannot operate.
* For example, when set to silent mode, the device doesn't produce any sound.
* And for controlling haptic device, the privilege should be set to, %http://tizen.org/privilege/haptic.
* If you don't have the haptic privilege, it returns FEEDBACK_ERROR_PERMISSION_DENIED error.
* @param[in] type The pattern type
* @param[in] pattern The pre-defined internal pattern
* @return @c 0 on success,
* otherwise a negative error value
* @retval #FEEDBACK_ERROR_NONE Successful
* @retval #FEEDBACK_ERROR_OPERATION_FAILED Operation not permitted
* @retval #FEEDBACK_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #FEEDBACK_ERROR_NOT_SUPPORTED Not supported device
* @retval #FEEDBACK_ERROR_PERMISSION_DENIED Permission denied
* @retval #FEEDBACK_ERROR_NOT_INITIALIZED Not initialized
* @pre feedback_initialize()
*/
int feedback_play_type_internal(feedback_type_e type, feedback_pattern_internal_e pattern);
/**
* @brief Gets the 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 monotone format. \n
* If the given pattern doesn't have a file for the type, @a path will return NULL.
*
* @since_tizen 2.3
*
* @remarks @a path must be released with free() by you.
*
* @param[in] type The pattern type
* @param[in] pattern The pre-defined pattern
* @param[out] path The 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
* @retval #FEEDBACK_ERROR_NOT_SUPPORTED Not supported device
*/
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 monotone format. \n
* If the given pattern doesn't have a file for the type, @a path will return NULL.
*
* @since_tizen 2.3
*
* @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
* @retval #FEEDBACK_ERROR_NOT_SUPPORTED Not supported device
*/
int feedback_set_resource_path(feedback_type_e type, feedback_pattern_e pattern, char *path);
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif //__FEEDBACK_INTERNAL_H__
|