4 * Copyright (c) 2015 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Kyho Jo <kyuho.jo@samsung.com>
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 #ifndef __NOTIFICATION_SETTING_INTERNAL_H__
23 #define __NOTIFICATION_SETTING_INTERNAL_H__
26 #include "notification.h"
27 #include "notification_setting.h"
33 /* Application setting */
34 struct notification_setting {
37 bool do_not_disturb_except;
41 int notification_setting_get_setting_array(notification_setting_h *setting_array, int *count);
42 int notification_setting_get_setting_by_package_name(const char *package_name, notification_setting_h *setting);
44 int notification_setting_get_package_name(notification_setting_h setting, char **value);
45 int notification_setting_set_package_name(notification_setting_h setting, char *value);
47 int notification_setting_get_allow_to_notify(notification_setting_h setting, bool *value);
48 int notification_setting_set_allow_to_notify(notification_setting_h setting, bool value);
50 int notification_setting_get_do_not_disturb_except(notification_setting_h setting, bool *value);
51 int notification_setting_set_do_not_disturb_except(notification_setting_h setting, bool value);
53 int notification_setting_insert_package(const char *package_id);
54 int notification_setting_delete_package(const char *package_id);
57 typedef struct notification_system_setting* notification_system_setting_h;
59 int notification_system_setting_load_system_setting(notification_system_setting_h *system_setting);
60 int notification_system_setting_update_system_setting(notification_system_setting_h system_setting);
61 int notification_system_setting_free_system_setting(notification_system_setting_h system_setting);
63 int notification_system_setting_get_do_not_disturb(notification_system_setting_h system_setting, bool *value);
64 int notification_system_setting_set_do_not_disturb(notification_system_setting_h system_setting, bool value);
66 int notification_system_setting_get_visibility_class(notification_system_setting_h system_setting, int *value);
67 int notification_system_setting_set_visibility_class(notification_system_setting_h system_setting, int value);
69 /* OLD IMPLEMENTATION */
70 int notification_setting_property_set(const char *pkgname, const char *property, const char *value) NOTIFICATION_DEPRECATED_API;
71 int notification_setting_property_get(const char *pkgname, const char *property, char **value) NOTIFICATION_DEPRECATED_API;
76 #endif /* __NOTIFICATION_SETTING_INTERNAL_H__ */