Block background scan while Doze Mode is set
[platform/core/connectivity/net-config.git] / include / wifi-background-scan.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_WIFIBACKGROUND_SCAN_H__
21 #define __NETCONFIG_WIFIBACKGROUND_SCAN_H__
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 #include "wifi.h"
28
29 #if defined TIZEN_WEARABLE
30 #define SCAN_PERIODIC_DELAY             15
31 #define SCAN_EXPONENTIAL_MIN    5
32 #define SCAN_EXPONENTIAL_MAX    320
33 #else
34 #define SCAN_PERIODIC_DELAY             10
35 #define SCAN_EXPONENTIAL_MIN    4
36 #define SCAN_EXPONENTIAL_MAX    128
37 #endif
38
39 enum {
40         WIFI_BGSCAN_MODE_EXPONENTIAL = 0x00,
41         WIFI_BGSCAN_MODE_PERIODIC,
42         WIFI_BGSCAN_MODE_MAX,
43 };
44
45 void netconfig_wifi_bgscan_start(gboolean immediate_scan);
46 void netconfig_wifi_bgscan_stop(void);
47 gboolean netconfig_wifi_get_bgscan_state(void);
48 guint netconfig_wifi_bgscan_get_mode(void);
49
50 gboolean netconfig_wifi_get_scanning(void);
51 void netconfig_wifi_set_scanning(gboolean scanning);
52
53 gboolean netconfig_wifi_block_bgscan(int status);
54 void netconfig_wifi_set_bgscan_pause(gboolean pause);
55 gboolean netconfig_wifi_bgscan_set_interval(guint interval);
56 void netconfig_wifi_bgscan_get_interval(guint *interval);
57 gboolean netconfig_wifi_is_bgscan_paused(void);
58
59 gboolean handle_set_bgscan(Wifi *wifi, GDBusMethodInvocation *context, guint scan_mode);
60 gboolean handle_resume_bgscan(Wifi *wifi, GDBusMethodInvocation *context);
61 gboolean handle_pause_bgscan(Wifi *wifi, GDBusMethodInvocation *context);
62 gboolean handle_reset_bgscan_interval(Wifi *wifi, GDBusMethodInvocation *context);
63
64 gboolean handle_get_autoscan(Wifi *wifi, GDBusMethodInvocation *context);
65 gboolean handle_get_autoscanmode(Wifi *wifi, GDBusMethodInvocation *context);
66
67
68
69
70 #ifdef __cplusplus
71 }
72 #endif
73
74 #endif /* __NETCONFIG_WIFIBACKGROUND_SCAN_H__ */