<check send_destination="org.tizen.data_provider_service" send_interface="org.tizen.data_provider_noti_service" send_member="load_noti_by_tag" privilege="http://tizen.org/privilege/notification"/>
<check send_destination="org.tizen.data_provider_service" send_interface="org.tizen.data_provider_noti_service" send_member="save_as_template" privilege="http://tizen.org/privilege/notification"/>
<check send_destination="org.tizen.data_provider_service" send_interface="org.tizen.data_provider_noti_service" send_member="create_from_template" privilege="http://tizen.org/privilege/notification"/>
+ <check send_destination="org.tizen.data_provider_service" send_interface="org.tizen.data_provider_noti_service" send_member="get_noti_block_state" privilege="http://tizen.org/privilege/notification"/>
<check send_destination="org.tizen.data_provider_service" send_interface="org.tizen.data_provider_badge_service" privilege="http://tizen.org/privilege/notification"/>
<check send_destination="org.tizen.data_provider_service" send_interface="org.tizen.data_provider_shortcut_service" privilege="http://tizen.org/privilege/shortcut"/>
</policy>
int notification_add_noti_template(GVariant *parameters, GVariant **reply_body, uid_t uid);
int notification_get_noti_template(GVariant *parameters, GVariant **reply_body, pid_t pid, uid_t uid);
int notification_get_noti_package_template(GVariant *parameters, GVariant **reply_body, uid_t uid);
+int notification_get_block_state(GVariant *parameters, GVariant **reply_body, uid_t uid);
int notification_register_dbus_interface();
/* End of a file */
ret = notification_get_noti_template(parameters, &reply_body, pid, uid);
else if (g_strcmp0(method_name, "create_from_package_template") == 0)
ret = notification_get_noti_package_template(parameters, &reply_body, uid);
+ else if (g_strcmp0(method_name, "get_noti_block_state") == 0)
+ ret = notification_get_block_state(parameters, &reply_body, uid);
if (ret == NOTIFICATION_ERROR_NONE) {
DbgPrint("notification service success : %d", ret);
" <arg type='v' name='noti' direction='out'/>"
" </method>"
+ " <method name='get_noti_block_state'>"
+ " <arg type='s' name='pkgname' direction='in'/>"
+ " <arg type='i' name='uid' direction='in'/>"
+ " <arg type='v' name='state' direction='out'/>"
+ " </method>"
+
" <method name='post_toast'>"
" </method>"
" </interface>"
}
DbgPrint("_get_noti_package_template done !!");
+
+ return ret;
+}
+
+int notification_get_block_state(GVariant *parameters, GVariant **reply_body, uid_t uid)
+{
+ int ret;
+ int dnd;
+ int dnd_except;
+ int allow_to_notify;
+ char *pkgname;
+ uid_t param_uid;
+ GVariant *body = NULL;
+
+ g_variant_get(parameters, "(&si)", &pkgname, ¶m_uid);
+
+ ret = _validate_and_set_param_uid_with_uid(uid, ¶m_uid);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ErrPrint("_validate_uid fail ret : %d", ret);
+ return NOTIFICATION_ERROR_IO_ERROR;
+ }
+
+ ret = notification_get_dnd_and_allow_to_notify(pkgname, &dnd, &dnd_except, &allow_to_notify, param_uid);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ ErrPrint("failed to get_dnd_and_allow_to_notify : %d\n", ret);
+ return ret;
+ }
+
+ body = g_variant_new("(iii)", dnd, dnd_except, allow_to_notify);
+ *reply_body = g_variant_new("(v)", body);
+
+ if (*reply_body == NULL) {
+ ErrPrint("cannot make reply_body");
+ return NOTIFICATION_ERROR_OUT_OF_MEMORY;
+ }
+
+ DbgPrint("get notification block state done");
return ret;
}