Release notification lib for Tizen2.0 beta(tagging)
[apps/home/notification.git] / include / notification_type.h
1 /*
2  *  libnotification
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Seungtaek Chung <seungtaek.chung@samsung.com>, Mi-Ju Lee <miju52.lee@samsung.com>, Xi Zhichan <zhichan.xi@samsung.com>, Youngsub Ko <ys4610.ko@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22 #ifndef __NOTIFICATION_TYPE_H__
23 #define __NOTIFICATION_TYPE_H__
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 /**
30  * @ingroup NOTIFICATION_LIBRARY
31  * @defgroup NOTIFICATION_TYPE notification type
32  * @brief Notification type
33  */
34
35 /**
36  * @addtogroup NOTIFICATION_TYPE
37  * @{
38  */
39
40 /**
41  * @breief Enumeration for notification sound type.
42  */
43 typedef enum _notification_sound_type {
44         NOTIFICATION_SOUND_TYPE_NONE = -1,
45                                         /**< Default value. Disable sound */
46         NOTIFICATION_SOUND_TYPE_DEFAULT = 0,
47                                         /**< New chat sound */
48         NOTIFICATION_SOUND_TYPE_USER_DATA,
49                                         /**< User sound data */
50         NOTIFICATION_SOUND_TYPE_MAX,
51                                 /**< Max flag */
52 } notification_sound_type_e;
53
54 /**
55  * @breief Enumeration for notification vibration type.
56  */
57 typedef enum _notification_vibration_type {
58         NOTIFICATION_VIBRATION_TYPE_NONE = -1,
59                                         /**< Default value. Disable vibration */
60         NOTIFICATION_VIBRATION_TYPE_DEFAULT = 0,/**< New chat vibration */
61         NOTIFICATION_VIBRATION_TYPE_USER_DATA,
62                                         /**< User vibration data */
63         NOTIFICATION_VIBRATION_TYPE_MAX,/**< Max flag */
64 } notification_vibration_type_e;
65
66 /**
67  * @breief Will be deprecated.
68  */
69 typedef enum _notification_count_display_type {
70         NOTIFICATION_COUNT_DISPLAY_TYPE_NONE = -1,
71         NOTIFICATION_COUNT_DISPLAY_TYPE_LEFT = 0,
72         NOTIFICATION_COUNT_DISPLAY_TYPE_IN,
73         NOTIFICATION_COUNT_DISPLAY_TYPE_RIGHT,
74         NOTIFICATION_COUNT_DISPLAY_TYPE_MAX,
75 } notification_count_display_type_e;
76
77 /**
78  * @breief Enumeration for notification count position in the text.
79  */
80 typedef enum _notifcation_count_pos_type {
81         NOTIFICATION_COUNT_POS_NONE = -1,
82                                         /**< Count data is not displaying in the text */
83         NOTIFICATION_COUNT_POS_LEFT = 0,/**< Count data is displaying at the left of the text */
84         NOTIFICATION_COUNT_POS_IN,
85                                 /**< Count data is displaying in the text */
86         NOTIFICATION_COUNT_POS_RIGHT,
87                                 /**< Count data is displaying at the right of the text */
88         NOTIFICATION_COUNT_POS_MAX,
89                                 /**< Max flag */
90 } notification_count_pos_type_e;
91
92 /**
93  * @breief Enumeration for notification variable parameter type
94  */
95 typedef enum _notification_variable_type {
96         NOTIFICATION_VARIABLE_TYPE_NONE = -1,
97                                         /**< Variable parameter type is NONE */
98         NOTIFICATION_VARIABLE_TYPE_INT = 0,
99                                         /**< Variable parameter type is int */
100         NOTIFICATION_VARIABLE_TYPE_DOUBLE,
101                                         /**< Variable parameter type is double */
102         NOTIFICATION_VARIABLE_TYPE_STRING,
103                                         /**< Variable parameter type is string */
104         NOTIFICATION_VARIABLE_TYPE_COUNT,
105                                         /**< Variable parameter type is count */
106         NOTIFICATION_VARIABLE_TYPE_MAX,
107                                 /**< Max flag */
108 } notification_variable_type_e;
109
110 /**
111  * @breief Enumeration for notification text type.
112  */
113 typedef enum _notification_text_type {
114         NOTIFICATION_TEXT_TYPE_NONE = -1,
115                                         /**< NONE */
116         NOTIFICATION_TEXT_TYPE_TITLE = 0,
117                                         /**< Title */
118         NOTIFICATION_TEXT_TYPE_CONTENT,
119                                 /**< Content */
120         NOTIFICATION_TEXT_TYPE_CONTENT_FOR_DISPLAY_OPTION_IS_OFF,
121                                                                 /**< Content for content display option is off of the Settings */
122         NOTIFICATION_TEXT_TYPE_GROUP_TITLE,
123                                         /**< Group title */
124         NOTIFICATION_TEXT_TYPE_GROUP_CONTENT,
125                                         /**< Group content */
126         NOTIFICATION_TEXT_TYPE_GROUP_CONTENT_FOR_DISPLAY_OPTION_IS_OFF,
127                                                                 /**< Group content for content display option is off of the Settings */
128         NOTIFICATION_TEXT_TYPE_MAX,
129                                 /**< Max flag */
130 } notification_text_type_e;
131
132 /**
133  * @breief Enumeration for image text type.
134  */
135 typedef enum _notification_image_type {
136         NOTIFICATION_IMAGE_TYPE_NONE = -1,
137                                         /**< NONE */
138         NOTIFICATION_IMAGE_TYPE_ICON = 0,
139                                         /**< Icon */
140         NOTIFICATION_IMAGE_TYPE_ICON_FOR_INDICATOR,
141                                                 /**< Indicator icon */
142         NOTIFICATION_IMAGE_TYPE_ICON_FOR_LOCK,
143                                         /**< Lock screen icon */
144         NOTIFICATION_IMAGE_TYPE_THUMBNAIL,
145                                         /**< Thumbnail */
146         NOTIFICATION_IMAGE_TYPE_THUMBNAIL_FOR_LOCK,
147                                                 /**< Lock screen thumbnail */
148         NOTIFICATION_IMAGE_TYPE_MAX,
149                                 /**< Max flag */
150 } notification_image_type_e;
151
152 /*typedef enum _notification_button_type {
153         NOTIFICATION_BUTTON_TYPE_NONE = -1,
154         NOTIFICATION_BUTTON_TYPE_RUN = 0,
155         NOTIFICATION_BUTTON_TYPE_VIEW,
156         NOTIFICATION_BUTTON_TYPE_DISMISS,
157         NOTIFICATION_BUTTON_TYPE_MAX,
158 }notification_button_type_e;*/
159
160 /**
161  * @breief Enumeration for application execution type.
162  */
163 typedef enum _notification_execute_type {
164         NOTIFICATION_EXECUTE_TYPE_NONE = -1,
165                                         /**< No operation */
166         NOTIFICATION_EXECUTE_TYPE_RESPONDING = 0,
167                                                 /**< Responding */
168         NOTIFICATION_EXECUTE_TYPE_SINGLE_LAUNCH,/**< Launching when notification data is single */
169         NOTIFICATION_EXECUTE_TYPE_MULTI_LAUNCH,
170                                         /**< Launching when notification data is grouping(multi) */
171         NOTIFICATION_EXECUTE_TYPE_MAX,
172                                 /**< Max flag */
173 } notification_execute_type_e;
174
175 /**
176  * @breief Enumeration for notification type.
177  */
178 typedef enum _notification_type {
179         NOTIFICATION_TYPE_NONE = -1,
180                                 /**< None */
181         NOTIFICATION_TYPE_NOTI = 0,
182                                 /**< Notification type */
183         NOTIFICATION_TYPE_ONGOING,
184                                 /**< Ongoing type */
185         NOTIFICATION_TYPE_MAX,
186                         /**< Max flag */
187 } notification_type_e;
188
189 /**
190  * @breief Enumeration for Group ID.
191  */
192 enum _notification_group_id {
193         NOTIFICATION_GROUP_ID_NONE = -1,/**< Not Grouping */
194         NOTIFICATION_GROUP_ID_DEFAULT = 0,
195                                         /**< Notification that has same title is grouping */
196 };
197
198 /**
199  * @breief Enumeration for Private ID.
200  */
201 enum _notification_priv_id {
202         NOTIFICATION_PRIV_ID_NONE = -1,
203                                 /**< Internally set priv_id */
204 };
205
206 /**
207  * @breief Enumeration for notification property
208  */
209 enum _notification_property {
210         NOTIFICATION_PROP_DISPLAY_ONLY_SIMMODE = 0x00000001,
211                                                         /**< Display only SIM card inserted */
212         NOTIFICATION_PROP_DISABLE_APP_LAUNCH = 0x00000002,
213                                                         /**< Disable application launch when it selected */
214         NOTIFICATION_PROP_DISABLE_AUTO_DELETE = 0x00000004,
215                                                         /**< Disable auto delete when it selected */
216         NOTIFICATION_PROP_LAUNCH_UG = 0x00000008,
217                                                 /**< Will be deprecated. Notification Tray should launch application using appsvc API */
218         NOTIFICATION_PROP_DISABLE_TICKERNOTI = 0x00000010,
219                                                         /**< Will be deprecated. Use notification_set_display_applist API */
220         NOTIFICATION_PROP_PERMANENT_DISPLAY = 0x00000020,
221                                                         /** < Will be deprecated. */
222         NOTIFICATION_PROP_DISABLE_UPDATE_ON_INSERT = 0x00000040,/**< Disable update when it inserted. */
223         NOTIFICATION_PROP_DISABLE_UPDATE_ON_DELETE = 0x00000080,/**< Disable update when it deleted. */
224         NOTIFICATION_PROP_VOLATILE_DISPLAY = 0x00000100,/**< Deleted when device is rebooted eventhough NOTIFICATION_TYPE_NOTI type */
225 };
226
227 /**
228  * @breief Enumeration for display application list
229  */
230 enum _notificaton_display_applist {
231         NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY = 0x00000001,/**< Notification Tray(Quickpanel) */
232         NOTIFICATION_DISPLAY_APP_TICKER = 0x00000002,
233                                                 /**< Ticker notification */
234         NOTIFICATION_DISPLAY_APP_LOCK = 0x00000004,
235                                                 /**< Lock screen */
236         NOTIFICATION_DISPLAY_APP_INDICATOR = 0x00000008,/**< Indicator */
237         NOTIFICATION_DISPLAY_APP_ALL = 0xffffffff,
238                                                 /**< All display application */
239 };
240
241 /**
242  * @brief Notification handle
243  */
244 typedef struct _notification *notification_h;
245
246 /** 
247  * @}
248  */
249
250 #ifdef __cplusplus
251 }
252 #endif
253 #endif                          /* __NOTIFICATION_TYPE_H__ */