Tizen 2.1 base
[platform/core/api/efl-util.git] / include / efl_util.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License. 
15  */
16
17
18 #ifndef __TIZEN_UI_EFL_UTIL_H__
19 #define __TIZEN_UI_EFL_UTIL_H__
20
21 #include <tizen.h>
22 #include <Evas.h>
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 /**
29  * @addtogroup CAPI_EFL_UTIL_MODULE
30  * @{
31  */
32
33
34 /**
35  * @brief Enumerations of error code for EFL UTIL
36  */
37 typedef enum
38 {
39         EFL_UTIL_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
40         EFL_UTIL_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
41         EFL_UTIL_ERROR_NOT_SUPPORTED_WINDOW_TYPE = TIZEN_ERROR_APPLICATION_CLASS | 0x08  /**< Not supported window type */
42 } efl_util_error_e;
43
44
45 /**                                                 
46  * @brief Enumeration of notification window's priority level
47  * 
48  */
49 typedef enum
50 {
51         EFL_UTIL_NOTIFICATION_LEVEL_1, /**< Default notification level*/
52         EFL_UTIL_NOTIFICATION_LEVEL_2, /**< Higher notification level than default*/
53 } efl_util_notification_level_e; 
54
55
56
57 /**
58  * @brief Sets the priority level for the specified notification window, asynchronously.
59  *
60  * @remark This API can be used for notification type window only
61  * @param [in] window EFL window 
62  * @param [in] level The notification window level
63  * @return 0 on success, otherwise a negative error value.
64  * @retval #EFL_UTIL_ERROR_NONE Successful
65  * @retval #EFL_UTIL_ERROR_INVALID_PARAMETER Invalid parameter
66  * @retval #EFL_UTIL_ERROR_NOT_SUPPORTED_WINDOW_TYPE Not supported window type
67  */
68 int efl_util_set_notification_window_level (Evas_Object *window, efl_util_notification_level_e level);
69
70
71 /**
72  * @brief Gets the priority level for the specified notification window, asynchronously.
73  *
74  * @remark This API can be used for notification type window only
75  * @param [in] window EFL window 
76  * @param [out] level The notification window level
77  * @return 0 on success, otherwise a negative error value.
78  * @retval #EFL_UTIL_ERROR_NONE Successful
79  * @retval #EFL_UTIL_ERROR_INVALID_PARAMETER Invalid parameter
80  * @retval #EFL_UTIL_ERROR_NOT_SUPPORTED_WINDOW_TYPE Not supported window type
81  */
82 int efl_util_get_notification_window_level (Evas_Object *window, efl_util_notification_level_e* level);
83
84 /**
85  * @}
86  */
87
88
89 #ifdef __cplusplus
90 }
91 #endif
92 #endif                          /* __TIZEN_UI_EFL_UTIL_H__ */