4 * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Youngjoo Park <yjoo93.park@samsung.com>,
7 * Seungtaek Chung <seungtaek.chung@samsung.com>, Youngsub Ko <ys4610.ko@samsung.com>
9 * Licensed under the Apache License, Version 2.0 (the License);
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an AS IS BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
27 #include "badge_log.h"
28 #include "badge_error.h"
29 #include "badge_internal.h"
30 #include "badge_ipc.h"
33 int badge_create(const char *pkgname, const char *writable_pkg)
36 int err = BADGE_ERROR_NONE;
38 if (pkgname == NULL) {
39 return BADGE_ERROR_INVALID_PARAMETER;
42 caller = _badge_get_pkgname_by_pid();
44 ERR("fail to get caller pkgname");
45 return BADGE_ERROR_PERMISSION_DENIED;
48 err = badge_ipc_request_insert(pkgname, writable_pkg, caller);
55 int badge_new(const char *writable_app_id)
58 int err = BADGE_ERROR_NONE;
60 caller = _badge_get_pkgname_by_pid();
62 ERR("fail to get caller pkgname");
63 return BADGE_ERROR_PERMISSION_DENIED;
66 err = badge_ipc_request_insert(caller, writable_app_id, caller);
73 int badge_remove(const char *app_id)
76 int result = BADGE_ERROR_NONE;
79 return BADGE_ERROR_INVALID_PARAMETER;
82 caller = _badge_get_pkgname_by_pid();
84 ERR("fail to get caller pkgname");
85 return BADGE_ERROR_PERMISSION_DENIED;
88 result = badge_ipc_request_delete(app_id, caller);
95 int badge_is_existing(const char *app_id, bool *existing)
97 return _badge_is_existing(app_id, existing);
102 int badge_foreach_existed(badge_cb callback, void *data)
104 return _badge_foreach_existed(callback, data);
108 int badge_set_count(const char *app_id, unsigned int count)
111 int result = BADGE_ERROR_NONE;
113 if (app_id == NULL) {
114 return BADGE_ERROR_INVALID_PARAMETER;
117 caller = _badge_get_pkgname_by_pid();
119 ERR("fail to get caller pkgname");
120 return BADGE_ERROR_PERMISSION_DENIED;
123 result = badge_ipc_request_set_count(app_id, caller, count);
130 int badge_get_count(const char *app_id, unsigned int *count)
132 return _badget_get_count(app_id, count);
136 int badge_set_display(const char *app_id, unsigned int is_display)
139 int result = BADGE_ERROR_NONE;
141 if (app_id == NULL) {
142 return BADGE_ERROR_INVALID_PARAMETER;
145 caller = _badge_get_pkgname_by_pid();
147 ERR("fail to get caller pkgname");
148 return BADGE_ERROR_PERMISSION_DENIED;
151 result = badge_ipc_request_set_display(app_id, caller, is_display);
158 int badge_get_display(const char *app_id, unsigned int *is_display)
160 return _badget_get_display(app_id, is_display);
164 int badge_register_changed_cb(badge_change_cb callback, void *data)
166 if (callback == NULL) {
167 return BADGE_ERROR_INVALID_PARAMETER;
170 return _badge_register_changed_cb(callback, data);
174 int badge_unregister_changed_cb(badge_change_cb callback)
176 if (callback == NULL) {
177 return BADGE_ERROR_INVALID_PARAMETER;
180 return _badge_unregister_changed_cb(callback);
184 int badge_is_service_ready(void)
186 return badge_ipc_is_master_ready();
190 int badge_add_deferred_task(
191 void (*badge_add_deferred_task)(void *data), void *user_data)
193 return badge_ipc_add_deferred_task(badge_add_deferred_task, user_data);
197 int badge_del_deferred_task(
198 void (*badge_add_deferred_task)(void *data))
200 return badge_ipc_del_deferred_task(badge_add_deferred_task);