Fixed build error
[platform/core/api/zigbee.git] / src / zbl-zcl-groups.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_group_add_group(zb_zigbee_h handle, zb_nwk_addr addr16,
21         unsigned char ep, unsigned short group_id, char *group_name,
22         zb_zcl_group_add_group_cb cb, void *user_data)
23 {
24         int ret;
25         CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
26         RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
27         RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
28         RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
29         RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
30         RETV_IF(NULL == group_name, ZIGBEE_ERROR_INVALID_PARAMETER);
31         ret = zbl_add_group(addr16, ep, group_id, group_name, cb, user_data);
32         return ret;
33 }
34
35 API int zb_zcl_group_view_group(zb_zigbee_h handle, zb_nwk_addr addr16,
36         unsigned char ep, unsigned short group_id, zb_zcl_group_view_group_cb cb,
37         void *user_data)
38 {
39         int ret;
40         CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
41         RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
42         RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
43         RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
44         RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
45         ret = zbl_view_group(addr16, ep, group_id, cb, user_data);
46         return ret;
47 }
48
49 API int zb_zcl_group_get_group_membership(zb_zigbee_h handle, zb_nwk_addr addr16,
50         unsigned char ep, unsigned char group_count, unsigned short *group_list,
51         zb_zcl_group_get_group_membership_cb cb, void *user_data)
52 {
53         int ret;
54         CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
55         RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
56         RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
57         RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
58         RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
59         RETV_IF(NULL == group_list, ZIGBEE_ERROR_INVALID_PARAMETER);
60         ret = zbl_group_get_group_membership(addr16, ep, group_count, group_list, cb, user_data);
61         return ret;
62 }
63
64 API int zb_zcl_group_remove_group(zb_zigbee_h handle, zb_nwk_addr addr16,
65         unsigned char ep, unsigned short group_id, zb_zcl_group_remove_group_cb cb,
66         void *user_data)
67 {
68         int ret;
69         CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
70         RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
71         RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
72         RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
73         RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
74         ret = zbl_remove_group(addr16, ep, group_id, cb, user_data);
75         return ret;
76 }
77
78 API int zb_zcl_group_remove_all_group(zb_zigbee_h handle, zb_nwk_addr addr16,
79         unsigned char ep)
80 {
81         int ret;
82         CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
83         RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
84         RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
85         RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
86         RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
87         ret = zbl_remove_all_group(addr16, ep);
88         return ret;
89 }
90
91 API int zb_zcl_group_add_group_if_identifying(zb_zigbee_h handle, zb_nwk_addr addr16,
92         unsigned char ep, unsigned short group_id, const char *group_name)
93 {
94         int ret;
95         CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
96         RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
97         RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
98         RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
99         RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
100         ret = zbl_add_group_if_identifying(addr16, ep, group_id, group_name);
101         return ret;
102 }