Merge "[net-config] Use gdbus wrapper function to send signal." into tizen
[platform/core/connectivity/net-config.git] / include / util.h
1 /*
2  * Network Configuration Module
3  *
4  * Copyright (c) 2000 - 2012 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
20 #ifndef __NETCONFIG_UTIL_H__
21 #define __NETCONFIG_UTIL_H__
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 #include <glib.h>
28
29 #include "wifi.h"
30
31 #define NETCONFIG_ADD_FOUND_AP_NOTI             "add_found_ap_noti"
32 #define NETCONFIG_DEL_FOUND_AP_NOTI             "del_found_ap_noti"
33 #define NETCONFIG_ADD_PORTAL_NOTI               "add_portal_noti"
34 #define NETCONFIG_DEL_PORTAL_NOTI               "del_portal_noti"
35 #define NETCONFIG_TIZEN_SYSTEM_ENV              "/run/tizen-system-env"
36
37 #define MAX_SIZE_ERROR_BUFFER 256
38
39 #if defined TIZEN_WEARABLE
40 typedef enum {
41         WC_POPUP_TYPE_SESSION_OVERLAPPED,
42         WC_POPUP_TYPE_WIFI_CONNECTED,
43         WC_POPUP_TYPE_CAPTIVE_PORTAL,
44         WC_POPUP_TYPE_WIFI_RESTRICT
45 }netconfig_wcpopup_type_e;
46 #endif
47
48 GKeyFile *netconfig_keyfile_load(const char *pathname);
49 void netconfig_keyfile_save(GKeyFile *keyfile, const char *pathname);
50
51 void netconfig_start_timer_seconds(guint secs,
52                 gboolean(*callback) (gpointer), void *user_data, guint *timer_id);
53 void netconfig_start_timer(guint msecs,
54                 gboolean(*callback) (gpointer), void *user_data, guint *timer_id);
55 void netconfig_stop_timer(guint *timer_id);
56
57 void netconfig_wifi_enable_device_picker_test(void);
58 void netconfig_wifi_device_picker_service_start(void);
59 void netconfig_wifi_device_picker_service_stop(void);
60
61 gboolean netconfig_is_wifi_direct_on(void);
62 gboolean netconfig_is_wifi_tethering_on(void);
63
64 gboolean netconfig_interface_up(const char *ifname);
65 gboolean netconfig_interface_down(const char *ifname);
66
67 int netconfig_execute_file(const char *file_path, char *const args[], char *const env[]);
68 int netconfig_execute_clatd(const char *file_path, char *const args[]);
69 int netconfig_add_route_ipv6(gchar *ip_addr, gchar *interface, gchar *gateway, unsigned char prefix_len);
70 int netconfig_del_route_ipv6(gchar *ip_addr, gchar *interface, gchar *gateway, unsigned char prefix_len);
71 int netconfig_add_route_ipv4(gchar *ip_addr, gchar *subnet, gchar *interface, gint address_family);
72 int netconfig_del_route_ipv4(gchar *ip_addr, gchar *subnet, gchar *interface, gint address_family);
73
74 gboolean handle_launch_direct(Wifi *wifi, GDBusMethodInvocation *context);
75 gboolean handle_launch_mdns(Network *object, GDBusMethodInvocation *context);
76 gboolean handle_ref_mdns(Network *object, GDBusMethodInvocation *context);
77 gboolean handle_unref_mdns(Network *object, GDBusMethodInvocation *context);
78
79 gboolean netconfig_send_notification_to_net_popup(const char * noti, const char * data);
80 int netconfig_send_message_to_net_popup(const char *title,
81                 const char *content, const char *type, const char *ssid);
82 int netconfig_send_restriction_to_net_popup(const char *title,
83                 const char *type, const char *restriction);
84 void netconfig_set_system_event(const char * sys_evt, const char * evt_key, const char * evt_val);
85 #if defined TIZEN_WEARABLE
86 int wc_launch_syspopup(netconfig_wcpopup_type_e type);
87 int wc_launch_popup(netconfig_wcpopup_type_e type);
88 #endif
89 void netconfig_set_vconf_int(const char * key, int value);
90 void netconfig_set_vconf_str(const char * key, const char * value);
91 char* netconfig_get_env(const char *key);
92 void netconfig_set_mac_address_from_file(void);
93
94 #ifdef __cplusplus
95 }
96 #endif
97
98 #endif /* __NETCONFIG_UTIL_H__ */