Give detail license information
[platform/core/api/notification.git] / include / notification_status.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>
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_STATUS_DEF_H__
23 #define __NOTIFICATION_STATUS_DEF_H__
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif /* __cplusplus */
28
29 /**
30  * @file notification_status.h
31  */
32
33 /**
34  * @addtogroup NOTIFICATION_STATUS
35  * @{
36  */
37
38 /**
39  * @internal
40  * @brief Called when a new message is posted.
41  * @since_tizen @if WEARABLE 2.3.1 @elseif MOBILE 2.3 @endif
42  * @param[in] message The message posted
43  * @param[in] data    The user data
44  * @pre notification_status_monitor_message_cb_set() used to register this callback.
45  * @see notification_status_monitor_message_cb_set()
46 */
47 typedef void (*notification_status_message_cb)(const char *message, void *data);
48
49 /**
50  * @internal
51  * @brief Registers a callback to receive a message.
52  * @since_tizen @if WEARABLE 2.3.1 @elseif MOBILE 2.3 @endif
53  * @param[in] callback The callback function
54  * @param[in] data     The user_data
55  * @return #NOTIFICATION_ERROR_NONE if success, other value if failure
56  * @retval #NOTIFICATION_ERROR_NONE Success
57  * @retval #NOTIFICATION_ERROR_INVALID_PARAMETER Invalid parameter
58  * @retval #NOTIFICATION_ERROR_FROM_DBUS Error from DBus
59  */
60 int notification_status_monitor_message_cb_set(notification_status_message_cb callback, void *user_data);
61
62 /**
63  * @internal
64  * @brief Unregisters a callback to receive a message.
65  * @since_tizen @if WEARABLE 2.3.1 @elseif MOBILE 2.3 @endif
66  * @param[in] callback The callback function
67  * @param[in] data     The user_data
68  * @return #NOTIFICATION_ERROR_NONE if success, other value if failure
69  * @retval #NOTIFICATION_ERROR_NONE Success
70  */
71 int notification_status_monitor_message_cb_unset(void);
72
73 /**
74  * @brief Sends a string (message) to the notification status monitor.
75  * @since_tizen @if WEARABLE 2.3.1 @elseif MOBILE 2.3 @endif
76  * @privlevel public
77  * @privilege %http://tizen.org/privilege/notification
78  * @param[in] message The messages to be posted
79
80  * @return  #NOTIFICATION_ERROR_NONE on success,
81  *          otherwise any other value on failure
82  * @retval #NOTIFICATION_ERROR_INVALID_PARAMETER Invalid parameter
83  * @retval #NOTIFICATION_ERROR_FROM_DBUS Error from DBus
84  * @retval #NOTIFICATION_ERROR_PERMISSION_DENIED The application does not have the privilege to call this method
85  * @see #notification_error_e
86  */
87 int notification_status_message_post(const char *message);
88
89 /**
90  * @}
91  */
92
93 #ifdef __cplusplus
94 }
95 #endif /* __cplusplus */
96 #endif /* __NOTIFICATION_STATUS_DEF_H__ */