Fixed ACR issue.
[platform/core/api/zigbee.git] / src / zbl-zcl-alarm.c
1 /*
2  * Copyright (c) 2016 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 #include "zbl.h"
17 #include "zbl-dbus.h"
18 #include "zb-common.h"
19
20 API int zb_zcl_alarm_reset_alarm(zb_zigbee_h handle, zb_nwk_addr addr16, unsigned char ep,
21         unsigned char alarm_code, zb_cluster_id clusterid)
22 {
23         int ret = ZIGBEE_ERROR_NONE;
24         CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
25         RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
26         RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
27         RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
28         RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
29
30         ret = zbl_reset_alarm(addr16, ep, alarm_code, clusterid);
31         return ret;
32 }
33
34 API int zb_zcl_alarm_reset_all_alarm(zb_zigbee_h handle, zb_nwk_addr addr16,
35         unsigned char ep)
36 {
37         int ret = ZIGBEE_ERROR_NONE;
38         CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
39         RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
40         RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
41         RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
42         RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
43
44         ret = zbl_reset_all_alarm(addr16, ep);
45         return ret;
46 }
47
48 API int zb_zcl_alarm_get_alarm(zb_zigbee_h handle, zb_nwk_addr addr16, unsigned char ep,
49         zb_zcl_alarm_get_alarm_cb cb, void *user_data)
50 {
51         int ret = ZIGBEE_ERROR_NONE;
52         CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
53         RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
54         RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
55         RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
56         RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
57
58         ret = zbl_get_alarm(addr16, ep, cb, user_data);
59         return ret;
60 }
61
62 API int zb_zcl_alarm_reset_all_alarm_log(zb_zigbee_h handle, zb_nwk_addr addr16,
63         unsigned char ep)
64 {
65         int ret = ZIGBEE_ERROR_NONE;
66         CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
67         RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
68         RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
69         RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
70         RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
71
72         ret = zbl_reset_all_alarm_log(addr16, ep);
73         return ret;
74 }
75