2 * Network Configuration Module
4 * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
20 #ifndef __NETCONFIG_WIFI_STATE_H__
21 #define __NETCONFIG_WIFI_STATE_H__
30 NETCONFIG_WIFI_UNKNOWN = 0x00,
31 NETCONFIG_WIFI_IDLE = 0x01,
32 NETCONFIG_WIFI_ASSOCIATION = 0x02,
33 NETCONFIG_WIFI_CONFIGURATION = 0x03,
34 NETCONFIG_WIFI_CONNECTED = 0x04,
35 NETCONFIG_WIFI_FAILURE = 0x05,
36 } wifi_service_state_e;
39 NETCONFIG_WIFI_TECH_UNKNOWN = 0x00,
40 NETCONFIG_WIFI_TECH_OFF = 0x01,
41 NETCONFIG_WIFI_TECH_WPS_ONLY = 0x02,
42 NETCONFIG_WIFI_TECH_POWERED = 0x03,
43 NETCONFIG_WIFI_TECH_CONNECTED = 0x04,
44 NETCONFIG_WIFI_TECH_TETHERED = 0x05,
47 typedef struct wifi_state_notifier{
48 struct wifi_state_notifier *notifier;
50 void (*wifi_state_changed)(struct wifi_state_notifier *,
51 char *, wifi_service_state_e, void *);
53 } wifi_state_notifier_s;
60 wifi_tech_state_e tech_state;
61 wifi_service_state_e service_state;
64 char *_convert_wifi_technology_state_to_string(wifi_tech_state_e wifi_tech_state_type);
65 char *_convert_wifi_service_state_to_string(wifi_service_state_e wifi_service_state_type);
67 void wifi_state_update_power_state(const char *interface_name, gboolean powered);
68 void wifi_state_emit_power_completed(const char *interface_name, gboolean power_on);
69 void wifi_state_emit_power_failed(const char *interface_name);
71 char *wifi_get_favorite_service(void);
72 void wifi_start_timer_network_notification(const char *interface_name);
74 void wifi_state_notifier_register(wifi_state_notifier_s *notifier);
75 void wifi_state_notifier_unregister(wifi_state_notifier_s *notifier);
76 void wifi_state_notifier_cleanup(void);
78 void wifi_state_set_bss_found(gboolean found);
79 gboolean wifi_state_is_bss_found(void);
81 gboolean wifi_state_update_device_list(void);
82 GSList *wifi_state_get_device_list(void);
84 void wifi_state_set_service_state(const char *interface_name,
85 const char *service, wifi_service_state_e new_state);
86 wifi_service_state_e wifi_state_get_service_state(const char *interface_name);
88 void wifi_state_set_technology_state(const char *interface_name, wifi_tech_state_e new_state);
89 wifi_tech_state_e wifi_state_get_technology_state(const char *interface_name);
91 void wifi_state_set_powered(const char *interface_name, gboolean powered);
92 gboolean wifi_state_get_powered(const char *interface_name);
94 void wifi_state_set_connected(const char *interface_name, gboolean connected);
95 gboolean wifi_state_get_connected(const char *interface_name);
97 gboolean wifi_state_is_existed(const char *interface_name);
98 const char *wifi_state_get_interface_name(const char *mac_address);
99 const char *wifi_state_get_mac_address(const char *interface_name);
101 void wifi_state_set_connected_essid(void);
102 void wifi_state_get_connected_essid(gchar **essid);
104 void wifi_state_initialize(void);
105 void wifi_state_deinitialize(void);
112 #endif /* __NETCONFIG_WIFI_STATE_H__ */