Add new dbus method to get SoftAP Config options
[platform/core/connectivity/wifi-mesh-manager.git] / include / wmesh-request.h
1 /*
2  * Network Configuration Module
3  *
4  * Copyright (c) 2017 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19 #ifndef __WMESH_REQUEST_H__
20 #define __WMESH_REQUEST_H__
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 /* Newly functions */
27 int wmesh_request_enable_network(wmesh_service *service);
28 int wmesh_request_disable_network(wmesh_service *service);
29 int wmesh_request_scan(wmesh_service *service);
30 int wmesh_request_specific_scan(wmesh_service *service, gchar *mesh_id,
31                 gint channel);
32 int wmesh_request_cancel_scan(wmesh_service *service);
33 int wmesh_request_get_networks(wmesh_service *service);
34 int wmesh_request_get_joined_network(wmesh_service *service);
35 int wmesh_request_get_connected_peers(wmesh_service *service);
36
37 int wmesh_request_create_mesh_network(wmesh_service *service, gchar *mesh_id,
38                 gint channel, wmeshd_security_type_e sec);
39 int wmesh_request_connect_mesh_network(wmesh_service *service, gchar *mesh_id,
40                 gint channel, wmeshd_security_type_e sec, gchar *passphrase);
41 int wmesh_request_disconnect_mesh_network(wmesh_service *service,
42                 gchar *mesh_id, gint channel, wmeshd_security_type_e sec);
43 int wmesh_request_remove_mesh_network(wmesh_service *service,
44                 gchar *mesh_id, gint channel, wmeshd_security_type_e sec);
45
46 int wmesh_request_set_mesh_gate(const char* bridge_interface,
47                 const char* mesh_interface, const char* external_interface);
48 int wmesh_request_unset_mesh_gate(const char* bridge_interface,
49                 const char* mesh_interface, const char* external_interface);
50
51
52 /* Bridge network */
53 int wmesh_request_add_bridge_interface(const char* bridge_interface,
54                 const char* interface);
55 int wmesh_request_remove_bridge_interface(const char* bridge_interface,
56                 const char* interface);
57
58 /* Soft AP */
59 int wmesh_request_set_softap_config(const char* softap_interface,
60                 const char *ssid, const char* mode, int channel, int visibility,
61                 int max_sta, int security, const char* passphrase);
62 int wmesh_request_get_softap_config(char **softap_interface, char **ssid,
63                         char **mode, int *channel, int *visibility,
64                 int *max_sta, int *security, char **passphrase);
65 int wmesh_request_enable_softap(
66                 const char* bridge_interface, const char* softap_interface);
67 int wmesh_request_disable_softap(
68                 const char* bridge_interface, const char* softap_interface);
69
70 /* Mesh Station & path */
71 int wmesh_request_get_station_info(const char* mesh_interface, GList **station_list);
72 int wmesh_request_get_mpath_info(const char* mesh_interface, GList **mpath_list);
73
74 /* Mesh Conf */
75 int wmesh_request_get_meshconf_info(wmesh_service *service);
76
77 int wmesh_request_register_event_handler();
78 int wmesh_request_unregister_event_handler();
79
80 /* Notifications */
81 void wmesh_notify_scan_done();
82 void wmesh_notify_connection_state(const char* mesh_id, const char* bssid,
83                 int channel, wmeshd_security_type_e sec, wmeshd_connection_state_e state);
84 void wmesh_notify_station_joined(const char* bssid);
85 void wmesh_notify_station_left(const char* bssid);
86
87 #ifdef __cplusplus
88 }
89 #endif
90
91 #endif /* __WMESH_REQUEST_H__ */